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

argocd logo
Argo CD v1.0.1 published on Friday, Feb 21, 2025 by Three141

    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",
            ],
        },
    });
    
    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",
            ],
        })
    
    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
    	})
    }
    
    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",
                },
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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
    

    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 string
    The unique name of the resource.
    args ProjectArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args 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 string
    The unique name of the resource.
    args ProjectArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ProjectArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args 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",
                },
            },
        },
    });
    
    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"),
    			},
    		},
    	},
    })
    
    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());
    
    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",
            }],
        })
    
    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",
            }],
        },
    });
    
    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
    

    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 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.

    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
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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
    The unique name of the resulting resource.
    id
    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 string
    Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
    Namespace 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 string
    Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
    Namespace 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 String
    Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
    namespace 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 string
    Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
    namespace 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 str
    Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
    namespace 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 String
    Name of the appprojects.argoproj.io, must be unique. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names
    namespace 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 List<Three14.Argocd.Inputs.ProjectSpecDestination>
    Destinations available for deployment.
    SourceRepos 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 []ProjectSpecDestination
    Destinations available for deployment.
    SourceRepos []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 List<ProjectSpecDestination>
    Destinations available for deployment.
    sourceRepos 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 ProjectSpecDestination[]
    Destinations available for deployment.
    sourceRepos 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 Sequence[ProjectSpecDestination]
    Destinations available for deployment.
    source_repos 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 List<Property Map>
    Destinations available for deployment.
    sourceRepos 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 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 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 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 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 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 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 string
    Name of the role.
    Policies 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 string
    Name of the role.
    Policies []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 String
    Name of the role.
    policies 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 string
    Name of the role.
    policies 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 str
    Name of the role.
    policies 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 String
    Name of the role.
    policies 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
    

    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.
    argocd logo
    Argo CD v1.0.1 published on Friday, Feb 21, 2025 by Three141