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",
        ],
    },
});
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. Project Metadata 
- Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- Spec
Three14.Argocd. Inputs. Project Spec 
- ArgoCD AppProject spec.
- Metadata
ProjectMetadata Args 
- Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- Spec
ProjectSpec Args 
- 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
ProjectMetadata Args 
- Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- spec
ProjectSpec Args 
- 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) -> Projectfunc 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.
- Metadata
Three14.Argocd. Inputs. Project Metadata 
- Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- Spec
Three14.Argocd. Inputs. Project Spec 
- ArgoCD AppProject spec.
- Metadata
ProjectMetadata Args 
- Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- Spec
ProjectSpec Args 
- 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
ProjectMetadata Args 
- Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- spec
ProjectSpec Args 
- 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. Project Spec Destination> 
- 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.
- ClusterResource List<Three14.Blacklists Argocd. Inputs. Project Spec Cluster Resource Blacklist> 
- Blacklisted cluster level resources.
- ClusterResource List<Three14.Whitelists Argocd. Inputs. Project Spec Cluster Resource Whitelist> 
- Whitelisted cluster level resources.
- Description string
- Project description.
- NamespaceResource List<Three14.Blacklists Argocd. Inputs. Project Spec Namespace Resource Blacklist> 
- Blacklisted namespace level resources.
- NamespaceResource List<Three14.Whitelists Argocd. Inputs. Project Spec Namespace Resource Whitelist> 
- Whitelisted namespace level resources.
- OrphanedResources Three14.Argocd. Inputs. Project Spec Orphaned Resources 
- Settings specifying if controller should monitor orphaned resources of apps in this project.
- Roles
List<Three14.Argocd. Inputs. Project Spec Role> 
- 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. Project Spec Sync Window> 
- Settings controlling when syncs can be run for apps in this project.
- Destinations
[]ProjectSpec Destination 
- 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.
- ClusterResource []ProjectBlacklists Spec Cluster Resource Blacklist 
- Blacklisted cluster level resources.
- ClusterResource []ProjectWhitelists Spec Cluster Resource Whitelist 
- Whitelisted cluster level resources.
- Description string
- Project description.
- NamespaceResource []ProjectBlacklists Spec Namespace Resource Blacklist 
- Blacklisted namespace level resources.
- NamespaceResource []ProjectWhitelists Spec Namespace Resource Whitelist 
- Whitelisted namespace level resources.
- OrphanedResources ProjectSpec Orphaned Resources 
- Settings specifying if controller should monitor orphaned resources of apps in this project.
- Roles
[]ProjectSpec Role 
- 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 []ProjectSpec Sync Window 
- Settings controlling when syncs can be run for apps in this project.
- destinations
List<ProjectSpec Destination> 
- 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.
- clusterResource List<ProjectBlacklists Spec Cluster Resource Blacklist> 
- Blacklisted cluster level resources.
- clusterResource List<ProjectWhitelists Spec Cluster Resource Whitelist> 
- Whitelisted cluster level resources.
- description String
- Project description.
- namespaceResource List<ProjectBlacklists Spec Namespace Resource Blacklist> 
- Blacklisted namespace level resources.
- namespaceResource List<ProjectWhitelists Spec Namespace Resource Whitelist> 
- Whitelisted namespace level resources.
- orphanedResources ProjectSpec Orphaned Resources 
- Settings specifying if controller should monitor orphaned resources of apps in this project.
- roles
List<ProjectSpec Role> 
- 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<ProjectSpec Sync Window> 
- Settings controlling when syncs can be run for apps in this project.
- destinations
ProjectSpec Destination[] 
- 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.
- clusterResource ProjectBlacklists Spec Cluster Resource Blacklist[] 
- Blacklisted cluster level resources.
- clusterResource ProjectWhitelists Spec Cluster Resource Whitelist[] 
- Whitelisted cluster level resources.
- description string
- Project description.
- namespaceResource ProjectBlacklists Spec Namespace Resource Blacklist[] 
- Blacklisted namespace level resources.
- namespaceResource ProjectWhitelists Spec Namespace Resource Whitelist[] 
- Whitelisted namespace level resources.
- orphanedResources ProjectSpec Orphaned Resources 
- Settings specifying if controller should monitor orphaned resources of apps in this project.
- roles
ProjectSpec Role[] 
- 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 ProjectSpec Sync Window[] 
- Settings controlling when syncs can be run for apps in this project.
- destinations
Sequence[ProjectSpec Destination] 
- 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_ Sequence[Projectblacklists Spec Cluster Resource Blacklist] 
- Blacklisted cluster level resources.
- cluster_resource_ Sequence[Projectwhitelists Spec Cluster Resource Whitelist] 
- Whitelisted cluster level resources.
- description str
- Project description.
- namespace_resource_ Sequence[Projectblacklists Spec Namespace Resource Blacklist] 
- Blacklisted namespace level resources.
- namespace_resource_ Sequence[Projectwhitelists Spec Namespace Resource Whitelist] 
- Whitelisted namespace level resources.
- orphaned_resources ProjectSpec Orphaned Resources 
- Settings specifying if controller should monitor orphaned resources of apps in this project.
- roles
Sequence[ProjectSpec Role] 
- 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[ProjectSpec Sync Window] 
- 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.
- clusterResource List<Property Map>Blacklists 
- Blacklisted cluster level resources.
- clusterResource List<Property Map>Whitelists 
- Whitelisted cluster level resources.
- description String
- Project description.
- namespaceResource List<Property Map>Blacklists 
- Blacklisted namespace level resources.
- namespaceResource List<Property Map>Whitelists 
- 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          
ProjectSpecClusterResourceWhitelist, ProjectSpecClusterResourceWhitelistArgs          
ProjectSpecDestination, ProjectSpecDestinationArgs      
ProjectSpecNamespaceResourceBlacklist, ProjectSpecNamespaceResourceBlacklistArgs          
ProjectSpecNamespaceResourceWhitelist, ProjectSpecNamespaceResourceWhitelistArgs          
ProjectSpecOrphanedResources, ProjectSpecOrphanedResourcesArgs        
- Ignores
List<Three14.Argocd. Inputs. Project Spec Orphaned Resources Ignore> 
- Warn bool
- Whether a warning condition should be created for apps which have orphaned resources.
- Ignores
[]ProjectSpec Orphaned Resources Ignore 
- Warn bool
- Whether a warning condition should be created for apps which have orphaned resources.
- ignores
List<ProjectSpec Orphaned Resources Ignore> 
- warn Boolean
- Whether a warning condition should be created for apps which have orphaned resources.
- ignores
ProjectSpec Orphaned Resources Ignore[] 
- warn boolean
- Whether a warning condition should be created for apps which have orphaned resources.
- ignores
Sequence[ProjectSpec Orphaned Resources Ignore] 
- 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          
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 allowordeny.
- 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 allowordeny.
- 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 allowordeny.
- 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 allowordeny.
- 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 allowordeny.
- 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 allowordeny.
- 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 argocdTerraform Provider.
