published on Saturday, Mar 21, 2026 by Three141
published on Saturday, Mar 21, 2026 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,
},
{
useAndOperator: true,
kind: "deny",
applications: [
"foo",
"bar",
],
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,
},
{
"use_and_operator": True,
"kind": "deny",
"applications": [
"foo",
"bar",
],
"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.ProjectSpecOrphanedResourceArray{
&argocd.ProjectSpecOrphanedResourceArgs{
Warn: pulumi.Bool(true),
Ignores: argocd.ProjectSpecOrphanedResourceIgnoreArray{
&argocd.ProjectSpecOrphanedResourceIgnoreArgs{
Group: pulumi.String("apps/v1"),
Kind: pulumi.String("Deployment"),
Name: pulumi.String("ignored1"),
},
&argocd.ProjectSpecOrphanedResourceIgnoreArgs{
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{
UseAndOperator: pulumi.Bool(true),
Kind: pulumi.String("deny"),
Applications: pulumi.StringArray{
pulumi.String("foo"),
pulumi.String("bar"),
},
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[]
{
new Argocd.Inputs.ProjectSpecOrphanedResourceArgs
{
Warn = true,
Ignores = new[]
{
new Argocd.Inputs.ProjectSpecOrphanedResourceIgnoreArgs
{
Group = "apps/v1",
Kind = "Deployment",
Name = "ignored1",
},
new Argocd.Inputs.ProjectSpecOrphanedResourceIgnoreArgs
{
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
{
UseAndOperator = true,
Kind = "deny",
Applications = new[]
{
"foo",
"bar",
},
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 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(ProjectSpecOrphanedResourceArgs.builder()
.warn(true)
.ignores(
ProjectSpecOrphanedResourceIgnoreArgs.builder()
.group("apps/v1")
.kind("Deployment")
.name("ignored1")
.build(),
ProjectSpecOrphanedResourceIgnoreArgs.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()
.useAndOperator(true)
.kind("deny")
.applications(
"foo",
"bar")
.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
- useAndOperator: true
kind: deny
applications:
- foo
- bar
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
{
Name = "string",
Annotations =
{
{ "string", "string" },
},
Generation = 0,
Labels =
{
{ "string", "string" },
},
Namespace = "string",
ResourceVersion = "string",
Uid = "string",
},
Spec = new Argocd.Inputs.ProjectSpecArgs
{
ClusterResourceBlacklists = new[]
{
new Argocd.Inputs.ProjectSpecClusterResourceBlacklistArgs
{
Group = "string",
Kind = "string",
},
},
ClusterResourceWhitelists = new[]
{
new Argocd.Inputs.ProjectSpecClusterResourceWhitelistArgs
{
Group = "string",
Kind = "string",
},
},
Description = "string",
DestinationServiceAccounts = new[]
{
new Argocd.Inputs.ProjectSpecDestinationServiceAccountArgs
{
DefaultServiceAccount = "string",
Namespace = "string",
Server = "string",
},
},
Destinations = new[]
{
new Argocd.Inputs.ProjectSpecDestinationArgs
{
Namespace = "string",
Name = "string",
Server = "string",
},
},
NamespaceResourceBlacklists = new[]
{
new Argocd.Inputs.ProjectSpecNamespaceResourceBlacklistArgs
{
Group = "string",
Kind = "string",
},
},
NamespaceResourceWhitelists = new[]
{
new Argocd.Inputs.ProjectSpecNamespaceResourceWhitelistArgs
{
Group = "string",
Kind = "string",
},
},
OrphanedResources = new[]
{
new Argocd.Inputs.ProjectSpecOrphanedResourceArgs
{
Ignores = new[]
{
new Argocd.Inputs.ProjectSpecOrphanedResourceIgnoreArgs
{
Group = "string",
Kind = "string",
Name = "string",
},
},
Warn = false,
},
},
Roles = new[]
{
new Argocd.Inputs.ProjectSpecRoleArgs
{
Name = "string",
Policies = new[]
{
"string",
},
Description = "string",
Groups = new[]
{
"string",
},
JwtTokens = new[]
{
new Argocd.Inputs.ProjectSpecRoleJwtTokenArgs
{
Iat = 0,
Exp = 0,
Id = "string",
},
},
},
},
SignatureKeys = new[]
{
"string",
},
SourceNamespaces = new[]
{
"string",
},
SourceRepos = 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",
UseAndOperator = false,
},
},
},
});
example, err := argocd.NewProject(ctx, "projectResource", &argocd.ProjectArgs{
Metadata: &argocd.ProjectMetadataArgs{
Name: pulumi.String("string"),
Annotations: pulumi.StringMap{
"string": pulumi.String("string"),
},
Generation: pulumi.Int(0),
Labels: pulumi.StringMap{
"string": pulumi.String("string"),
},
Namespace: pulumi.String("string"),
ResourceVersion: pulumi.String("string"),
Uid: pulumi.String("string"),
},
Spec: &argocd.ProjectSpecArgs{
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"),
DestinationServiceAccounts: argocd.ProjectSpecDestinationServiceAccountArray{
&argocd.ProjectSpecDestinationServiceAccountArgs{
DefaultServiceAccount: pulumi.String("string"),
Namespace: pulumi.String("string"),
Server: pulumi.String("string"),
},
},
Destinations: argocd.ProjectSpecDestinationArray{
&argocd.ProjectSpecDestinationArgs{
Namespace: pulumi.String("string"),
Name: pulumi.String("string"),
Server: 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.ProjectSpecOrphanedResourceArray{
&argocd.ProjectSpecOrphanedResourceArgs{
Ignores: argocd.ProjectSpecOrphanedResourceIgnoreArray{
&argocd.ProjectSpecOrphanedResourceIgnoreArgs{
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"),
},
JwtTokens: argocd.ProjectSpecRoleJwtTokenArray{
&argocd.ProjectSpecRoleJwtTokenArgs{
Iat: pulumi.Int(0),
Exp: pulumi.Int(0),
Id: pulumi.String("string"),
},
},
},
},
SignatureKeys: pulumi.StringArray{
pulumi.String("string"),
},
SourceNamespaces: pulumi.StringArray{
pulumi.String("string"),
},
SourceRepos: 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"),
UseAndOperator: pulumi.Bool(false),
},
},
},
})
var projectResource = new Project("projectResource", ProjectArgs.builder()
.metadata(ProjectMetadataArgs.builder()
.name("string")
.annotations(Map.of("string", "string"))
.generation(0)
.labels(Map.of("string", "string"))
.namespace("string")
.resourceVersion("string")
.uid("string")
.build())
.spec(ProjectSpecArgs.builder()
.clusterResourceBlacklists(ProjectSpecClusterResourceBlacklistArgs.builder()
.group("string")
.kind("string")
.build())
.clusterResourceWhitelists(ProjectSpecClusterResourceWhitelistArgs.builder()
.group("string")
.kind("string")
.build())
.description("string")
.destinationServiceAccounts(ProjectSpecDestinationServiceAccountArgs.builder()
.defaultServiceAccount("string")
.namespace("string")
.server("string")
.build())
.destinations(ProjectSpecDestinationArgs.builder()
.namespace("string")
.name("string")
.server("string")
.build())
.namespaceResourceBlacklists(ProjectSpecNamespaceResourceBlacklistArgs.builder()
.group("string")
.kind("string")
.build())
.namespaceResourceWhitelists(ProjectSpecNamespaceResourceWhitelistArgs.builder()
.group("string")
.kind("string")
.build())
.orphanedResources(ProjectSpecOrphanedResourceArgs.builder()
.ignores(ProjectSpecOrphanedResourceIgnoreArgs.builder()
.group("string")
.kind("string")
.name("string")
.build())
.warn(false)
.build())
.roles(ProjectSpecRoleArgs.builder()
.name("string")
.policies("string")
.description("string")
.groups("string")
.jwtTokens(ProjectSpecRoleJwtTokenArgs.builder()
.iat(0)
.exp(0)
.id("string")
.build())
.build())
.signatureKeys("string")
.sourceNamespaces("string")
.sourceRepos("string")
.syncWindows(ProjectSpecSyncWindowArgs.builder()
.applications("string")
.clusters("string")
.duration("string")
.kind("string")
.manualSync(false)
.namespaces("string")
.schedule("string")
.timezone("string")
.useAndOperator(false)
.build())
.build())
.build());
project_resource = argocd.Project("projectResource",
metadata={
"name": "string",
"annotations": {
"string": "string",
},
"generation": 0,
"labels": {
"string": "string",
},
"namespace": "string",
"resource_version": "string",
"uid": "string",
},
spec={
"cluster_resource_blacklists": [{
"group": "string",
"kind": "string",
}],
"cluster_resource_whitelists": [{
"group": "string",
"kind": "string",
}],
"description": "string",
"destination_service_accounts": [{
"default_service_account": "string",
"namespace": "string",
"server": "string",
}],
"destinations": [{
"namespace": "string",
"name": "string",
"server": "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"],
"jwt_tokens": [{
"iat": 0,
"exp": 0,
"id": "string",
}],
}],
"signature_keys": ["string"],
"source_namespaces": ["string"],
"source_repos": ["string"],
"sync_windows": [{
"applications": ["string"],
"clusters": ["string"],
"duration": "string",
"kind": "string",
"manual_sync": False,
"namespaces": ["string"],
"schedule": "string",
"timezone": "string",
"use_and_operator": False,
}],
})
const projectResource = new argocd.Project("projectResource", {
metadata: {
name: "string",
annotations: {
string: "string",
},
generation: 0,
labels: {
string: "string",
},
namespace: "string",
resourceVersion: "string",
uid: "string",
},
spec: {
clusterResourceBlacklists: [{
group: "string",
kind: "string",
}],
clusterResourceWhitelists: [{
group: "string",
kind: "string",
}],
description: "string",
destinationServiceAccounts: [{
defaultServiceAccount: "string",
namespace: "string",
server: "string",
}],
destinations: [{
namespace: "string",
name: "string",
server: "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"],
jwtTokens: [{
iat: 0,
exp: 0,
id: "string",
}],
}],
signatureKeys: ["string"],
sourceNamespaces: ["string"],
sourceRepos: ["string"],
syncWindows: [{
applications: ["string"],
clusters: ["string"],
duration: "string",
kind: "string",
manualSync: false,
namespaces: ["string"],
schedule: "string",
timezone: "string",
useAndOperator: false,
}],
},
});
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
destinationServiceAccounts:
- defaultServiceAccount: string
namespace: string
server: 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
jwtTokens:
- exp: 0
iat: 0
id: 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
useAndOperator: false
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
Project
Metadata Args - Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- Spec
Project
Spec Args - ArgoCD AppProject spec.
- metadata
Project
Metadata - Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- spec
Project
Spec - ArgoCD AppProject spec.
- metadata
Project
Metadata - Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- spec
Project
Spec - ArgoCD AppProject spec.
- metadata
Project
Metadata Args - Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- spec
Project
Spec 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
Project
Metadata Args - Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- Spec
Project
Spec Args - ArgoCD AppProject spec.
- metadata
Project
Metadata - Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- spec
Project
Spec - ArgoCD AppProject spec.
- metadata
Project
Metadata - Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- spec
Project
Spec - ArgoCD AppProject spec.
- metadata
Project
Metadata Args - Standard Kubernetes object metadata. For more info see the Kubernetes reference.
- spec
Project
Spec 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
- Name string
- Name of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- Annotations Dictionary<string, string>
- An unstructured key value map stored with the appproject that may be used to store arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/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 appproject. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
- Namespace string
- Namespace of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
- Resource
Version string - An opaque value that represents the internal version of this appproject that can be used by clients to determine when the appproject 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 appproject. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
- Name string
- Name of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- Annotations map[string]string
- An unstructured key value map stored with the appproject that may be used to store arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/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 appproject. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
- Namespace string
- Namespace of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
- Resource
Version string - An opaque value that represents the internal version of this appproject that can be used by clients to determine when the appproject 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 appproject. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
- name String
- Name of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- annotations Map<String,String>
- An unstructured key value map stored with the appproject that may be used to store arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/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 appproject. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
- namespace String
- Namespace of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
- resource
Version String - An opaque value that represents the internal version of this appproject that can be used by clients to determine when the appproject 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 appproject. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
- name string
- Name of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- annotations {[key: string]: string}
- An unstructured key value map stored with the appproject that may be used to store arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/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 appproject. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
- namespace string
- Namespace of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
- resource
Version string - An opaque value that represents the internal version of this appproject that can be used by clients to determine when the appproject 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 appproject. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
- name str
- Name of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- annotations Mapping[str, str]
- An unstructured key value map stored with the appproject that may be used to store arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/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 appproject. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
- namespace str
- Namespace of the appproject, 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 appproject that can be used by clients to determine when the appproject 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 appproject. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
- name String
- Name of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
- annotations Map<String>
- An unstructured key value map stored with the appproject that may be used to store arbitrary metadata. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/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 appproject. May match selectors of replication controllers and services. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels
- namespace String
- Namespace of the appproject, must be unique. Cannot be updated. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
- resource
Version String - An opaque value that represents the internal version of this appproject that can be used by clients to determine when the appproject 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 appproject. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
ProjectSpec, ProjectSpecArgs
- Cluster
Resource List<Three14.Blacklists Argocd. Inputs. Project Spec Cluster Resource Blacklist> - Blacklisted cluster level resources.
- Cluster
Resource List<Three14.Whitelists Argocd. Inputs. Project Spec Cluster Resource Whitelist> - Whitelisted cluster level resources.
- Description string
- Project description.
- Destination
Service List<Three14.Accounts Argocd. Inputs. Project Spec Destination Service Account> - Service accounts to be impersonated for the application sync operation for each destination.
- Destinations
List<Three14.
Argocd. Inputs. Project Spec Destination> - Destinations available for deployment.
- Namespace
Resource List<Three14.Blacklists Argocd. Inputs. Project Spec Namespace Resource Blacklist> - Blacklisted namespace level resources.
- Namespace
Resource List<Three14.Whitelists Argocd. Inputs. Project Spec Namespace Resource Whitelist> - Whitelisted namespace level resources.
- Orphaned
Resources List<Three14.Argocd. Inputs. Project Spec Orphaned Resource> - Configuration for orphaned resources tracking.
- Roles
List<Three14.
Argocd. Inputs. Project Spec Role> - Project roles.
- Signature
Keys List<string> - Signature keys for verifying the integrity of applications.
- Source
Namespaces List<string> - List of source namespaces for applications.
- Source
Repos List<string> - List of repositories from which applications may be created.
- Sync
Windows List<Three14.Argocd. Inputs. Project Spec Sync Window> - Controls when sync operations are allowed for the project.
- Cluster
Resource []ProjectBlacklists Spec Cluster Resource Blacklist - Blacklisted cluster level resources.
- Cluster
Resource []ProjectWhitelists Spec Cluster Resource Whitelist - Whitelisted cluster level resources.
- Description string
- Project description.
- Destination
Service []ProjectAccounts Spec Destination Service Account - Service accounts to be impersonated for the application sync operation for each destination.
- Destinations
[]Project
Spec Destination - Destinations available for deployment.
- Namespace
Resource []ProjectBlacklists Spec Namespace Resource Blacklist - Blacklisted namespace level resources.
- Namespace
Resource []ProjectWhitelists Spec Namespace Resource Whitelist - Whitelisted namespace level resources.
- Orphaned
Resources []ProjectSpec Orphaned Resource - Configuration for orphaned resources tracking.
- Roles
[]Project
Spec Role - Project roles.
- Signature
Keys []string - Signature keys for verifying the integrity of applications.
- Source
Namespaces []string - List of source namespaces for applications.
- Source
Repos []string - List of repositories from which applications may be created.
- Sync
Windows []ProjectSpec Sync Window - Controls when sync operations are allowed for the project.
- cluster
Resource List<ProjectBlacklists Spec Cluster Resource Blacklist> - Blacklisted cluster level resources.
- cluster
Resource List<ProjectWhitelists Spec Cluster Resource Whitelist> - Whitelisted cluster level resources.
- description String
- Project description.
- destination
Service List<ProjectAccounts Spec Destination Service Account> - Service accounts to be impersonated for the application sync operation for each destination.
- destinations
List<Project
Spec Destination> - Destinations available for deployment.
- namespace
Resource List<ProjectBlacklists Spec Namespace Resource Blacklist> - Blacklisted namespace level resources.
- namespace
Resource List<ProjectWhitelists Spec Namespace Resource Whitelist> - Whitelisted namespace level resources.
- orphaned
Resources List<ProjectSpec Orphaned Resource> - Configuration for orphaned resources tracking.
- roles
List<Project
Spec Role> - Project roles.
- signature
Keys List<String> - Signature keys for verifying the integrity of applications.
- source
Namespaces List<String> - List of source namespaces for applications.
- source
Repos List<String> - List of repositories from which applications may be created.
- sync
Windows List<ProjectSpec Sync Window> - Controls when sync operations are allowed for the project.
- cluster
Resource ProjectBlacklists Spec Cluster Resource Blacklist[] - Blacklisted cluster level resources.
- cluster
Resource ProjectWhitelists Spec Cluster Resource Whitelist[] - Whitelisted cluster level resources.
- description string
- Project description.
- destination
Service ProjectAccounts Spec Destination Service Account[] - Service accounts to be impersonated for the application sync operation for each destination.
- destinations
Project
Spec Destination[] - Destinations available for deployment.
- namespace
Resource ProjectBlacklists Spec Namespace Resource Blacklist[] - Blacklisted namespace level resources.
- namespace
Resource ProjectWhitelists Spec Namespace Resource Whitelist[] - Whitelisted namespace level resources.
- orphaned
Resources ProjectSpec Orphaned Resource[] - Configuration for orphaned resources tracking.
- roles
Project
Spec Role[] - Project roles.
- signature
Keys string[] - Signature keys for verifying the integrity of applications.
- source
Namespaces string[] - List of source namespaces for applications.
- source
Repos string[] - List of repositories from which applications may be created.
- sync
Windows ProjectSpec Sync Window[] - Controls when sync operations are allowed for the project.
- 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.
- destination_
service_ Sequence[Projectaccounts Spec Destination Service Account] - Service accounts to be impersonated for the application sync operation for each destination.
- destinations
Sequence[Project
Spec Destination] - Destinations available for deployment.
- 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 Sequence[ProjectSpec Orphaned Resource] - Configuration for orphaned resources tracking.
- roles
Sequence[Project
Spec Role] - Project roles.
- signature_
keys Sequence[str] - Signature keys for verifying the integrity of applications.
- source_
namespaces Sequence[str] - List of source namespaces for applications.
- source_
repos Sequence[str] - List of repositories from which applications may be created.
- sync_
windows Sequence[ProjectSpec Sync Window] - Controls when sync operations are allowed for the project.
- cluster
Resource List<Property Map>Blacklists - Blacklisted cluster level resources.
- cluster
Resource List<Property Map>Whitelists - Whitelisted cluster level resources.
- description String
- Project description.
- destination
Service List<Property Map>Accounts - Service accounts to be impersonated for the application sync operation for each destination.
- destinations List<Property Map>
- Destinations available for deployment.
- namespace
Resource List<Property Map>Blacklists - Blacklisted namespace level resources.
- namespace
Resource List<Property Map>Whitelists - Whitelisted namespace level resources.
- orphaned
Resources List<Property Map> - Configuration for orphaned resources tracking.
- roles List<Property Map>
- Project roles.
- signature
Keys List<String> - Signature keys for verifying the integrity of applications.
- source
Namespaces List<String> - List of source namespaces for applications.
- source
Repos List<String> - List of repositories from which applications may be created.
- sync
Windows List<Property Map> - Controls when sync operations are allowed for the project.
ProjectSpecClusterResourceBlacklist, ProjectSpecClusterResourceBlacklistArgs
ProjectSpecClusterResourceWhitelist, ProjectSpecClusterResourceWhitelistArgs
ProjectSpecDestination, ProjectSpecDestinationArgs
ProjectSpecDestinationServiceAccount, ProjectSpecDestinationServiceAccountArgs
- Default
Service stringAccount - Used for impersonation during the sync operation
- Namespace string
- Specifies the target namespace for the application's resources.
- Server string
- Specifies the URL of the target cluster's Kubernetes control plane API.
- Default
Service stringAccount - Used for impersonation during the sync operation
- Namespace string
- Specifies the target namespace for the application's resources.
- Server string
- Specifies the URL of the target cluster's Kubernetes control plane API.
- default
Service StringAccount - Used for impersonation during the sync operation
- namespace String
- Specifies the target namespace for the application's resources.
- server String
- Specifies the URL of the target cluster's Kubernetes control plane API.
- default
Service stringAccount - Used for impersonation during the sync operation
- namespace string
- Specifies the target namespace for the application's resources.
- server string
- Specifies the URL of the target cluster's Kubernetes control plane API.
- default_
service_ straccount - Used for impersonation during the sync operation
- namespace str
- Specifies the target namespace for the application's resources.
- server str
- Specifies the URL of the target cluster's Kubernetes control plane API.
- default
Service StringAccount - Used for impersonation during the sync operation
- namespace String
- Specifies the target namespace for the application's resources.
- server String
- Specifies the URL of the target cluster's Kubernetes control plane API.
ProjectSpecNamespaceResourceBlacklist, ProjectSpecNamespaceResourceBlacklistArgs
ProjectSpecNamespaceResourceWhitelist, ProjectSpecNamespaceResourceWhitelistArgs
ProjectSpecOrphanedResource, ProjectSpecOrphanedResourceArgs
- Ignores
List<Three14.
Argocd. Inputs. Project Spec Orphaned Resource Ignore> - List of resources to ignore during orphaned resources detection.
- Warn bool
- Whether a warning condition should be created for apps which have orphaned resources.
- Ignores
[]Project
Spec Orphaned Resource Ignore - List of resources to ignore during orphaned resources detection.
- Warn bool
- Whether a warning condition should be created for apps which have orphaned resources.
- ignores
List<Project
Spec Orphaned Resource Ignore> - List of resources to ignore during orphaned resources detection.
- warn Boolean
- Whether a warning condition should be created for apps which have orphaned resources.
- ignores
Project
Spec Orphaned Resource Ignore[] - List of resources to ignore during orphaned resources detection.
- warn boolean
- Whether a warning condition should be created for apps which have orphaned resources.
- ignores
Sequence[Project
Spec Orphaned Resource Ignore] - List of resources to ignore during orphaned resources detection.
- warn bool
- Whether a warning condition should be created for apps which have orphaned resources.
- ignores List<Property Map>
- List of resources to ignore during orphaned resources detection.
- warn Boolean
- Whether a warning condition should be created for apps which have orphaned resources.
ProjectSpecOrphanedResourceIgnore, ProjectSpecOrphanedResourceIgnoreArgs
ProjectSpecRole, ProjectSpecRoleArgs
- Name string
- The 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.
- Jwt
Tokens List<Three14.Argocd. Inputs. Project Spec Role Jwt Token> - List of JWT tokens issued for this role.
- Name string
- The 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.
- Jwt
Tokens []ProjectSpec Role Jwt Token - List of JWT tokens issued for this role.
- name String
- The 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.
- jwt
Tokens List<ProjectSpec Role Jwt Token> - List of JWT tokens issued for this role.
- name string
- The 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.
- jwt
Tokens ProjectSpec Role Jwt Token[] - List of JWT tokens issued for this role.
- name str
- The 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.
- jwt_
tokens Sequence[ProjectSpec Role Jwt Token] - List of JWT tokens issued for this role.
- name String
- The 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.
- jwt
Tokens List<Property Map> - List of JWT tokens issued for this role.
ProjectSpecRoleJwtToken, ProjectSpecRoleJwtTokenArgs
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. - Manual
Sync 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.
- Use
And boolOperator - Defines if the AND operator should be used among the various conditions for the sync window.
- 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. - Manual
Sync 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.
- Use
And boolOperator - Defines if the AND operator should be used among the various conditions for the sync window.
- 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. - manual
Sync 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.
- use
And BooleanOperator - Defines if the AND operator should be used among the various conditions for the sync window.
- 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. - manual
Sync 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.
- use
And booleanOperator - Defines if the AND operator should be used among the various conditions for the sync window.
- 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.
- use_
and_ booloperator - Defines if the AND operator should be used among the various conditions for the sync window.
- 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. - manual
Sync 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.
- use
And BooleanOperator - Defines if the AND operator should be used among the various conditions for the sync window.
Import
The pulumi import command can be used, for example:
Projects can be imported using the project name.
$ 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.
published on Saturday, Mar 21, 2026 by Three141
