1. Packages
  2. ArgoCD
  3. API Docs
  4. Project
Argo CD v1.0.1 published on Friday, Feb 21, 2025 by Three141

argocd.Project

Explore with Pulumi AI

Manages projects within ArgoCD.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as argocd from "@three14/pulumi-argocd";

const myproject = new argocd.Project("myproject", {
    metadata: {
        name: "myproject",
        namespace: "argocd",
        labels: {
            acceptance: "true",
        },
        annotations: {
            "this.is.a.really.long.nested.key": "yes, really!",
        },
    },
    spec: {
        description: "simple project",
        sourceNamespaces: ["argocd"],
        sourceRepos: ["*"],
        destinations: [
            {
                server: "https://kubernetes.default.svc",
                namespace: "default",
            },
            {
                server: "https://kubernetes.default.svc",
                namespace: "foo",
            },
            {
                name: "anothercluster",
                namespace: "bar",
            },
        ],
        clusterResourceBlacklists: [{
            group: "*",
            kind: "*",
        }],
        clusterResourceWhitelists: [
            {
                group: "rbac.authorization.k8s.io",
                kind: "ClusterRoleBinding",
            },
            {
                group: "rbac.authorization.k8s.io",
                kind: "ClusterRole",
            },
        ],
        namespaceResourceBlacklists: [{
            group: "networking.k8s.io",
            kind: "Ingress",
        }],
        namespaceResourceWhitelists: [{
            group: "*",
            kind: "*",
        }],
        orphanedResources: {
            warn: true,
            ignores: [
                {
                    group: "apps/v1",
                    kind: "Deployment",
                    name: "ignored1",
                },
                {
                    group: "apps/v1",
                    kind: "Deployment",
                    name: "ignored2",
                },
            ],
        },
        roles: [
            {
                name: "testrole",
                policies: [
                    "p, proj:myproject:testrole, applications, override, myproject/*, allow",
                    "p, proj:myproject:testrole, applications, sync, myproject/*, allow",
                    "p, proj:myproject:testrole, clusters, get, myproject/*, allow",
                    "p, proj:myproject:testrole, repositories, create, myproject/*, allow",
                    "p, proj:myproject:testrole, repositories, delete, myproject/*, allow",
                    "p, proj:myproject:testrole, repositories, update, myproject/*, allow",
                    "p, proj:myproject:testrole, logs, get, myproject/*, allow",
                    "p, proj:myproject:testrole, exec, create, myproject/*, allow",
                ],
            },
            {
                name: "anotherrole",
                policies: [
                    "p, proj:myproject:testrole, applications, get, myproject/*, allow",
                    "p, proj:myproject:testrole, applications, sync, myproject/*, deny",
                ],
            },
        ],
        syncWindows: [
            {
                kind: "allow",
                applications: ["api-*"],
                clusters: ["*"],
                namespaces: ["*"],
                duration: "3600s",
                schedule: "10 1 * * *",
                manualSync: true,
            },
            {
                kind: "deny",
                applications: ["foo"],
                clusters: ["in-cluster"],
                namespaces: ["default"],
                duration: "12h",
                schedule: "22 1 5 * *",
                manualSync: false,
                timezone: "Europe/London",
            },
        ],
        signatureKeys: [
            "4AEE18F83AFDEB23",
            "07E34825A909B250",
        ],
    },
});
Copy
import pulumi
import pulumi_argocd as argocd

myproject = argocd.Project("myproject",
    metadata={
        "name": "myproject",
        "namespace": "argocd",
        "labels": {
            "acceptance": "true",
        },
        "annotations": {
            "this.is.a.really.long.nested.key": "yes, really!",
        },
    },
    spec={
        "description": "simple project",
        "source_namespaces": ["argocd"],
        "source_repos": ["*"],
        "destinations": [
            {
                "server": "https://kubernetes.default.svc",
                "namespace": "default",
            },
            {
                "server": "https://kubernetes.default.svc",
                "namespace": "foo",
            },
            {
                "name": "anothercluster",
                "namespace": "bar",
            },
        ],
        "cluster_resource_blacklists": [{
            "group": "*",
            "kind": "*",
        }],
        "cluster_resource_whitelists": [
            {
                "group": "rbac.authorization.k8s.io",
                "kind": "ClusterRoleBinding",
            },
            {
                "group": "rbac.authorization.k8s.io",
                "kind": "ClusterRole",
            },
        ],
        "namespace_resource_blacklists": [{
            "group": "networking.k8s.io",
            "kind": "Ingress",
        }],
        "namespace_resource_whitelists": [{
            "group": "*",
            "kind": "*",
        }],
        "orphaned_resources": {
            "warn": True,
            "ignores": [
                {
                    "group": "apps/v1",
                    "kind": "Deployment",
                    "name": "ignored1",
                },
                {
                    "group": "apps/v1",
                    "kind": "Deployment",
                    "name": "ignored2",
                },
            ],
        },
        "roles": [
            {
                "name": "testrole",
                "policies": [
                    "p, proj:myproject:testrole, applications, override, myproject/*, allow",
                    "p, proj:myproject:testrole, applications, sync, myproject/*, allow",
                    "p, proj:myproject:testrole, clusters, get, myproject/*, allow",
                    "p, proj:myproject:testrole, repositories, create, myproject/*, allow",
                    "p, proj:myproject:testrole, repositories, delete, myproject/*, allow",
                    "p, proj:myproject:testrole, repositories, update, myproject/*, allow",
                    "p, proj:myproject:testrole, logs, get, myproject/*, allow",
                    "p, proj:myproject:testrole, exec, create, myproject/*, allow",
                ],
            },
            {
                "name": "anotherrole",
                "policies": [
                    "p, proj:myproject:testrole, applications, get, myproject/*, allow",
                    "p, proj:myproject:testrole, applications, sync, myproject/*, deny",
                ],
            },
        ],
        "sync_windows": [
            {
                "kind": "allow",
                "applications": ["api-*"],
                "clusters": ["*"],
                "namespaces": ["*"],
                "duration": "3600s",
                "schedule": "10 1 * * *",
                "manual_sync": True,
            },
            {
                "kind": "deny",
                "applications": ["foo"],
                "clusters": ["in-cluster"],
                "namespaces": ["default"],
                "duration": "12h",
                "schedule": "22 1 5 * *",
                "manual_sync": False,
                "timezone": "Europe/London",
            },
        ],
        "signature_keys": [
            "4AEE18F83AFDEB23",
            "07E34825A909B250",
        ],
    })
Copy
package main

import (
	"github.com/Three141/pulumi-argocd/sdk/go/argocd"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := argocd.NewProject(ctx, "myproject", &argocd.ProjectArgs{
			Metadata: &argocd.ProjectMetadataArgs{
				Name:      pulumi.String("myproject"),
				Namespace: pulumi.String("argocd"),
				Labels: pulumi.StringMap{
					"acceptance": pulumi.String("true"),
				},
				Annotations: pulumi.StringMap{
					"this.is.a.really.long.nested.key": pulumi.String("yes, really!"),
				},
			},
			Spec: &argocd.ProjectSpecArgs{
				Description: pulumi.String("simple project"),
				SourceNamespaces: pulumi.StringArray{
					pulumi.String("argocd"),
				},
				SourceRepos: pulumi.StringArray{
					pulumi.String("*"),
				},
				Destinations: argocd.ProjectSpecDestinationArray{
					&argocd.ProjectSpecDestinationArgs{
						Server:    pulumi.String("https://kubernetes.default.svc"),
						Namespace: pulumi.String("default"),
					},
					&argocd.ProjectSpecDestinationArgs{
						Server:    pulumi.String("https://kubernetes.default.svc"),
						Namespace: pulumi.String("foo"),
					},
					&argocd.ProjectSpecDestinationArgs{
						Name:      pulumi.String("anothercluster"),
						Namespace: pulumi.String("bar"),
					},
				},
				ClusterResourceBlacklists: argocd.ProjectSpecClusterResourceBlacklistArray{
					&argocd.ProjectSpecClusterResourceBlacklistArgs{
						Group: pulumi.String("*"),
						Kind:  pulumi.String("*"),
					},
				},
				ClusterResourceWhitelists: argocd.ProjectSpecClusterResourceWhitelistArray{
					&argocd.ProjectSpecClusterResourceWhitelistArgs{
						Group: pulumi.String("rbac.authorization.k8s.io"),
						Kind:  pulumi.String("ClusterRoleBinding"),
					},
					&argocd.ProjectSpecClusterResourceWhitelistArgs{
						Group: pulumi.String("rbac.authorization.k8s.io"),
						Kind:  pulumi.String("ClusterRole"),
					},
				},
				NamespaceResourceBlacklists: argocd.ProjectSpecNamespaceResourceBlacklistArray{
					&argocd.ProjectSpecNamespaceResourceBlacklistArgs{
						Group: pulumi.String("networking.k8s.io"),
						Kind:  pulumi.String("Ingress"),
					},
				},
				NamespaceResourceWhitelists: argocd.ProjectSpecNamespaceResourceWhitelistArray{
					&argocd.ProjectSpecNamespaceResourceWhitelistArgs{
						Group: pulumi.String("*"),
						Kind:  pulumi.String("*"),
					},
				},
				OrphanedResources: &argocd.ProjectSpecOrphanedResourcesArgs{
					Warn: pulumi.Bool(true),
					Ignores: argocd.ProjectSpecOrphanedResourcesIgnoreArray{
						&argocd.ProjectSpecOrphanedResourcesIgnoreArgs{
							Group: pulumi.String("apps/v1"),
							Kind:  pulumi.String("Deployment"),
							Name:  pulumi.String("ignored1"),
						},
						&argocd.ProjectSpecOrphanedResourcesIgnoreArgs{
							Group: pulumi.String("apps/v1"),
							Kind:  pulumi.String("Deployment"),
							Name:  pulumi.String("ignored2"),
						},
					},
				},
				Roles: argocd.ProjectSpecRoleArray{
					&argocd.ProjectSpecRoleArgs{
						Name: pulumi.String("testrole"),
						Policies: pulumi.StringArray{
							pulumi.String("p, proj:myproject:testrole, applications, override, myproject/*, allow"),
							pulumi.String("p, proj:myproject:testrole, applications, sync, myproject/*, allow"),
							pulumi.String("p, proj:myproject:testrole, clusters, get, myproject/*, allow"),
							pulumi.String("p, proj:myproject:testrole, repositories, create, myproject/*, allow"),
							pulumi.String("p, proj:myproject:testrole, repositories, delete, myproject/*, allow"),
							pulumi.String("p, proj:myproject:testrole, repositories, update, myproject/*, allow"),
							pulumi.String("p, proj:myproject:testrole, logs, get, myproject/*, allow"),
							pulumi.String("p, proj:myproject:testrole, exec, create, myproject/*, allow"),
						},
					},
					&argocd.ProjectSpecRoleArgs{
						Name: pulumi.String("anotherrole"),
						Policies: pulumi.StringArray{
							pulumi.String("p, proj:myproject:testrole, applications, get, myproject/*, allow"),
							pulumi.String("p, proj:myproject:testrole, applications, sync, myproject/*, deny"),
						},
					},
				},
				SyncWindows: argocd.ProjectSpecSyncWindowArray{
					&argocd.ProjectSpecSyncWindowArgs{
						Kind: pulumi.String("allow"),
						Applications: pulumi.StringArray{
							pulumi.String("api-*"),
						},
						Clusters: pulumi.StringArray{
							pulumi.String("*"),
						},
						Namespaces: pulumi.StringArray{
							pulumi.String("*"),
						},
						Duration:   pulumi.String("3600s"),
						Schedule:   pulumi.String("10 1 * * *"),
						ManualSync: pulumi.Bool(true),
					},
					&argocd.ProjectSpecSyncWindowArgs{
						Kind: pulumi.String("deny"),
						Applications: pulumi.StringArray{
							pulumi.String("foo"),
						},
						Clusters: pulumi.StringArray{
							pulumi.String("in-cluster"),
						},
						Namespaces: pulumi.StringArray{
							pulumi.String("default"),
						},
						Duration:   pulumi.String("12h"),
						Schedule:   pulumi.String("22 1 5 * *"),
						ManualSync: pulumi.Bool(false),
						Timezone:   pulumi.String("Europe/London"),
					},
				},
				SignatureKeys: pulumi.StringArray{
					pulumi.String("4AEE18F83AFDEB23"),
					pulumi.String("07E34825A909B250"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}
Copy
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Argocd = Three14.Argocd;

return await Deployment.RunAsync(() => 
{
    var myproject = new Argocd.Project("myproject", new()
    {
        Metadata = new Argocd.Inputs.ProjectMetadataArgs
        {
            Name = "myproject",
            Namespace = "argocd",
            Labels = 
            {
                { "acceptance", "true" },
            },
            Annotations = 
            {
                { "this.is.a.really.long.nested.key", "yes, really!" },
            },
        },
        Spec = new Argocd.Inputs.ProjectSpecArgs
        {
            Description = "simple project",
            SourceNamespaces = new[]
            {
                "argocd",
            },
            SourceRepos = new[]
            {
                "*",
            },
            Destinations = new[]
            {
                new Argocd.Inputs.ProjectSpecDestinationArgs
                {
                    Server = "https://kubernetes.default.svc",
                    Namespace = "default",
                },
                new Argocd.Inputs.ProjectSpecDestinationArgs
                {
                    Server = "https://kubernetes.default.svc",
                    Namespace = "foo",
                },
                new Argocd.Inputs.ProjectSpecDestinationArgs
                {
                    Name = "anothercluster",
                    Namespace = "bar",
                },
            },
            ClusterResourceBlacklists = new[]
            {
                new Argocd.Inputs.ProjectSpecClusterResourceBlacklistArgs
                {
                    Group = "*",
                    Kind = "*",
                },
            },
            ClusterResourceWhitelists = new[]
            {
                new Argocd.Inputs.ProjectSpecClusterResourceWhitelistArgs
                {
                    Group = "rbac.authorization.k8s.io",
                    Kind = "ClusterRoleBinding",
                },
                new Argocd.Inputs.ProjectSpecClusterResourceWhitelistArgs
                {
                    Group = "rbac.authorization.k8s.io",
                    Kind = "ClusterRole",
                },
            },
            NamespaceResourceBlacklists = new[]
            {
                new Argocd.Inputs.ProjectSpecNamespaceResourceBlacklistArgs
                {
                    Group = "networking.k8s.io",
                    Kind = "Ingress",
                },
            },
            NamespaceResourceWhitelists = new[]
            {
                new Argocd.Inputs.ProjectSpecNamespaceResourceWhitelistArgs
                {
                    Group = "*",
                    Kind = "*",
                },
            },
            OrphanedResources = new Argocd.Inputs.ProjectSpecOrphanedResourcesArgs
            {
                Warn = true,
                Ignores = new[]
                {
                    new Argocd.Inputs.ProjectSpecOrphanedResourcesIgnoreArgs
                    {
                        Group = "apps/v1",
                        Kind = "Deployment",
                        Name = "ignored1",
                    },
                    new Argocd.Inputs.ProjectSpecOrphanedResourcesIgnoreArgs
                    {
                        Group = "apps/v1",
                        Kind = "Deployment",
                        Name = "ignored2",
                    },
                },
            },
            Roles = new[]
            {
                new Argocd.Inputs.ProjectSpecRoleArgs
                {
                    Name = "testrole",
                    Policies = new[]
                    {
                        "p, proj:myproject:testrole, applications, override, myproject/*, allow",
                        "p, proj:myproject:testrole, applications, sync, myproject/*, allow",
                        "p, proj:myproject:testrole, clusters, get, myproject/*, allow",
                        "p, proj:myproject:testrole, repositories, create, myproject/*, allow",
                        "p, proj:myproject:testrole, repositories, delete, myproject/*, allow",
                        "p, proj:myproject:testrole, repositories, update, myproject/*, allow",
                        "p, proj:myproject:testrole, logs, get, myproject/*, allow",
                        "p, proj:myproject:testrole, exec, create, myproject/*, allow",
                    },
                },
                new Argocd.Inputs.ProjectSpecRoleArgs
                {
                    Name = "anotherrole",
                    Policies = new[]
                    {
                        "p, proj:myproject:testrole, applications, get, myproject/*, allow",
                        "p, proj:myproject:testrole, applications, sync, myproject/*, deny",
                    },
                },
            },
            SyncWindows = new[]
            {
                new Argocd.Inputs.ProjectSpecSyncWindowArgs
                {
                    Kind = "allow",
                    Applications = new[]
                    {
                        "api-*",
                    },
                    Clusters = new[]
                    {
                        "*",
                    },
                    Namespaces = new[]
                    {
                        "*",
                    },
                    Duration = "3600s",
                    Schedule = "10 1 * * *",
                    ManualSync = true,
                },
                new Argocd.Inputs.ProjectSpecSyncWindowArgs
                {
                    Kind = "deny",
                    Applications = new[]
                    {
                        "foo",
                    },
                    Clusters = new[]
                    {
                        "in-cluster",
                    },
                    Namespaces = new[]
                    {
                        "default",
                    },
                    Duration = "12h",
                    Schedule = "22 1 5 * *",
                    ManualSync = false,
                    Timezone = "Europe/London",
                },
            },
            SignatureKeys = new[]
            {
                "4AEE18F83AFDEB23",
                "07E34825A909B250",
            },
        },
    });

});
Copy
package generated_program;

import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.argocd.Project;
import com.pulumi.argocd.ProjectArgs;
import com.pulumi.argocd.inputs.ProjectMetadataArgs;
import com.pulumi.argocd.inputs.ProjectSpecArgs;
import com.pulumi.argocd.inputs.ProjectSpecOrphanedResourcesArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) {
        Pulumi.run(App::stack);
    }

    public static void stack(Context ctx) {
        var myproject = new Project("myproject", ProjectArgs.builder()
            .metadata(ProjectMetadataArgs.builder()
                .name("myproject")
                .namespace("argocd")
                .labels(Map.of("acceptance", "true"))
                .annotations(Map.of("this.is.a.really.long.nested.key", "yes, really!"))
                .build())
            .spec(ProjectSpecArgs.builder()
                .description("simple project")
                .sourceNamespaces("argocd")
                .sourceRepos("*")
                .destinations(                
                    ProjectSpecDestinationArgs.builder()
                        .server("https://kubernetes.default.svc")
                        .namespace("default")
                        .build(),
                    ProjectSpecDestinationArgs.builder()
                        .server("https://kubernetes.default.svc")
                        .namespace("foo")
                        .build(),
                    ProjectSpecDestinationArgs.builder()
                        .name("anothercluster")
                        .namespace("bar")
                        .build())
                .clusterResourceBlacklists(ProjectSpecClusterResourceBlacklistArgs.builder()
                    .group("*")
                    .kind("*")
                    .build())
                .clusterResourceWhitelists(                
                    ProjectSpecClusterResourceWhitelistArgs.builder()
                        .group("rbac.authorization.k8s.io")
                        .kind("ClusterRoleBinding")
                        .build(),
                    ProjectSpecClusterResourceWhitelistArgs.builder()
                        .group("rbac.authorization.k8s.io")
                        .kind("ClusterRole")
                        .build())
                .namespaceResourceBlacklists(ProjectSpecNamespaceResourceBlacklistArgs.builder()
                    .group("networking.k8s.io")
                    .kind("Ingress")
                    .build())
                .namespaceResourceWhitelists(ProjectSpecNamespaceResourceWhitelistArgs.builder()
                    .group("*")
                    .kind("*")
                    .build())
                .orphanedResources(ProjectSpecOrphanedResourcesArgs.builder()
                    .warn(true)
                    .ignores(                    
                        ProjectSpecOrphanedResourcesIgnoreArgs.builder()
                            .group("apps/v1")
                            .kind("Deployment")
                            .name("ignored1")
                            .build(),
                        ProjectSpecOrphanedResourcesIgnoreArgs.builder()
                            .group("apps/v1")
                            .kind("Deployment")
                            .name("ignored2")
                            .build())
                    .build())
                .roles(                
                    ProjectSpecRoleArgs.builder()
                        .name("testrole")
                        .policies(                        
                            "p, proj:myproject:testrole, applications, override, myproject/*, allow",
                            "p, proj:myproject:testrole, applications, sync, myproject/*, allow",
                            "p, proj:myproject:testrole, clusters, get, myproject/*, allow",
                            "p, proj:myproject:testrole, repositories, create, myproject/*, allow",
                            "p, proj:myproject:testrole, repositories, delete, myproject/*, allow",
                            "p, proj:myproject:testrole, repositories, update, myproject/*, allow",
                            "p, proj:myproject:testrole, logs, get, myproject/*, allow",
                            "p, proj:myproject:testrole, exec, create, myproject/*, allow")
                        .build(),
                    ProjectSpecRoleArgs.builder()
                        .name("anotherrole")
                        .policies(                        
                            "p, proj:myproject:testrole, applications, get, myproject/*, allow",
                            "p, proj:myproject:testrole, applications, sync, myproject/*, deny")
                        .build())
                .syncWindows(                
                    ProjectSpecSyncWindowArgs.builder()
                        .kind("allow")
                        .applications("api-*")
                        .clusters("*")
                        .namespaces("*")
                        .duration("3600s")
                        .schedule("10 1 * * *")
                        .manualSync(true)
                        .build(),
                    ProjectSpecSyncWindowArgs.builder()
                        .kind("deny")
                        .applications("foo")
                        .clusters("in-cluster")
                        .namespaces("default")
                        .duration("12h")
                        .schedule("22 1 5 * *")
                        .manualSync(false)
                        .timezone("Europe/London")
                        .build())
                .signatureKeys(                
                    "4AEE18F83AFDEB23",
                    "07E34825A909B250")
                .build())
            .build());

    }
}
Copy
resources:
  myproject:
    type: argocd:Project
    properties:
      metadata:
        name: myproject
        namespace: argocd
        labels:
          acceptance: 'true'
        annotations:
          this.is.a.really.long.nested.key: yes, really!
      spec:
        description: simple project
        sourceNamespaces:
          - argocd
        sourceRepos:
          - '*'
        destinations:
          - server: https://kubernetes.default.svc
            namespace: default
          - server: https://kubernetes.default.svc
            namespace: foo
          - name: anothercluster
            namespace: bar
        clusterResourceBlacklists:
          - group: '*'
            kind: '*'
        clusterResourceWhitelists:
          - group: rbac.authorization.k8s.io
            kind: ClusterRoleBinding
          - group: rbac.authorization.k8s.io
            kind: ClusterRole
        namespaceResourceBlacklists:
          - group: networking.k8s.io
            kind: Ingress
        namespaceResourceWhitelists:
          - group: '*'
            kind: '*'
        orphanedResources:
          warn: true
          ignores:
            - group: apps/v1
              kind: Deployment
              name: ignored1
            - group: apps/v1
              kind: Deployment
              name: ignored2
        roles:
          - name: testrole
            policies:
              - p, proj:myproject:testrole, applications, override, myproject/*, allow
              - p, proj:myproject:testrole, applications, sync, myproject/*, allow
              - p, proj:myproject:testrole, clusters, get, myproject/*, allow
              - p, proj:myproject:testrole, repositories, create, myproject/*, allow
              - p, proj:myproject:testrole, repositories, delete, myproject/*, allow
              - p, proj:myproject:testrole, repositories, update, myproject/*, allow
              - p, proj:myproject:testrole, logs, get, myproject/*, allow
              - p, proj:myproject:testrole, exec, create, myproject/*, allow
          - name: anotherrole
            policies:
              - p, proj:myproject:testrole, applications, get, myproject/*, allow
              - p, proj:myproject:testrole, applications, sync, myproject/*, deny
        syncWindows:
          - kind: allow
            applications:
              - api-*
            clusters:
              - '*'
            namespaces:
              - '*'
            duration: 3600s
            schedule: 10 1 * * *
            manualSync: true
          - kind: deny
            applications:
              - foo
            clusters:
              - in-cluster
            namespaces:
              - default
            duration: 12h
            schedule: 22 1 5 * *
            manualSync: false
            timezone: Europe/London
        signatureKeys:
          - 4AEE18F83AFDEB23
          - 07E34825A909B250
Copy

Create Project Resource

Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

Constructor syntax

new Project(name: string, args: ProjectArgs, opts?: CustomResourceOptions);
@overload
def Project(resource_name: str,
            args: ProjectArgs,
            opts: Optional[ResourceOptions] = None)

@overload
def Project(resource_name: str,
            opts: Optional[ResourceOptions] = None,
            metadata: Optional[ProjectMetadataArgs] = None,
            spec: Optional[ProjectSpecArgs] = None)
func NewProject(ctx *Context, name string, args ProjectArgs, opts ...ResourceOption) (*Project, error)
public Project(string name, ProjectArgs args, CustomResourceOptions? opts = null)
public Project(String name, ProjectArgs args)
public Project(String name, ProjectArgs args, CustomResourceOptions options)
type: argocd:Project
properties: # The arguments to resource properties.
options: # Bag of options to control resource's behavior.

Parameters

name This property is required. string
The unique name of the resource.
args This property is required. ProjectArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name This property is required. str
The unique name of the resource.
args This property is required. ProjectArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name This property is required. string
The unique name of the resource.
args This property is required. ProjectArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name This property is required. string
The unique name of the resource.
args This property is required. ProjectArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
name This property is required. String
The unique name of the resource.
args This property is required. ProjectArgs
The arguments to resource properties.
options CustomResourceOptions
Bag of options to control resource's behavior.

Constructor example

The following reference example uses placeholder values for all input properties.

var projectResource = new Argocd.Project("projectResource", new()
{
    Metadata = new Argocd.Inputs.ProjectMetadataArgs
    {
        Annotations = 
        {
            { "string", "string" },
        },
        Generation = 0,
        Labels = 
        {
            { "string", "string" },
        },
        Name = "string",
        Namespace = "string",
        ResourceVersion = "string",
        Uid = "string",
    },
    Spec = new Argocd.Inputs.ProjectSpecArgs
    {
        Destinations = new[]
        {
            new Argocd.Inputs.ProjectSpecDestinationArgs
            {
                Namespace = "string",
                Name = "string",
                Server = "string",
            },
        },
        SourceRepos = new[]
        {
            "string",
        },
        ClusterResourceBlacklists = new[]
        {
            new Argocd.Inputs.ProjectSpecClusterResourceBlacklistArgs
            {
                Group = "string",
                Kind = "string",
            },
        },
        ClusterResourceWhitelists = new[]
        {
            new Argocd.Inputs.ProjectSpecClusterResourceWhitelistArgs
            {
                Group = "string",
                Kind = "string",
            },
        },
        Description = "string",
        NamespaceResourceBlacklists = new[]
        {
            new Argocd.Inputs.ProjectSpecNamespaceResourceBlacklistArgs
            {
                Group = "string",
                Kind = "string",
            },
        },
        NamespaceResourceWhitelists = new[]
        {
            new Argocd.Inputs.ProjectSpecNamespaceResourceWhitelistArgs
            {
                Group = "string",
                Kind = "string",
            },
        },
        OrphanedResources = new Argocd.Inputs.ProjectSpecOrphanedResourcesArgs
        {
            Ignores = new[]
            {
                new Argocd.Inputs.ProjectSpecOrphanedResourcesIgnoreArgs
                {
                    Group = "string",
                    Kind = "string",
                    Name = "string",
                },
            },
            Warn = false,
        },
        Roles = new[]
        {
            new Argocd.Inputs.ProjectSpecRoleArgs
            {
                Name = "string",
                Policies = new[]
                {
                    "string",
                },
                Description = "string",
                Groups = new[]
                {
                    "string",
                },
            },
        },
        SignatureKeys = new[]
        {
            "string",
        },
        SourceNamespaces = new[]
        {
            "string",
        },
        SyncWindows = new[]
        {
            new Argocd.Inputs.ProjectSpecSyncWindowArgs
            {
                Applications = new[]
                {
                    "string",
                },
                Clusters = new[]
                {
                    "string",
                },
                Duration = "string",
                Kind = "string",
                ManualSync = false,
                Namespaces = new[]
                {
                    "string",
                },
                Schedule = "string",
                Timezone = "string",
            },
        },
    },
});
Copy
example, err := argocd.NewProject(ctx, "projectResource", &argocd.ProjectArgs{
	Metadata: &argocd.ProjectMetadataArgs{
		Annotations: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		Generation: pulumi.Int(0),
		Labels: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		Name:            pulumi.String("string"),
		Namespace:       pulumi.String("string"),
		ResourceVersion: pulumi.String("string"),
		Uid:             pulumi.String("string"),
	},
	Spec: &argocd.ProjectSpecArgs{
		Destinations: argocd.ProjectSpecDestinationArray{
			&argocd.ProjectSpecDestinationArgs{
				Namespace: pulumi.String("string"),
				Name:      pulumi.String("string"),
				Server:    pulumi.String("string"),
			},
		},
		SourceRepos: pulumi.StringArray{
			pulumi.String("string"),
		},
		ClusterResourceBlacklists: argocd.ProjectSpecClusterResourceBlacklistArray{
			&argocd.ProjectSpecClusterResourceBlacklistArgs{
				Group: pulumi.String("string"),
				Kind:  pulumi.String("string"),
			},
		},
		ClusterResourceWhitelists: argocd.ProjectSpecClusterResourceWhitelistArray{
			&argocd.ProjectSpecClusterResourceWhitelistArgs{
				Group: pulumi.String("string"),
				Kind:  pulumi.String("string"),
			},
		},
		Description: pulumi.String("string"),
		NamespaceResourceBlacklists: argocd.ProjectSpecNamespaceResourceBlacklistArray{
			&argocd.ProjectSpecNamespaceResourceBlacklistArgs{
				Group: pulumi.String("string"),
				Kind:  pulumi.String("string"),
			},
		},
		NamespaceResourceWhitelists: argocd.ProjectSpecNamespaceResourceWhitelistArray{
			&argocd.ProjectSpecNamespaceResourceWhitelistArgs{
				Group: pulumi.String("string"),
				Kind:  pulumi.String("string"),
			},
		},
		OrphanedResources: &argocd.ProjectSpecOrphanedResourcesArgs{
			Ignores: argocd.ProjectSpecOrphanedResourcesIgnoreArray{
				&argocd.ProjectSpecOrphanedResourcesIgnoreArgs{
					Group: pulumi.String("string"),
					Kind:  pulumi.String("string"),
					Name:  pulumi.String("string"),
				},
			},
			Warn: pulumi.Bool(false),
		},
		Roles: argocd.ProjectSpecRoleArray{
			&argocd.ProjectSpecRoleArgs{
				Name: pulumi.String("string"),
				Policies: pulumi.StringArray{
					pulumi.String("string"),
				},
				Description: pulumi.String("string"),
				Groups: pulumi.StringArray{
					pulumi.String("string"),
				},
			},
		},
		SignatureKeys: pulumi.StringArray{
			pulumi.String("string"),
		},
		SourceNamespaces: pulumi.StringArray{
			pulumi.String("string"),
		},
		SyncWindows: argocd.ProjectSpecSyncWindowArray{
			&argocd.ProjectSpecSyncWindowArgs{
				Applications: pulumi.StringArray{
					pulumi.String("string"),
				},
				Clusters: pulumi.StringArray{
					pulumi.String("string"),
				},
				Duration:   pulumi.String("string"),
				Kind:       pulumi.String("string"),
				ManualSync: pulumi.Bool(false),
				Namespaces: pulumi.StringArray{
					pulumi.String("string"),
				},
				Schedule: pulumi.String("string"),
				Timezone: pulumi.String("string"),
			},
		},
	},
})
Copy
var projectResource = new Project("projectResource", ProjectArgs.builder()
    .metadata(ProjectMetadataArgs.builder()
        .annotations(Map.of("string", "string"))
        .generation(0)
        .labels(Map.of("string", "string"))
        .name("string")
        .namespace("string")
        .resourceVersion("string")
        .uid("string")
        .build())
    .spec(ProjectSpecArgs.builder()
        .destinations(ProjectSpecDestinationArgs.builder()
            .namespace("string")
            .name("string")
            .server("string")
            .build())
        .sourceRepos("string")
        .clusterResourceBlacklists(ProjectSpecClusterResourceBlacklistArgs.builder()
            .group("string")
            .kind("string")
            .build())
        .clusterResourceWhitelists(ProjectSpecClusterResourceWhitelistArgs.builder()
            .group("string")
            .kind("string")
            .build())
        .description("string")
        .namespaceResourceBlacklists(ProjectSpecNamespaceResourceBlacklistArgs.builder()
            .group("string")
            .kind("string")
            .build())
        .namespaceResourceWhitelists(ProjectSpecNamespaceResourceWhitelistArgs.builder()
            .group("string")
            .kind("string")
            .build())
        .orphanedResources(ProjectSpecOrphanedResourcesArgs.builder()
            .ignores(ProjectSpecOrphanedResourcesIgnoreArgs.builder()
                .group("string")
                .kind("string")
                .name("string")
                .build())
            .warn(false)
            .build())
        .roles(ProjectSpecRoleArgs.builder()
            .name("string")
            .policies("string")
            .description("string")
            .groups("string")
            .build())
        .signatureKeys("string")
        .sourceNamespaces("string")
        .syncWindows(ProjectSpecSyncWindowArgs.builder()
            .applications("string")
            .clusters("string")
            .duration("string")
            .kind("string")
            .manualSync(false)
            .namespaces("string")
            .schedule("string")
            .timezone("string")
            .build())
        .build())
    .build());
Copy
project_resource = argocd.Project("projectResource",
    metadata={
        "annotations": {
            "string": "string",
        },
        "generation": 0,
        "labels": {
            "string": "string",
        },
        "name": "string",
        "namespace": "string",
        "resource_version": "string",
        "uid": "string",
    },
    spec={
        "destinations": [{
            "namespace": "string",
            "name": "string",
            "server": "string",
        }],
        "source_repos": ["string"],
        "cluster_resource_blacklists": [{
            "group": "string",
            "kind": "string",
        }],
        "cluster_resource_whitelists": [{
            "group": "string",
            "kind": "string",
        }],
        "description": "string",
        "namespace_resource_blacklists": [{
            "group": "string",
            "kind": "string",
        }],
        "namespace_resource_whitelists": [{
            "group": "string",
            "kind": "string",
        }],
        "orphaned_resources": {
            "ignores": [{
                "group": "string",
                "kind": "string",
                "name": "string",
            }],
            "warn": False,
        },
        "roles": [{
            "name": "string",
            "policies": ["string"],
            "description": "string",
            "groups": ["string"],
        }],
        "signature_keys": ["string"],
        "source_namespaces": ["string"],
        "sync_windows": [{
            "applications": ["string"],
            "clusters": ["string"],
            "duration": "string",
            "kind": "string",
            "manual_sync": False,
            "namespaces": ["string"],
            "schedule": "string",
            "timezone": "string",
        }],
    })
Copy
const projectResource = new argocd.Project("projectResource", {
    metadata: {
        annotations: {
            string: "string",
        },
        generation: 0,
        labels: {
            string: "string",
        },
        name: "string",
        namespace: "string",
        resourceVersion: "string",
        uid: "string",
    },
    spec: {
        destinations: [{
            namespace: "string",
            name: "string",
            server: "string",
        }],
        sourceRepos: ["string"],
        clusterResourceBlacklists: [{
            group: "string",
            kind: "string",
        }],
        clusterResourceWhitelists: [{
            group: "string",
            kind: "string",
        }],
        description: "string",
        namespaceResourceBlacklists: [{
            group: "string",
            kind: "string",
        }],
        namespaceResourceWhitelists: [{
            group: "string",
            kind: "string",
        }],
        orphanedResources: {
            ignores: [{
                group: "string",
                kind: "string",
                name: "string",
            }],
            warn: false,
        },
        roles: [{
            name: "string",
            policies: ["string"],
            description: "string",
            groups: ["string"],
        }],
        signatureKeys: ["string"],
        sourceNamespaces: ["string"],
        syncWindows: [{
            applications: ["string"],
            clusters: ["string"],
            duration: "string",
            kind: "string",
            manualSync: false,
            namespaces: ["string"],
            schedule: "string",
            timezone: "string",
        }],
    },
});
Copy
type: argocd:Project
properties:
    metadata:
        annotations:
            string: string
        generation: 0
        labels:
            string: string
        name: string
        namespace: string
        resourceVersion: string
        uid: string
    spec:
        clusterResourceBlacklists:
            - group: string
              kind: string
        clusterResourceWhitelists:
            - group: string
              kind: string
        description: string
        destinations:
            - name: string
              namespace: string
              server: string
        namespaceResourceBlacklists:
            - group: string
              kind: string
        namespaceResourceWhitelists:
            - group: string
              kind: string
        orphanedResources:
            ignores:
                - group: string
                  kind: string
                  name: string
            warn: false
        roles:
            - description: string
              groups:
                - string
              name: string
              policies:
                - string
        signatureKeys:
            - string
        sourceNamespaces:
            - string
        sourceRepos:
            - string
        syncWindows:
            - applications:
                - string
              clusters:
                - string
              duration: string
              kind: string
              manualSync: false
              namespaces:
                - string
              schedule: string
              timezone: string
Copy

Project Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

Inputs

In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

The Project resource accepts the following input properties:

Metadata This property is required. Three14.Argocd.Inputs.ProjectMetadata
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
Spec This property is required. Three14.Argocd.Inputs.ProjectSpec
ArgoCD AppProject spec.
Metadata This property is required. ProjectMetadataArgs
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
Spec This property is required. ProjectSpecArgs
ArgoCD AppProject spec.
metadata This property is required. ProjectMetadata
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
spec This property is required. ProjectSpec
ArgoCD AppProject spec.
metadata This property is required. ProjectMetadata
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
spec This property is required. ProjectSpec
ArgoCD AppProject spec.
metadata This property is required. ProjectMetadataArgs
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
spec This property is required. ProjectSpecArgs
ArgoCD AppProject spec.
metadata This property is required. Property Map
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
spec This property is required. Property Map
ArgoCD AppProject spec.

Outputs

All input properties are implicitly available as output properties. Additionally, the Project resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
Id string
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.
id string
The provider-assigned unique ID for this managed resource.
id str
The provider-assigned unique ID for this managed resource.
id String
The provider-assigned unique ID for this managed resource.

Look up Existing Project Resource

Get an existing Project resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: ProjectState, opts?: CustomResourceOptions): Project
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        metadata: Optional[ProjectMetadataArgs] = None,
        spec: Optional[ProjectSpecArgs] = None) -> Project
func GetProject(ctx *Context, name string, id IDInput, state *ProjectState, opts ...ResourceOption) (*Project, error)
public static Project Get(string name, Input<string> id, ProjectState? state, CustomResourceOptions? opts = null)
public static Project get(String name, Output<String> id, ProjectState state, CustomResourceOptions options)
resources:  _:    type: argocd:Project    get:      id: ${id}
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name This property is required.
The unique name of the resulting resource.
id This property is required.
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
The following state arguments are supported:
Metadata Three14.Argocd.Inputs.ProjectMetadata
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
Spec Three14.Argocd.Inputs.ProjectSpec
ArgoCD AppProject spec.
Metadata ProjectMetadataArgs
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
Spec ProjectSpecArgs
ArgoCD AppProject spec.
metadata ProjectMetadata
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
spec ProjectSpec
ArgoCD AppProject spec.
metadata ProjectMetadata
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
spec ProjectSpec
ArgoCD AppProject spec.
metadata ProjectMetadataArgs
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
spec ProjectSpecArgs
ArgoCD AppProject spec.
metadata Property Map
Standard Kubernetes object metadata. For more info see the Kubernetes reference.
spec Property Map
ArgoCD AppProject spec.

Supporting Types

ProjectMetadata
, ProjectMetadataArgs

Annotations Dictionary<string, string>
An unstructured key value map stored with the appprojects.argoproj.io that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
Generation int
A sequence number representing a specific generation of the desired state.
Labels Dictionary<string, string>
Map of string keys and values that can be used to organize and categorize (scope and select) the appprojects.argoproj.io. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
Name Changes to this property will trigger replacement. string
Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
Namespace Changes to this property will trigger replacement. string
Namespace of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
ResourceVersion string
An opaque value that represents the internal version of this appprojects.argoproj.io that can be used by clients to determine when appprojects.argoproj.io has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
Uid string
The unique in time and space value for this appprojects.argoproj.io. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
Annotations map[string]string
An unstructured key value map stored with the appprojects.argoproj.io that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
Generation int
A sequence number representing a specific generation of the desired state.
Labels map[string]string
Map of string keys and values that can be used to organize and categorize (scope and select) the appprojects.argoproj.io. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
Name Changes to this property will trigger replacement. string
Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
Namespace Changes to this property will trigger replacement. string
Namespace of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
ResourceVersion string
An opaque value that represents the internal version of this appprojects.argoproj.io that can be used by clients to determine when appprojects.argoproj.io has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
Uid string
The unique in time and space value for this appprojects.argoproj.io. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
annotations Map<String,String>
An unstructured key value map stored with the appprojects.argoproj.io that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
generation Integer
A sequence number representing a specific generation of the desired state.
labels Map<String,String>
Map of string keys and values that can be used to organize and categorize (scope and select) the appprojects.argoproj.io. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
name Changes to this property will trigger replacement. String
Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
namespace Changes to this property will trigger replacement. String
Namespace of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
resourceVersion String
An opaque value that represents the internal version of this appprojects.argoproj.io that can be used by clients to determine when appprojects.argoproj.io has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
uid String
The unique in time and space value for this appprojects.argoproj.io. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
annotations {[key: string]: string}
An unstructured key value map stored with the appprojects.argoproj.io that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
generation number
A sequence number representing a specific generation of the desired state.
labels {[key: string]: string}
Map of string keys and values that can be used to organize and categorize (scope and select) the appprojects.argoproj.io. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
name Changes to this property will trigger replacement. string
Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
namespace Changes to this property will trigger replacement. string
Namespace of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
resourceVersion string
An opaque value that represents the internal version of this appprojects.argoproj.io that can be used by clients to determine when appprojects.argoproj.io has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
uid string
The unique in time and space value for this appprojects.argoproj.io. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
annotations Mapping[str, str]
An unstructured key value map stored with the appprojects.argoproj.io that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
generation int
A sequence number representing a specific generation of the desired state.
labels Mapping[str, str]
Map of string keys and values that can be used to organize and categorize (scope and select) the appprojects.argoproj.io. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
name Changes to this property will trigger replacement. str
Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
namespace Changes to this property will trigger replacement. str
Namespace of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
resource_version str
An opaque value that represents the internal version of this appprojects.argoproj.io that can be used by clients to determine when appprojects.argoproj.io has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
uid str
The unique in time and space value for this appprojects.argoproj.io. More info: http://kubernetes.io/docs/user-guide/identifiers#uids
annotations Map<String>
An unstructured key value map stored with the appprojects.argoproj.io that may be used to store arbitrary metadata. More info: http://kubernetes.io/docs/user-guide/annotations
generation Number
A sequence number representing a specific generation of the desired state.
labels Map<String>
Map of string keys and values that can be used to organize and categorize (scope and select) the appprojects.argoproj.io. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels
name Changes to this property will trigger replacement. String
Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
namespace Changes to this property will trigger replacement. String
Namespace of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
resourceVersion String
An opaque value that represents the internal version of this appprojects.argoproj.io that can be used by clients to determine when appprojects.argoproj.io has changed. Read more: https://github.com/kubernetes/community/blob/master/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
uid String
The unique in time and space value for this appprojects.argoproj.io. More info: http://kubernetes.io/docs/user-guide/identifiers#uids

ProjectSpec
, ProjectSpecArgs

Destinations This property is required. List<Three14.Argocd.Inputs.ProjectSpecDestination>
Destinations available for deployment.
SourceRepos This property is required. List<string>
List of repository URLs which can be used for deployment. Can be set to ["*"] to allow all configured repositories configured in ArgoCD.
ClusterResourceBlacklists List<Three14.Argocd.Inputs.ProjectSpecClusterResourceBlacklist>
Blacklisted cluster level resources.
ClusterResourceWhitelists List<Three14.Argocd.Inputs.ProjectSpecClusterResourceWhitelist>
Whitelisted cluster level resources.
Description string
Project description.
NamespaceResourceBlacklists List<Three14.Argocd.Inputs.ProjectSpecNamespaceResourceBlacklist>
Blacklisted namespace level resources.
NamespaceResourceWhitelists List<Three14.Argocd.Inputs.ProjectSpecNamespaceResourceWhitelist>
Whitelisted namespace level resources.
OrphanedResources Three14.Argocd.Inputs.ProjectSpecOrphanedResources
Settings specifying if controller should monitor orphaned resources of apps in this project.
Roles List<Three14.Argocd.Inputs.ProjectSpecRole>
User defined RBAC roles associated with this project.
SignatureKeys List<string>
List of PGP key IDs that commits in Git must be signed with in order to be allowed for sync.
SourceNamespaces List<string>
List of namespaces that application resources are allowed to be created in.
SyncWindows List<Three14.Argocd.Inputs.ProjectSpecSyncWindow>
Settings controlling when syncs can be run for apps in this project.
Destinations This property is required. []ProjectSpecDestination
Destinations available for deployment.
SourceRepos This property is required. []string
List of repository URLs which can be used for deployment. Can be set to ["*"] to allow all configured repositories configured in ArgoCD.
ClusterResourceBlacklists []ProjectSpecClusterResourceBlacklist
Blacklisted cluster level resources.
ClusterResourceWhitelists []ProjectSpecClusterResourceWhitelist
Whitelisted cluster level resources.
Description string
Project description.
NamespaceResourceBlacklists []ProjectSpecNamespaceResourceBlacklist
Blacklisted namespace level resources.
NamespaceResourceWhitelists []ProjectSpecNamespaceResourceWhitelist
Whitelisted namespace level resources.
OrphanedResources ProjectSpecOrphanedResources
Settings specifying if controller should monitor orphaned resources of apps in this project.
Roles []ProjectSpecRole
User defined RBAC roles associated with this project.
SignatureKeys []string
List of PGP key IDs that commits in Git must be signed with in order to be allowed for sync.
SourceNamespaces []string
List of namespaces that application resources are allowed to be created in.
SyncWindows []ProjectSpecSyncWindow
Settings controlling when syncs can be run for apps in this project.
destinations This property is required. List<ProjectSpecDestination>
Destinations available for deployment.
sourceRepos This property is required. List<String>
List of repository URLs which can be used for deployment. Can be set to ["*"] to allow all configured repositories configured in ArgoCD.
clusterResourceBlacklists List<ProjectSpecClusterResourceBlacklist>
Blacklisted cluster level resources.
clusterResourceWhitelists List<ProjectSpecClusterResourceWhitelist>
Whitelisted cluster level resources.
description String
Project description.
namespaceResourceBlacklists List<ProjectSpecNamespaceResourceBlacklist>
Blacklisted namespace level resources.
namespaceResourceWhitelists List<ProjectSpecNamespaceResourceWhitelist>
Whitelisted namespace level resources.
orphanedResources ProjectSpecOrphanedResources
Settings specifying if controller should monitor orphaned resources of apps in this project.
roles List<ProjectSpecRole>
User defined RBAC roles associated with this project.
signatureKeys List<String>
List of PGP key IDs that commits in Git must be signed with in order to be allowed for sync.
sourceNamespaces List<String>
List of namespaces that application resources are allowed to be created in.
syncWindows List<ProjectSpecSyncWindow>
Settings controlling when syncs can be run for apps in this project.
destinations This property is required. ProjectSpecDestination[]
Destinations available for deployment.
sourceRepos This property is required. string[]
List of repository URLs which can be used for deployment. Can be set to ["*"] to allow all configured repositories configured in ArgoCD.
clusterResourceBlacklists ProjectSpecClusterResourceBlacklist[]
Blacklisted cluster level resources.
clusterResourceWhitelists ProjectSpecClusterResourceWhitelist[]
Whitelisted cluster level resources.
description string
Project description.
namespaceResourceBlacklists ProjectSpecNamespaceResourceBlacklist[]
Blacklisted namespace level resources.
namespaceResourceWhitelists ProjectSpecNamespaceResourceWhitelist[]
Whitelisted namespace level resources.
orphanedResources ProjectSpecOrphanedResources
Settings specifying if controller should monitor orphaned resources of apps in this project.
roles ProjectSpecRole[]
User defined RBAC roles associated with this project.
signatureKeys string[]
List of PGP key IDs that commits in Git must be signed with in order to be allowed for sync.
sourceNamespaces string[]
List of namespaces that application resources are allowed to be created in.
syncWindows ProjectSpecSyncWindow[]
Settings controlling when syncs can be run for apps in this project.
destinations This property is required. Sequence[ProjectSpecDestination]
Destinations available for deployment.
source_repos This property is required. Sequence[str]
List of repository URLs which can be used for deployment. Can be set to ["*"] to allow all configured repositories configured in ArgoCD.
cluster_resource_blacklists Sequence[ProjectSpecClusterResourceBlacklist]
Blacklisted cluster level resources.
cluster_resource_whitelists Sequence[ProjectSpecClusterResourceWhitelist]
Whitelisted cluster level resources.
description str
Project description.
namespace_resource_blacklists Sequence[ProjectSpecNamespaceResourceBlacklist]
Blacklisted namespace level resources.
namespace_resource_whitelists Sequence[ProjectSpecNamespaceResourceWhitelist]
Whitelisted namespace level resources.
orphaned_resources ProjectSpecOrphanedResources
Settings specifying if controller should monitor orphaned resources of apps in this project.
roles Sequence[ProjectSpecRole]
User defined RBAC roles associated with this project.
signature_keys Sequence[str]
List of PGP key IDs that commits in Git must be signed with in order to be allowed for sync.
source_namespaces Sequence[str]
List of namespaces that application resources are allowed to be created in.
sync_windows Sequence[ProjectSpecSyncWindow]
Settings controlling when syncs can be run for apps in this project.
destinations This property is required. List<Property Map>
Destinations available for deployment.
sourceRepos This property is required. List<String>
List of repository URLs which can be used for deployment. Can be set to ["*"] to allow all configured repositories configured in ArgoCD.
clusterResourceBlacklists List<Property Map>
Blacklisted cluster level resources.
clusterResourceWhitelists List<Property Map>
Whitelisted cluster level resources.
description String
Project description.
namespaceResourceBlacklists List<Property Map>
Blacklisted namespace level resources.
namespaceResourceWhitelists List<Property Map>
Whitelisted namespace level resources.
orphanedResources Property Map
Settings specifying if controller should monitor orphaned resources of apps in this project.
roles List<Property Map>
User defined RBAC roles associated with this project.
signatureKeys List<String>
List of PGP key IDs that commits in Git must be signed with in order to be allowed for sync.
sourceNamespaces List<String>
List of namespaces that application resources are allowed to be created in.
syncWindows List<Property Map>
Settings controlling when syncs can be run for apps in this project.

ProjectSpecClusterResourceBlacklist
, ProjectSpecClusterResourceBlacklistArgs

Group string
The Kubernetes resource Group to match for.
Kind string
The Kubernetes resource Kind to match for.
Group string
The Kubernetes resource Group to match for.
Kind string
The Kubernetes resource Kind to match for.
group String
The Kubernetes resource Group to match for.
kind String
The Kubernetes resource Kind to match for.
group string
The Kubernetes resource Group to match for.
kind string
The Kubernetes resource Kind to match for.
group str
The Kubernetes resource Group to match for.
kind str
The Kubernetes resource Kind to match for.
group String
The Kubernetes resource Group to match for.
kind String
The Kubernetes resource Kind to match for.

ProjectSpecClusterResourceWhitelist
, ProjectSpecClusterResourceWhitelistArgs

Group string
The Kubernetes resource Group to match for.
Kind string
The Kubernetes resource Kind to match for.
Group string
The Kubernetes resource Group to match for.
Kind string
The Kubernetes resource Kind to match for.
group String
The Kubernetes resource Group to match for.
kind String
The Kubernetes resource Kind to match for.
group string
The Kubernetes resource Group to match for.
kind string
The Kubernetes resource Kind to match for.
group str
The Kubernetes resource Group to match for.
kind str
The Kubernetes resource Kind to match for.
group String
The Kubernetes resource Group to match for.
kind String
The Kubernetes resource Kind to match for.

ProjectSpecDestination
, ProjectSpecDestinationArgs

Namespace This property is required. string
Target namespace for applications' resources.
Name string
Name of the destination cluster which can be used instead of server.
Server string
URL of the target cluster and must be set to the Kubernetes control plane API.
Namespace This property is required. string
Target namespace for applications' resources.
Name string
Name of the destination cluster which can be used instead of server.
Server string
URL of the target cluster and must be set to the Kubernetes control plane API.
namespace This property is required. String
Target namespace for applications' resources.
name String
Name of the destination cluster which can be used instead of server.
server String
URL of the target cluster and must be set to the Kubernetes control plane API.
namespace This property is required. string
Target namespace for applications' resources.
name string
Name of the destination cluster which can be used instead of server.
server string
URL of the target cluster and must be set to the Kubernetes control plane API.
namespace This property is required. str
Target namespace for applications' resources.
name str
Name of the destination cluster which can be used instead of server.
server str
URL of the target cluster and must be set to the Kubernetes control plane API.
namespace This property is required. String
Target namespace for applications' resources.
name String
Name of the destination cluster which can be used instead of server.
server String
URL of the target cluster and must be set to the Kubernetes control plane API.

ProjectSpecNamespaceResourceBlacklist
, ProjectSpecNamespaceResourceBlacklistArgs

Group string
The Kubernetes resource Group to match for.
Kind string
The Kubernetes resource Kind to match for.
Group string
The Kubernetes resource Group to match for.
Kind string
The Kubernetes resource Kind to match for.
group String
The Kubernetes resource Group to match for.
kind String
The Kubernetes resource Kind to match for.
group string
The Kubernetes resource Group to match for.
kind string
The Kubernetes resource Kind to match for.
group str
The Kubernetes resource Group to match for.
kind str
The Kubernetes resource Kind to match for.
group String
The Kubernetes resource Group to match for.
kind String
The Kubernetes resource Kind to match for.

ProjectSpecNamespaceResourceWhitelist
, ProjectSpecNamespaceResourceWhitelistArgs

Group string
The Kubernetes resource Group to match for.
Kind string
The Kubernetes resource Kind to match for.
Group string
The Kubernetes resource Group to match for.
Kind string
The Kubernetes resource Kind to match for.
group String
The Kubernetes resource Group to match for.
kind String
The Kubernetes resource Kind to match for.
group string
The Kubernetes resource Group to match for.
kind string
The Kubernetes resource Kind to match for.
group str
The Kubernetes resource Group to match for.
kind str
The Kubernetes resource Kind to match for.
group String
The Kubernetes resource Group to match for.
kind String
The Kubernetes resource Kind to match for.

ProjectSpecOrphanedResources
, ProjectSpecOrphanedResourcesArgs

Ignores List<Three14.Argocd.Inputs.ProjectSpecOrphanedResourcesIgnore>
Warn bool
Whether a warning condition should be created for apps which have orphaned resources.
Ignores []ProjectSpecOrphanedResourcesIgnore
Warn bool
Whether a warning condition should be created for apps which have orphaned resources.
ignores List<ProjectSpecOrphanedResourcesIgnore>
warn Boolean
Whether a warning condition should be created for apps which have orphaned resources.
ignores ProjectSpecOrphanedResourcesIgnore[]
warn boolean
Whether a warning condition should be created for apps which have orphaned resources.
ignores Sequence[ProjectSpecOrphanedResourcesIgnore]
warn bool
Whether a warning condition should be created for apps which have orphaned resources.
ignores List<Property Map>
warn Boolean
Whether a warning condition should be created for apps which have orphaned resources.

ProjectSpecOrphanedResourcesIgnore
, ProjectSpecOrphanedResourcesIgnoreArgs

Group string
The Kubernetes resource Group to match for.
Kind string
The Kubernetes resource Kind to match for.
Name string
The Kubernetes resource name to match for.
Group string
The Kubernetes resource Group to match for.
Kind string
The Kubernetes resource Kind to match for.
Name string
The Kubernetes resource name to match for.
group String
The Kubernetes resource Group to match for.
kind String
The Kubernetes resource Kind to match for.
name String
The Kubernetes resource name to match for.
group string
The Kubernetes resource Group to match for.
kind string
The Kubernetes resource Kind to match for.
name string
The Kubernetes resource name to match for.
group str
The Kubernetes resource Group to match for.
kind str
The Kubernetes resource Kind to match for.
name str
The Kubernetes resource name to match for.
group String
The Kubernetes resource Group to match for.
kind String
The Kubernetes resource Kind to match for.
name String
The Kubernetes resource name to match for.

ProjectSpecRole
, ProjectSpecRoleArgs

Name This property is required. string
Name of the role.
Policies This property is required. List<string>
List of casbin formatted strings that define access policies for the role in the project. For more information, see the ArgoCD RBAC reference.
Description string
Description of the role.
Groups List<string>
List of OIDC group claims bound to this role.
Name This property is required. string
Name of the role.
Policies This property is required. []string
List of casbin formatted strings that define access policies for the role in the project. For more information, see the ArgoCD RBAC reference.
Description string
Description of the role.
Groups []string
List of OIDC group claims bound to this role.
name This property is required. String
Name of the role.
policies This property is required. List<String>
List of casbin formatted strings that define access policies for the role in the project. For more information, see the ArgoCD RBAC reference.
description String
Description of the role.
groups List<String>
List of OIDC group claims bound to this role.
name This property is required. string
Name of the role.
policies This property is required. string[]
List of casbin formatted strings that define access policies for the role in the project. For more information, see the ArgoCD RBAC reference.
description string
Description of the role.
groups string[]
List of OIDC group claims bound to this role.
name This property is required. str
Name of the role.
policies This property is required. Sequence[str]
List of casbin formatted strings that define access policies for the role in the project. For more information, see the ArgoCD RBAC reference.
description str
Description of the role.
groups Sequence[str]
List of OIDC group claims bound to this role.
name This property is required. String
Name of the role.
policies This property is required. List<String>
List of casbin formatted strings that define access policies for the role in the project. For more information, see the ArgoCD RBAC reference.
description String
Description of the role.
groups List<String>
List of OIDC group claims bound to this role.

ProjectSpecSyncWindow
, ProjectSpecSyncWindowArgs

Applications List<string>
List of applications that the window will apply to.
Clusters List<string>
List of clusters that the window will apply to.
Duration string
Amount of time the sync window will be open.
Kind string
Defines if the window allows or blocks syncs, allowed values are allow or deny.
ManualSync bool
Enables manual syncs when they would otherwise be blocked.
Namespaces List<string>
List of namespaces that the window will apply to.
Schedule string
Time the window will begin, specified in cron format.
Timezone string
Timezone that the schedule will be evaluated in.
Applications []string
List of applications that the window will apply to.
Clusters []string
List of clusters that the window will apply to.
Duration string
Amount of time the sync window will be open.
Kind string
Defines if the window allows or blocks syncs, allowed values are allow or deny.
ManualSync bool
Enables manual syncs when they would otherwise be blocked.
Namespaces []string
List of namespaces that the window will apply to.
Schedule string
Time the window will begin, specified in cron format.
Timezone string
Timezone that the schedule will be evaluated in.
applications List<String>
List of applications that the window will apply to.
clusters List<String>
List of clusters that the window will apply to.
duration String
Amount of time the sync window will be open.
kind String
Defines if the window allows or blocks syncs, allowed values are allow or deny.
manualSync Boolean
Enables manual syncs when they would otherwise be blocked.
namespaces List<String>
List of namespaces that the window will apply to.
schedule String
Time the window will begin, specified in cron format.
timezone String
Timezone that the schedule will be evaluated in.
applications string[]
List of applications that the window will apply to.
clusters string[]
List of clusters that the window will apply to.
duration string
Amount of time the sync window will be open.
kind string
Defines if the window allows or blocks syncs, allowed values are allow or deny.
manualSync boolean
Enables manual syncs when they would otherwise be blocked.
namespaces string[]
List of namespaces that the window will apply to.
schedule string
Time the window will begin, specified in cron format.
timezone string
Timezone that the schedule will be evaluated in.
applications Sequence[str]
List of applications that the window will apply to.
clusters Sequence[str]
List of clusters that the window will apply to.
duration str
Amount of time the sync window will be open.
kind str
Defines if the window allows or blocks syncs, allowed values are allow or deny.
manual_sync bool
Enables manual syncs when they would otherwise be blocked.
namespaces Sequence[str]
List of namespaces that the window will apply to.
schedule str
Time the window will begin, specified in cron format.
timezone str
Timezone that the schedule will be evaluated in.
applications List<String>
List of applications that the window will apply to.
clusters List<String>
List of clusters that the window will apply to.
duration String
Amount of time the sync window will be open.
kind String
Defines if the window allows or blocks syncs, allowed values are allow or deny.
manualSync Boolean
Enables manual syncs when they would otherwise be blocked.
namespaces List<String>
List of namespaces that the window will apply to.
schedule String
Time the window will begin, specified in cron format.
timezone String
Timezone that the schedule will be evaluated in.

Import

Projects can be imported using the project name.

Example:

$ pulumi import argocd:index/project:Project myproject myproject
Copy

To learn more about importing existing cloud resources, see Importing resources.

Package Details

Repository
argocd Three141/pulumi-argocd
License
Apache-2.0
Notes
This Pulumi package is based on the argocd Terraform Provider.