import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; export interface EncryptedTextUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input; } export interface EnvironmentVariableOverride { /** * The name of the variable */ name: pulumi.Input; /** * The name of the service */ serviceName?: pulumi.Input; /** * The type of the service variable. Valid values are `TEXT` and `ENCRYPTED_TEXT` */ type: pulumi.Input; /** * The value of the service variable */ value: pulumi.Input; } export interface GetEncryptedTextUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } export interface GetEncryptedTextUsageScopeArgs { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input; } export interface GetEnvironmentVariableOverride { /** * The name of the variable */ name?: string; /** * The name of the service */ serviceName?: string; /** * The type of the service variable. Valid values are `TEXT` and `ENCRYPTED_TEXT` */ type?: string; /** * The value of the service variable */ value?: string; } export interface GetEnvironmentVariableOverrideArgs { /** * The name of the variable */ name?: pulumi.Input; /** * The name of the service */ serviceName?: pulumi.Input; /** * The type of the service variable. Valid values are `TEXT` and `ENCRYPTED_TEXT` */ type?: pulumi.Input; /** * The value of the service variable */ value?: pulumi.Input; } export interface GetSecretManagerUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } export interface GetSecretManagerUsageScopeArgs { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input; } export interface GetSshCredentialUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: string; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: string; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: string; } export interface GetSshCredentialUsageScopeArgs { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input; } export interface GitConnectorCommitDetails { /** * The email id of the author */ authorEmailId?: pulumi.Input; /** * The name of the author */ authorName?: pulumi.Input; /** * Commit message */ message?: pulumi.Input; } export interface GitConnectorUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input; } export interface InfrastructureDefinitionAwsAmi { /** * The ami deployment type to use. Valid options are AWS_ASG, SPOTINST */ amiDeploymentType: pulumi.Input; /** * Flag to indicate whether the autoscaling group identifies the workload. */ asgIdentifiesWorkload?: pulumi.Input; /** * The name of the autoscaling group. */ autoscalingGroupName?: pulumi.Input; /** * The classic load balancers to use. */ classicLoadbalancers?: pulumi.Input[] | undefined>; /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]} */ hostnameConvention?: pulumi.Input; /** * The region to deploy to. */ region: pulumi.Input; /** * The name of the SpotInst cloud provider to connect with. */ spotinstCloudProviderName?: pulumi.Input; /** * The SpotInst configuration to use. */ spotinstConfigJson?: pulumi.Input; /** * The staging classic load balancers to use. */ stageClassicLoadbalancers?: pulumi.Input[] | undefined>; /** * The staging classic load balancers to use. */ stageTargetGroupArns?: pulumi.Input[] | undefined>; /** * The ARN's of the target groups. */ targetGroupArns?: pulumi.Input[] | undefined>; /** * Flag to enable traffic shifting. */ useTrafficShift?: pulumi.Input; } export interface InfrastructureDefinitionAwsEcs { /** * Flag to assign a public IP address. */ assignPublicIp?: pulumi.Input; /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The name of the ECS cluster to use. */ clusterName: pulumi.Input; /** * The ARN of the role to use for execution. */ executionRole?: pulumi.Input; /** * The type of launch configuration to use. Valid options are FARGATE */ launchType: pulumi.Input; /** * The region to deploy to. */ region: pulumi.Input; /** * The security group ids to apply to the ecs service. */ securityGroupIds?: pulumi.Input[] | undefined>; /** * The subnet ids to apply to the ecs service. */ subnetIds?: pulumi.Input[] | undefined>; /** * The VPC ids to use when selecting the instances. */ vpcId?: pulumi.Input; } export interface InfrastructureDefinitionAwsLambda { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The IAM role to use. */ iamRole?: pulumi.Input; /** * The region to deploy to. */ region: pulumi.Input; /** * The security group ids to apply to the ecs service. */ securityGroupIds?: pulumi.Input[] | undefined>; /** * The subnet ids to apply to the ecs service. */ subnetIds?: pulumi.Input[] | undefined>; /** * The VPC ids to use when selecting the instances. */ vpcId?: pulumi.Input; } export interface InfrastructureDefinitionAwsSsh { /** * The name of the autoscaling group. */ autoscalingGroupName?: pulumi.Input; /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The desired capacity of the auto scaling group. */ desiredCapacity?: pulumi.Input; /** * The name of the host connection attributes to use. */ hostConnectionAttrsName?: pulumi.Input; /** * The type of host connection to use. Valid options are PRIVATE*DNS, PUBLIC*DNS, PRIVATE*IP, PUBLIC*IP */ hostConnectionType: pulumi.Input; /** * The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]} */ hostnameConvention?: pulumi.Input; /** * The name of the load balancer to use. */ loadbalancerName?: pulumi.Input; /** * The region to deploy to. */ region: pulumi.Input; /** * The tags to use when selecting the instances. */ tags?: pulumi.Input[] | undefined>; /** * The VPC ids to use when selecting the instances. */ vpcIds?: pulumi.Input[] | undefined>; } export interface InfrastructureDefinitionAwsSshTag { /** * The key of the tag. */ key: pulumi.Input; /** * The value of the tag. */ value: pulumi.Input; } export interface InfrastructureDefinitionAwsWinrm { /** * The name of the autoscaling group. */ autoscalingGroupName: pulumi.Input; /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The desired capacity of the autoscaling group. */ desiredCapacity?: pulumi.Input; /** * The name of the host connection attributes to use. */ hostConnectionAttrsName: pulumi.Input; /** * The type of host connection to use. Valid options are PRIVATE*DNS, PUBLIC*DNS, PRIVATE*IP, PUBLIC*IP */ hostConnectionType: pulumi.Input; /** * The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]} */ hostnameConvention?: pulumi.Input; /** * The name of the load balancer to use. */ loadbalancerName?: pulumi.Input; /** * The region to deploy to. */ region: pulumi.Input; } export interface InfrastructureDefinitionAzureVmss { /** * The type of authentication to use. Valid options are SSH*PUBLIC*KEY. */ authType: pulumi.Input; /** * Base name. */ baseName: pulumi.Input; /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The type of deployment. Valid options are NATIVE_VMSS */ deploymentType: pulumi.Input; /** * The name of the host connection attributes to use. */ hostConnectionAttrsName?: pulumi.Input; /** * The name of the resource group. */ resourceGroupName: pulumi.Input; /** * The unique id of the azure subscription. */ subscriptionId: pulumi.Input; /** * The username to connect with. */ username: pulumi.Input; } export interface InfrastructureDefinitionAzureWebapp { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The name of the resource group. */ resourceGroup: pulumi.Input; /** * The unique id of the azure subscription. */ subscriptionId: pulumi.Input; } export interface InfrastructureDefinitionCustom { /** * The template version */ deploymentTypeTemplateVersion: pulumi.Input; /** * Variables to be used in the service */ variables?: pulumi.Input[] | undefined>; } export interface InfrastructureDefinitionCustomVariable { /** * Name of the variable */ name: pulumi.Input; /** * Value of the variable */ value: pulumi.Input; } export interface InfrastructureDefinitionDatacenterSsh { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The name of the SSH connection attributes to use. */ hostConnectionAttributesName: pulumi.Input; /** * A list of hosts to deploy to. */ hostnames: pulumi.Input[]>; } export interface InfrastructureDefinitionDatacenterWinrm { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * A list of hosts to deploy to. */ hostnames: pulumi.Input[]>; /** * The name of the WinRM connection attributes to use. */ winrmConnectionAttributesName: pulumi.Input; } export interface InfrastructureDefinitionKubernetes { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The namespace in Kubernetes to deploy to. */ namespace: pulumi.Input; /** * The naming convention of the release. When using Helm Native the default is ${infra.kubernetes.infraId}. For standard Kubernetes manifests the default is release-${infra.kubernetes.infraId} */ releaseName: pulumi.Input; } export interface InfrastructureDefinitionKubernetesGcp { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The name of the cluster being deployed to. */ clusterName: pulumi.Input; /** * The namespace in Kubernetes to deploy to. */ namespace: pulumi.Input; /** * The naming convention of the release. */ releaseName: pulumi.Input; } export interface InfrastructureDefinitionTanzu { /** * The name of the cloud provider to connect with. */ cloudProviderName: pulumi.Input; /** * The PCF organization to use. */ organization: pulumi.Input; /** * The PCF space to deploy to. */ space: pulumi.Input; } export interface PlatformCcmFiltersFilterProperties { /** * Type of CCM filters. */ filterType: pulumi.Input; /** * Tags to associate with the resource. Tags should be in the form `name:value`. */ tags?: pulumi.Input[] | undefined>; } export interface SshCredentialKerberosAuthentication { /** * Port to use for Kerberos authentication */ port: pulumi.Input; /** * Name of the principal for authentication */ principal: pulumi.Input; /** * Realm associated with the Kerberos authentication */ realm: pulumi.Input; /** * TGT generation method */ tgtGenerationMethod?: pulumi.Input; } export interface SshCredentialKerberosAuthenticationTgtGenerationMethod { /** * The id of the encrypted text secret */ kerberosPasswordId?: pulumi.Input; /** * The path to the key tab file */ keyTabFilePath?: pulumi.Input; } export interface SshCredentialSshAuthentication { /** * Inline SSH authentication configuration. Only ond of `passphraseSecretId` or `sshKeyFileId` should be used */ inlineSsh?: pulumi.Input; /** * The port to connect to */ port: pulumi.Input; /** * Server password authentication configuration */ serverPassword?: pulumi.Input; /** * Use ssh key file for authentication */ sshKeyFile?: pulumi.Input; /** * The username to use when connecting to ssh */ username: pulumi.Input; } export interface SshCredentialSshAuthenticationInlineSsh { /** * The id of the encrypted secret to use */ passphraseSecretId?: pulumi.Input; /** * The id of the secret containing the SSH key */ sshKeyFileId: pulumi.Input; } export interface SshCredentialSshAuthenticationServerPassword { /** * The id of the encrypted secret */ passwordSecretId: pulumi.Input; } export interface SshCredentialSshAuthenticationSshKeyFile { /** * The id of the secret containing the password to use for the ssh key */ passphraseSecretId?: pulumi.Input; /** * The path to the key file on the delegate */ path: pulumi.Input; } export interface SshCredentialUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input; } export interface UserGroupLdapSettings { /** * The group DN of the LDAP user group. */ groupDn?: pulumi.Input; /** * The group name of the LDAP user group. */ groupName?: pulumi.Input; /** * The ID of the SSO provider. */ ssoProviderId?: pulumi.Input; } export interface UserGroupNotificationSettings { /** * The email addresses of the user group. */ groupEmailAddresses?: pulumi.Input[] | undefined>; /** * The Microsoft Teams webhook URL of the user group. */ microsoftTeamsWebhookUrl?: pulumi.Input; /** * Indicates whether an email is sent when a new user is added to the group. */ sendMailToNewMembers?: pulumi.Input; /** * Enable this setting to have notifications sent to the members of this group. */ sendNotificationsToMembers?: pulumi.Input; /** * The Slack channel to send notifications to. */ slackChannel?: pulumi.Input; /** * The Slack webhook URL to send notifications to. */ slackWebhookUrl?: pulumi.Input; } export interface UserGroupPermissions { /** * The account permissions of the user group. Valid options are ADMINISTER*OTHER*ACCOUNT*FUNCTIONS, CREATE*AND*DELETE*APPLICATION, CREATE*CUSTOM*DASHBOARDS, MANAGE*ALERT*NOTIFICATION*RULES, MANAGE*API*KEYS, MANAGE*APPLICATION*STACKS, MANAGE*AUTHENTICATION*SETTINGS, MANAGE*CLOUD*PROVIDERS, MANAGE*CONFIG*AS*CODE, MANAGE*CONNECTORS, MANAGE*CUSTOM*DASHBOARDS, MANAGE*DELEGATE*PROFILES, MANAGE*DELEGATES, MANAGE*DEPLOYMENT*FREEZES, MANAGE*IP*WHITELIST, MANAGE*PIPELINE*GOVERNANCE*STANDARDS, MANAGE*RESTRICTED*ACCESS, MANAGE*SECRET*MANAGERS, MANAGE*SECRETS, MANAGE*SSH*AND*WINRM, MANAGE*TAGS, MANAGE*TEMPLATE*LIBRARY, MANAGE*USER*AND*USER*GROUPS*AND*API*KEYS, MANAGE*USERS*AND*GROUPS, READ*USERS*AND*GROUPS, VIEW*AUDITS, VIEW*USER*AND*USER*GROUPS*AND*API_KEYS */ accountPermissions?: pulumi.Input[] | undefined>; /** * Application specific permissions */ appPermissions?: pulumi.Input; } export interface UserGroupPermissionsAppPermissions { /** * The permission to perform actions against all resources. */ alls?: pulumi.Input[] | undefined>; /** * Permission configuration to perform actions against deployments. */ deployments?: pulumi.Input[] | undefined>; /** * Permission configuration to perform actions against workflows. */ environments?: pulumi.Input[] | undefined>; /** * Permission configuration to perform actions against pipelines. */ pipelines?: pulumi.Input[] | undefined>; /** * Permission configuration to perform actions against provisioners. */ provisioners?: pulumi.Input[] | undefined>; /** * Permission configuration to perform actions against services. */ services?: pulumi.Input[] | undefined>; /** * Permission configuration to perform actions against templates. */ templates?: pulumi.Input[] | undefined>; /** * Permission configuration to perform actions against workflows. */ workflows?: pulumi.Input[] | undefined>; } export interface UserGroupPermissionsAppPermissionsAll { /** * The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE, EXECUTE*WORKFLOW, EXECUTE*PIPELINE, ROLLBACK_WORKFLOW */ actions: pulumi.Input[]>; /** * The application IDs to which the permission applies. Leave empty to apply to all applications. */ appIds?: pulumi.Input[] | undefined>; } export interface UserGroupPermissionsAppPermissionsDeployment { /** * The actions allowed to be performed. Valid options are READ, EXECUTE*WORKFLOW, EXECUTE*PIPELINE, ROLLBACK*WORKFLOW, ABORT*WORKFLOW */ actions: pulumi.Input[]>; /** * The application IDs to which the permission applies. Leave empty to apply to all applications. */ appIds?: pulumi.Input[] | undefined>; /** * The environment IDs to which the permission applies. Leave empty to apply to all environments. */ envIds?: pulumi.Input[] | undefined>; /** * The filters to apply to the action. Valid options are: NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ filters?: pulumi.Input[] | undefined>; } export interface UserGroupPermissionsAppPermissionsEnvironment { /** * The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE */ actions: pulumi.Input[]>; /** * The application IDs to which the permission applies. Leave empty to apply to all applications. */ appIds?: pulumi.Input[] | undefined>; /** * The environment IDs to which the permission applies. Leave empty to apply to all environments. */ envIds?: pulumi.Input[] | undefined>; /** * The filters to apply to the action. Valid options are: NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ filters?: pulumi.Input[] | undefined>; } export interface UserGroupPermissionsAppPermissionsPipeline { /** * The actions allowed to be performed. Valid options are [CREATE READ UPDATE DELETE] */ actions: pulumi.Input[]>; /** * The application IDs to which the permission applies. Leave empty to apply to all applications. */ appIds?: pulumi.Input[] | undefined>; /** * The environment IDs to which the permission applies. Leave empty to apply to all environments. */ envIds?: pulumi.Input[] | undefined>; /** * The filters to apply to the action. Valid options are: NON*PRODUCTION*PIPELINES, PRODUCTION_PIPELINES. */ filters?: pulumi.Input[] | undefined>; } export interface UserGroupPermissionsAppPermissionsProvisioner { /** * The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE */ actions: pulumi.Input[]>; /** * The application IDs to which the permission applies. Leave empty to apply to all applications. */ appIds?: pulumi.Input[] | undefined>; /** * The provisioner IDs to which the permission applies. Leave empty to apply to all provisioners. */ provisionerIds?: pulumi.Input[] | undefined>; } export interface UserGroupPermissionsAppPermissionsService { /** * The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE */ actions: pulumi.Input[]>; /** * The application IDs to which the permission applies. Leave empty to apply to all applications. */ appIds?: pulumi.Input[] | undefined>; /** * The service IDs to which the permission applies. Leave empty to apply to all services. */ serviceIds?: pulumi.Input[] | undefined>; } export interface UserGroupPermissionsAppPermissionsTemplate { /** * The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE */ actions: pulumi.Input[]>; /** * The application IDs to which the permission applies. Leave empty to apply to all applications. */ appIds?: pulumi.Input[] | undefined>; /** * The template IDs to which the permission applies. Leave empty to apply to all environments. */ templateIds?: pulumi.Input[] | undefined>; } export interface UserGroupPermissionsAppPermissionsWorkflow { /** * The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE */ actions: pulumi.Input[]>; /** * The application IDs to which the permission applies. Leave empty to apply to all applications. */ appIds?: pulumi.Input[] | undefined>; /** * The filters to apply to the action. Valid options are: NON*PRODUCTION*WORKFLOWS, PRODUCTION*WORKFLOWS, WORKFLOW*TEMPLATES. */ filters?: pulumi.Input[] | undefined>; } export interface UserGroupSamlSettings { /** * The group name of the SAML user group. */ groupName?: pulumi.Input; /** * The ID of the SSO provider. */ ssoProviderId?: pulumi.Input; } export declare namespace autostopping { interface AlertRecipients { /** * List of email addresses to notify. Required if `slack` is not set. */ emails?: pulumi.Input[] | undefined>; /** * List of Slack webhook URLs or channel identifiers to notify. Required if `email` is not set. */ slacks?: pulumi.Input[] | undefined>; } interface AwsProxyCertificates { /** * Certificate secret ID */ certSecretId: pulumi.Input; /** * Private key secret ID */ keySecretId: pulumi.Input; } interface AzureProxyCertificates { /** * ID of certificate secret uploaded to vault */ certSecretId: pulumi.Input; /** * ID of certificate key uploaded to vault */ keySecretId: pulumi.Input; } interface GcpProxyCertificates { /** * Certificate secret ID */ certSecretId: pulumi.Input; /** * Private key secret ID */ keySecretId: pulumi.Input; } interface GetAlertRecipients { /** * List of email addresses. */ emails?: string[]; /** * List of Slack webhook URLs or channel identifiers. */ slacks?: string[]; } interface GetAlertRecipientsArgs { /** * List of email addresses. */ emails?: pulumi.Input[] | undefined>; /** * List of Slack webhook URLs or channel identifiers. */ slacks?: pulumi.Input[] | undefined>; } interface GetAwsProxyCertificates { /** * Certificate secret ID */ certSecretId: string; /** * Private key secret ID */ keySecretId: string; } interface GetAwsProxyCertificatesArgs { /** * Certificate secret ID */ certSecretId: pulumi.Input; /** * Private key secret ID */ keySecretId: pulumi.Input; } interface GetAzureProxyCertificates { /** * ID of certificate secret uploaded to vault */ certSecretId: string; /** * ID of certificate key uploaded to vault */ keySecretId: string; } interface GetAzureProxyCertificatesArgs { /** * ID of certificate secret uploaded to vault */ certSecretId: pulumi.Input; /** * ID of certificate key uploaded to vault */ keySecretId: pulumi.Input; } interface GetGcpProxyCertificates { /** * Certificate secret ID */ certSecretId: string; /** * Private key secret ID */ keySecretId: string; } interface GetGcpProxyCertificatesArgs { /** * Certificate secret ID */ certSecretId: pulumi.Input; /** * Private key secret ID */ keySecretId: pulumi.Input; } interface GetRuleEcsContainer { /** * Name of cluster in which service belong to */ cluster: string; /** * Region of cluster */ region: string; /** * Name of service to be onboarded */ service: string; /** * Desired number of tasks on warming up a rule */ taskCount?: number; } interface GetRuleEcsContainerArgs { /** * Name of cluster in which service belong to */ cluster: pulumi.Input; /** * Region of cluster */ region: pulumi.Input; /** * Name of service to be onboarded */ service: pulumi.Input; /** * Desired number of tasks on warming up a rule */ taskCount?: pulumi.Input; } interface GetRuleEcsDepend { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: number; /** * Rule id of the dependent rule */ ruleId: number; } interface GetRuleEcsDependArgs { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: pulumi.Input; /** * Rule id of the dependent rule */ ruleId: pulumi.Input; } interface GetRuleEcsHttp { /** * Id of the proxy */ proxyId: string; } interface GetRuleEcsHttpArgs { /** * Id of the proxy */ proxyId: pulumi.Input; } interface GetRuleK8sDepend { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: number; /** * Rule id of the dependent rule */ ruleId: number; } interface GetRuleK8sDependArgs { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: pulumi.Input; /** * Rule id of the dependent rule */ ruleId: pulumi.Input; } interface GetRuleRdsDatabase { /** * ID of the database */ id: string; /** * Region to which database belong to */ region: string; } interface GetRuleRdsDatabaseArgs { /** * ID of the database */ id: pulumi.Input; /** * Region to which database belong to */ region: pulumi.Input; } interface GetRuleRdsDepend { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: number; /** * Rule id of the dependent rule */ ruleId: number; } interface GetRuleRdsDependArgs { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: pulumi.Input; /** * Rule id of the dependent rule */ ruleId: pulumi.Input; } interface GetRuleRdsTcp { /** * Additional tcp forwarding rules */ forwardRules?: inputs.autostopping.GetRuleRdsTcpForwardRule[]; /** * Id of the Proxy */ proxyId: string; } interface GetRuleRdsTcpArgs { /** * Additional tcp forwarding rules */ forwardRules?: pulumi.Input[] | undefined>; /** * Id of the Proxy */ proxyId: pulumi.Input; } interface GetRuleRdsTcpForwardRule { /** * Port to listen on the proxy */ connectOn?: number; /** * Port to listen on the vm */ port: number; } interface GetRuleRdsTcpForwardRuleArgs { /** * Port to listen on the proxy */ connectOn?: pulumi.Input; /** * Port to listen on the vm */ port: pulumi.Input; } interface GetRuleScaleGroupDepend { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: number; /** * Rule id of the dependent rule */ ruleId: number; } interface GetRuleScaleGroupDependArgs { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: pulumi.Input; /** * Rule id of the dependent rule */ ruleId: pulumi.Input; } interface GetRuleScaleGroupHttp { /** * Health Check Details */ healths?: inputs.autostopping.GetRuleScaleGroupHttpHealth[]; /** * Id of the proxy */ proxyId: string; /** * Routing configuration used to access the scaling group */ routings?: inputs.autostopping.GetRuleScaleGroupHttpRouting[]; } interface GetRuleScaleGroupHttpArgs { /** * Health Check Details */ healths?: pulumi.Input[] | undefined>; /** * Id of the proxy */ proxyId: pulumi.Input; /** * Routing configuration used to access the scaling group */ routings?: pulumi.Input[] | undefined>; } interface GetRuleScaleGroupHttpHealth { /** * API path to use for health check */ path?: string; /** * Health check port on the VM */ port: number; /** * Protocol can be http or https */ protocol: string; /** * Lower limit for acceptable status code */ statusCodeFrom?: number; /** * Upper limit for acceptable status code */ statusCodeTo?: number; /** * Health check timeout */ timeout?: number; } interface GetRuleScaleGroupHttpHealthArgs { /** * API path to use for health check */ path?: pulumi.Input; /** * Health check port on the VM */ port: pulumi.Input; /** * Protocol can be http or https */ protocol: pulumi.Input; /** * Lower limit for acceptable status code */ statusCodeFrom?: pulumi.Input; /** * Upper limit for acceptable status code */ statusCodeTo?: pulumi.Input; /** * Health check timeout */ timeout?: pulumi.Input; } interface GetRuleScaleGroupHttpRouting { /** * Action to take for the routing rule */ action?: string; /** * Path to use for the proxy */ path?: string; /** * Port on the proxy */ sourcePort?: number; /** * Source protocol of the proxy can be http or https */ sourceProtocol: string; /** * Port on the VM */ targetPort?: number; /** * Target protocol of the instance can be http or https */ targetProtocol: string; } interface GetRuleScaleGroupHttpRoutingArgs { /** * Action to take for the routing rule */ action?: pulumi.Input; /** * Path to use for the proxy */ path?: pulumi.Input; /** * Port on the proxy */ sourcePort?: pulumi.Input; /** * Source protocol of the proxy can be http or https */ sourceProtocol: pulumi.Input; /** * Port on the VM */ targetPort?: pulumi.Input; /** * Target protocol of the instance can be http or https */ targetProtocol: pulumi.Input; } interface GetRuleScaleGroupScaleGroup { /** * Desired capacity of the Scaling Group */ desired: number; /** * ID of the Scaling Group */ id: string; /** * Maximum capacity of the Scaling Group */ max: number; /** * Minimum capacity of the Scaling Group */ min: number; /** * Name of the Scaling Group */ name: string; /** * On-demand capacity of the Scaling Group */ onDemand: number; /** * Region of the Scaling Group */ region?: string; /** * Zone of the Scaling Group. Needed for GCP only */ zone?: string; } interface GetRuleScaleGroupScaleGroupArgs { /** * Desired capacity of the Scaling Group */ desired: pulumi.Input; /** * ID of the Scaling Group */ id: pulumi.Input; /** * Maximum capacity of the Scaling Group */ max: pulumi.Input; /** * Minimum capacity of the Scaling Group */ min: pulumi.Input; /** * Name of the Scaling Group */ name: pulumi.Input; /** * On-demand capacity of the Scaling Group */ onDemand: pulumi.Input; /** * Region of the Scaling Group */ region?: pulumi.Input; /** * Zone of the Scaling Group. Needed for GCP only */ zone?: pulumi.Input; } interface GetRuleVmDepend { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: number; /** * Rule id of the dependent rule */ ruleId: number; } interface GetRuleVmDependArgs { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: pulumi.Input; /** * Rule id of the dependent rule */ ruleId: pulumi.Input; } interface GetRuleVmFilter { /** * Regions of instances that needs to be managed using the AutoStopping rules */ regions?: string[]; /** * Tags of instances that needs to be managed using the AutoStopping rules */ tags?: inputs.autostopping.GetRuleVmFilterTag[]; /** * Ids of instances that needs to be managed using the AutoStopping rules */ vmIds?: string[]; /** * Zones of instances that needs to be managed using the AutoStopping rules */ zones?: string[]; } interface GetRuleVmFilterArgs { /** * Regions of instances that needs to be managed using the AutoStopping rules */ regions?: pulumi.Input[] | undefined>; /** * Tags of instances that needs to be managed using the AutoStopping rules */ tags?: pulumi.Input[] | undefined>; /** * Ids of instances that needs to be managed using the AutoStopping rules */ vmIds?: pulumi.Input[] | undefined>; /** * Zones of instances that needs to be managed using the AutoStopping rules */ zones?: pulumi.Input[] | undefined>; } interface GetRuleVmFilterTag { key: string; value: string; } interface GetRuleVmFilterTagArgs { key: pulumi.Input; value: pulumi.Input; } interface GetRuleVmHttp { /** * Health Check Details */ healths?: inputs.autostopping.GetRuleVmHttpHealth[]; /** * Id of the proxy */ proxyId: string; /** * Routing configuration used to access the instances */ routings?: inputs.autostopping.GetRuleVmHttpRouting[]; } interface GetRuleVmHttpArgs { /** * Health Check Details */ healths?: pulumi.Input[] | undefined>; /** * Id of the proxy */ proxyId: pulumi.Input; /** * Routing configuration used to access the instances */ routings?: pulumi.Input[] | undefined>; } interface GetRuleVmHttpHealth { /** * API path to use for health check */ path?: string; /** * Health check port on the VM */ port: number; /** * Protocol can be http or https */ protocol: string; /** * Lower limit for acceptable status code */ statusCodeFrom?: number; /** * Upper limit for acceptable status code */ statusCodeTo?: number; /** * Health check timeout */ timeout?: number; } interface GetRuleVmHttpHealthArgs { /** * API path to use for health check */ path?: pulumi.Input; /** * Health check port on the VM */ port: pulumi.Input; /** * Protocol can be http or https */ protocol: pulumi.Input; /** * Lower limit for acceptable status code */ statusCodeFrom?: pulumi.Input; /** * Upper limit for acceptable status code */ statusCodeTo?: pulumi.Input; /** * Health check timeout */ timeout?: pulumi.Input; } interface GetRuleVmHttpRouting { /** * Action to take for the routing rule */ action?: string; /** * Path to use for the proxy */ path?: string; /** * Port on the proxy */ sourcePort?: number; /** * Source protocol of the proxy can be http or https */ sourceProtocol: string; /** * Port on the VM */ targetPort?: number; /** * Target protocol of the instance can be http or https */ targetProtocol: string; } interface GetRuleVmHttpRoutingArgs { /** * Action to take for the routing rule */ action?: pulumi.Input; /** * Path to use for the proxy */ path?: pulumi.Input; /** * Port on the proxy */ sourcePort?: pulumi.Input; /** * Source protocol of the proxy can be http or https */ sourceProtocol: pulumi.Input; /** * Port on the VM */ targetPort?: pulumi.Input; /** * Target protocol of the instance can be http or https */ targetProtocol: pulumi.Input; } interface GetRuleVmTcp { /** * Additional tcp forwarding rules */ forwardRules?: inputs.autostopping.GetRuleVmTcpForwardRule[]; /** * Id of the Proxy */ proxyId: string; /** * RDP configuration */ rdps?: inputs.autostopping.GetRuleVmTcpRdp[]; /** * SSH configuration */ sshes?: inputs.autostopping.GetRuleVmTcpSsh[]; } interface GetRuleVmTcpArgs { /** * Additional tcp forwarding rules */ forwardRules?: pulumi.Input[] | undefined>; /** * Id of the Proxy */ proxyId: pulumi.Input; /** * RDP configuration */ rdps?: pulumi.Input[] | undefined>; /** * SSH configuration */ sshes?: pulumi.Input[] | undefined>; } interface GetRuleVmTcpForwardRule { /** * Port to listen on the proxy */ connectOn?: number; /** * Port to listen on the vm */ port: number; } interface GetRuleVmTcpForwardRuleArgs { /** * Port to listen on the proxy */ connectOn?: pulumi.Input; /** * Port to listen on the vm */ port: pulumi.Input; } interface GetRuleVmTcpRdp { /** * Port to listen on the proxy */ connectOn?: number; /** * Port to listen on the vm */ port?: number; } interface GetRuleVmTcpRdpArgs { /** * Port to listen on the proxy */ connectOn?: pulumi.Input; /** * Port to listen on the vm */ port?: pulumi.Input; } interface GetRuleVmTcpSsh { /** * Port to listen on the proxy */ connectOn?: number; /** * Port to listen on the vm */ port?: number; } interface GetRuleVmTcpSshArgs { /** * Port to listen on the proxy */ connectOn?: pulumi.Input; /** * Port to listen on the vm */ port?: pulumi.Input; } interface RuleEcsContainer { /** * Name of cluster in which service belong to */ cluster: pulumi.Input; /** * Region of cluster */ region: pulumi.Input; /** * Name of service to be onboarded */ service: pulumi.Input; /** * Desired number of tasks on warming up a rule */ taskCount?: pulumi.Input; } interface RuleEcsDepend { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: pulumi.Input; /** * Rule id of the dependent rule */ ruleId: pulumi.Input; } interface RuleEcsHttp { /** * Id of the proxy */ proxyId: pulumi.Input; } interface RuleK8sDepend { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: pulumi.Input; /** * Rule id of the dependent rule */ ruleId: pulumi.Input; } interface RuleRdsDatabase { /** * ID of the database */ id: pulumi.Input; /** * Region to which database belong to */ region: pulumi.Input; } interface RuleRdsDepend { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: pulumi.Input; /** * Rule id of the dependent rule */ ruleId: pulumi.Input; } interface RuleRdsTcp { /** * Additional tcp forwarding rules */ forwardRules?: pulumi.Input[] | undefined>; /** * Id of the Proxy */ proxyId: pulumi.Input; } interface RuleRdsTcpForwardRule { /** * Port to listen on the proxy */ connectOn?: pulumi.Input; /** * Port to listen on the vm */ port: pulumi.Input; } interface RuleScaleGroupDepend { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: pulumi.Input; /** * Rule id of the dependent rule */ ruleId: pulumi.Input; } interface RuleScaleGroupHttp { /** * Health Check Details */ healths?: pulumi.Input[] | undefined>; /** * Id of the proxy */ proxyId: pulumi.Input; /** * Routing configuration used to access the scaling group */ routings?: pulumi.Input[] | undefined>; } interface RuleScaleGroupHttpHealth { /** * API path to use for health check */ path?: pulumi.Input; /** * Health check port on the VM */ port: pulumi.Input; /** * Protocol can be http or https */ protocol: pulumi.Input; /** * Lower limit for acceptable status code */ statusCodeFrom?: pulumi.Input; /** * Upper limit for acceptable status code */ statusCodeTo?: pulumi.Input; /** * Health check timeout */ timeout?: pulumi.Input; } interface RuleScaleGroupHttpRouting { /** * Action to take for the routing rule */ action?: pulumi.Input; /** * Path to use for the proxy */ path?: pulumi.Input; /** * Port on the proxy */ sourcePort?: pulumi.Input; /** * Source protocol of the proxy can be http or https */ sourceProtocol: pulumi.Input; /** * Port on the VM */ targetPort?: pulumi.Input; /** * Target protocol of the instance can be http or https */ targetProtocol: pulumi.Input; } interface RuleScaleGroupScaleGroup { /** * Desired capacity of the Scaling Group */ desired: pulumi.Input; /** * ID of the Scaling Group */ id: pulumi.Input; /** * Maximum capacity of the Scaling Group */ max: pulumi.Input; /** * Minimum capacity of the Scaling Group */ min: pulumi.Input; /** * Name of the Scaling Group */ name: pulumi.Input; /** * On-demand capacity of the Scaling Group */ onDemand: pulumi.Input; /** * Region of the Scaling Group */ region?: pulumi.Input; /** * Zone of the Scaling Group. Needed for GCP only */ zone?: pulumi.Input; } interface RuleVmDepend { /** * Number of seconds the rule should wait after warming up the dependent rule */ delayInSec?: pulumi.Input; /** * Rule id of the dependent rule */ ruleId: pulumi.Input; } interface RuleVmFilter { /** * Regions of instances that needs to be managed using the AutoStopping rules */ regions?: pulumi.Input[] | undefined>; /** * Tags of instances that needs to be managed using the AutoStopping rules */ tags?: pulumi.Input[] | undefined>; /** * Ids of instances that needs to be managed using the AutoStopping rules */ vmIds?: pulumi.Input[] | undefined>; /** * Zones of instances that needs to be managed using the AutoStopping rules */ zones?: pulumi.Input[] | undefined>; } interface RuleVmFilterTag { key: pulumi.Input; value: pulumi.Input; } interface RuleVmHttp { /** * Health Check Details */ healths?: pulumi.Input[] | undefined>; /** * Id of the proxy */ proxyId: pulumi.Input; /** * Routing configuration used to access the instances */ routings?: pulumi.Input[] | undefined>; } interface RuleVmHttpHealth { /** * API path to use for health check */ path?: pulumi.Input; /** * Health check port on the VM */ port: pulumi.Input; /** * Protocol can be http or https */ protocol: pulumi.Input; /** * Lower limit for acceptable status code */ statusCodeFrom?: pulumi.Input; /** * Upper limit for acceptable status code */ statusCodeTo?: pulumi.Input; /** * Health check timeout */ timeout?: pulumi.Input; } interface RuleVmHttpRouting { /** * Action to take for the routing rule */ action?: pulumi.Input; /** * Path to use for the proxy */ path?: pulumi.Input; /** * Port on the proxy */ sourcePort?: pulumi.Input; /** * Source protocol of the proxy can be http or https */ sourceProtocol: pulumi.Input; /** * Port on the VM */ targetPort?: pulumi.Input; /** * Target protocol of the instance can be http or https */ targetProtocol: pulumi.Input; } interface RuleVmTcp { /** * Additional tcp forwarding rules */ forwardRules?: pulumi.Input[] | undefined>; /** * Id of the Proxy */ proxyId: pulumi.Input; /** * RDP configuration */ rdps?: pulumi.Input[] | undefined>; /** * SSH configuration */ sshes?: pulumi.Input[] | undefined>; } interface RuleVmTcpForwardRule { /** * Port to listen on the proxy */ connectOn?: pulumi.Input; /** * Port to listen on the vm */ port: pulumi.Input; } interface RuleVmTcpRdp { /** * Port to listen on the proxy */ connectOn?: pulumi.Input; /** * Port to listen on the vm */ port?: pulumi.Input; } interface RuleVmTcpSsh { /** * Port to listen on the proxy */ connectOn?: pulumi.Input; /** * Port to listen on the vm */ port?: pulumi.Input; } interface ScheduleRepeat { /** * List of days on which schedule need to be active. Valid values are SUN, MON, TUE, WED, THU, FRI and SAT. */ days: pulumi.Input[]>; /** * Ending time of schedule action on the day. Defaults to 24:00Hrs unless specified. Accepted format is HH:MM. Eg : 20:00 for 8pm */ endTime?: pulumi.Input; /** * Starting time of schedule action on the day. Defaults to 00:00Hrs unless specified. Accepted format is HH:MM. Eg : 13:15 for 01:15pm */ startTime?: pulumi.Input; } } export declare namespace chaos { interface ActionTemplateContainerAction { /** * Annotations to apply to the container pod. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Arguments to pass to the container command. */ args?: pulumi.Input; /** * Command to run in the container. */ commands?: pulumi.Input[] | undefined>; /** * Environment variables for the container. */ envs?: pulumi.Input[] | undefined>; /** * Use host IPC namespace. */ hostIpc?: pulumi.Input; /** * Use host network namespace. */ hostNetwork?: pulumi.Input; /** * Use host PID namespace. */ hostPid?: pulumi.Input; /** * Container image to use (e.g., 'busybox:latest'). */ image: pulumi.Input; /** * Image pull policy (Always, IfNotPresent, Never). Supports runtime inputs like <+input>.allowedValues(...). */ imagePullPolicy?: pulumi.Input; /** * List of image pull secrets for private registries. */ imagePullSecrets?: pulumi.Input[] | undefined>; /** * Labels to apply to the container pod. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Kubernetes namespace for the container. */ namespace?: pulumi.Input; /** * Node selector for pod scheduling. */ nodeSelector?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Resource requirements for the container. */ resources?: pulumi.Input; /** * Kubernetes service account name. */ serviceAccountName?: pulumi.Input; /** * Tolerations for pod scheduling on tainted nodes. */ tolerations?: pulumi.Input[] | undefined>; /** * Volume mounts for the container. */ volumeMounts?: pulumi.Input[] | undefined>; /** * Volumes to attach to the pod. */ volumes?: pulumi.Input[] | undefined>; } interface ActionTemplateContainerActionEnv { /** * Environment variable name. */ name: pulumi.Input; /** * Environment variable value. */ value?: pulumi.Input; } interface ActionTemplateContainerActionResources { /** * Resource limits. */ limits?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Resource requests. */ requests?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface ActionTemplateContainerActionToleration { /** * Taint effect (NoSchedule, PreferNoSchedule, NoExecute). */ effect?: pulumi.Input; /** * Taint key to tolerate. */ key?: pulumi.Input; /** * Operator (Exists, Equal). */ operator?: pulumi.Input; /** * Toleration seconds for NoExecute effect. */ tolerationSeconds?: pulumi.Input; /** * Taint value to tolerate. */ value?: pulumi.Input; } interface ActionTemplateContainerActionVolume { /** * ConfigMap volume configuration. */ configMap?: pulumi.Input; /** * EmptyDir volume configuration. */ emptyDir?: pulumi.Input; /** * HostPath volume configuration. */ hostPath?: pulumi.Input; /** * Volume name. */ name: pulumi.Input; /** * PersistentVolumeClaim configuration. */ persistentVolumeClaim?: pulumi.Input; /** * Secret volume configuration. */ secret?: pulumi.Input; } interface ActionTemplateContainerActionVolumeConfigMap { /** * ConfigMap name. */ name: pulumi.Input; /** * Whether the ConfigMap is optional. */ optional?: pulumi.Input; } interface ActionTemplateContainerActionVolumeEmptyDir { /** * Storage medium (empty string for default, Memory for tmpfs). */ medium?: pulumi.Input; /** * Size limit (e.g., '1Gi'). */ sizeLimit?: pulumi.Input; } interface ActionTemplateContainerActionVolumeHostPath { /** * Host path. */ path: pulumi.Input; /** * Host path type (Directory, File, etc.). */ type?: pulumi.Input; } interface ActionTemplateContainerActionVolumeMount { /** * Path to mount the volume in the container. */ mountPath: pulumi.Input; /** * Volume name to mount. */ name: pulumi.Input; /** * Mount as read-only. */ readOnly?: pulumi.Input; /** * Sub-path within the volume. */ subPath?: pulumi.Input; } interface ActionTemplateContainerActionVolumePersistentVolumeClaim { /** * PVC name. */ claimName: pulumi.Input; /** * Mount as read-only. */ readOnly?: pulumi.Input; } interface ActionTemplateContainerActionVolumeSecret { /** * Whether the Secret is optional. */ optional?: pulumi.Input; /** * Secret name. */ secretName: pulumi.Input; } interface ActionTemplateCustomScriptAction { /** * Arguments to pass to the command. */ args?: pulumi.Input[] | undefined>; /** * Command to execute (e.g., 'bash', 'python', 'sh'). */ command: pulumi.Input; /** * Environment variables for the script. */ envs?: pulumi.Input[] | undefined>; } interface ActionTemplateCustomScriptActionEnv { /** * Environment variable name. */ name: pulumi.Input; /** * Environment variable value. */ value: pulumi.Input; } interface ActionTemplateDelayAction { /** * Duration of the delay (e.g., '30s', '5m', '1h'). */ duration: pulumi.Input; } interface ActionTemplateRunProperties { /** * Initial delay before action execution (e.g., '5s', '1m'). */ initialDelay?: pulumi.Input; /** * Interval between retries (e.g., '10s', '30s'). */ interval?: pulumi.Input; /** * Maximum number of retries. */ maxRetries?: pulumi.Input; /** * Whether to stop on failure. */ stopOnFailure?: pulumi.Input; /** * Timeout for action execution (e.g., '5m', '10m'). */ timeout?: pulumi.Input; /** * Verbosity level for logging. */ verbosity?: pulumi.Input; } interface ActionTemplateVariable { /** * Variable description. */ description?: pulumi.Input; /** * Variable name. */ name: pulumi.Input; /** * Whether the variable is required. */ required?: pulumi.Input; /** * Variable type (e.g., 'string', 'number', 'boolean'). */ type?: pulumi.Input; /** * Variable value. */ value: pulumi.Input; } interface ExperimentTemplateDetail { /** * Hub reference where template resides */ hubReference?: pulumi.Input; /** * Template identity */ identity?: pulumi.Input; /** * Full template reference */ reference?: pulumi.Input; /** * Template revision used */ revision?: pulumi.Input; } interface ExperimentTemplateSpec { /** * List of actions in the experiment */ actions?: pulumi.Input[] | undefined>; /** * Cleanup policy for experiment resources (retain, delete) */ cleanupPolicy?: pulumi.Input; /** * List of faults in the experiment */ faults?: pulumi.Input[] | undefined>; /** * Infrastructure identifier (supports runtime input: <+input>) */ infraId?: pulumi.Input; /** * Infrastructure type (Windows, Linux, CloudFoundry, Container, Kubernetes, KubernetesV2) */ infraType: pulumi.Input; /** * List of probes in the experiment */ probes?: pulumi.Input[] | undefined>; /** * Status check timeout configuration */ statusCheckTimeouts?: pulumi.Input; /** * Workflow graph vertices defining execution order */ vertices?: pulumi.Input[] | undefined>; } interface ExperimentTemplateSpecAction { /** * Whether to continue on completion */ continueOnCompletion?: pulumi.Input; /** * Action template identity */ identity: pulumi.Input; /** * Infrastructure identifier for this action */ infraId?: pulumi.Input; /** * Whether this is an enterprise action */ isEnterprise?: pulumi.Input; /** * Action name */ name: pulumi.Input; /** * Action template revision */ revision?: pulumi.Input; /** * Variable values for the action */ values?: pulumi.Input[] | undefined>; } interface ExperimentTemplateSpecActionValue { /** * Variable name */ name: pulumi.Input; /** * Variable value (supports runtime input: <+input>) */ value: pulumi.Input; } interface ExperimentTemplateSpecFault { /** * Whether authentication is enabled */ authEnabled?: pulumi.Input; /** * Fault template identity */ identity: pulumi.Input; /** * Infrastructure identifier for this fault */ infraId?: pulumi.Input; /** * Whether this is an enterprise fault */ isEnterprise?: pulumi.Input; /** * Fault name */ name: pulumi.Input; /** * Fault template revision */ revision?: pulumi.Input; /** * Variable values for the fault */ values?: pulumi.Input[] | undefined>; } interface ExperimentTemplateSpecFaultValue { /** * Variable name */ name: pulumi.Input; /** * Variable value (supports runtime input: <+input>) */ value: pulumi.Input; } interface ExperimentTemplateSpecProbe { /** * Probe execution conditions */ conditions?: pulumi.Input[] | undefined>; /** * Probe duration */ duration?: pulumi.Input; /** * Whether to enable data collection */ enableDataCollection?: pulumi.Input; /** * Probe template identity */ identity: pulumi.Input; /** * Infrastructure identifier for this probe */ infraId?: pulumi.Input; /** * Whether this is an enterprise probe */ isEnterprise?: pulumi.Input; /** * Probe name */ name: pulumi.Input; /** * Probe template revision */ revision?: pulumi.Input; /** * Variable values for the probe */ values?: pulumi.Input[] | undefined>; /** * Probe weightage for resilience score calculation */ weightage?: pulumi.Input; } interface ExperimentTemplateSpecProbeCondition { /** * When to execute the probe (onChaosStart, duringChaos, afterChaos) */ executeUpon: pulumi.Input; } interface ExperimentTemplateSpecProbeValue { /** * Variable name */ name: pulumi.Input; /** * Variable value (supports runtime input: <+input>) */ value: pulumi.Input; } interface ExperimentTemplateSpecStatusCheckTimeouts { /** * Delay before status check (in seconds) */ delay?: pulumi.Input; /** * Timeout for status check (in seconds) */ timeout?: pulumi.Input; } interface ExperimentTemplateSpecVertex { /** * End configuration for the vertex */ end?: pulumi.Input; /** * Vertex name */ name: pulumi.Input; /** * Start configuration for the vertex */ start?: pulumi.Input; } interface ExperimentTemplateSpecVertexEnd { /** * Actions to execute at end */ actions?: pulumi.Input[] | undefined>; /** * Faults to execute at end */ faults?: pulumi.Input[] | undefined>; /** * Probes to execute at end */ probes?: pulumi.Input[] | undefined>; } interface ExperimentTemplateSpecVertexEndAction { /** * Action name */ name: pulumi.Input; } interface ExperimentTemplateSpecVertexEndFault { /** * Fault name */ name: pulumi.Input; } interface ExperimentTemplateSpecVertexEndProbe { /** * Probe name */ name: pulumi.Input; } interface ExperimentTemplateSpecVertexStart { /** * Actions to execute at start */ actions?: pulumi.Input[] | undefined>; /** * Faults to execute at start */ faults?: pulumi.Input[] | undefined>; /** * Probes to execute at start */ probes?: pulumi.Input[] | undefined>; } interface ExperimentTemplateSpecVertexStartAction { /** * Action name */ name: pulumi.Input; } interface ExperimentTemplateSpecVertexStartFault { /** * Fault name */ name: pulumi.Input; } interface ExperimentTemplateSpecVertexStartProbe { /** * Probe name */ name: pulumi.Input; } interface FaultTemplateLink { /** * Link name */ name: pulumi.Input; /** * Link URL */ url: pulumi.Input; } interface FaultTemplateSpec { /** * Chaos configuration */ chaos?: pulumi.Input; /** * Target configuration */ target?: pulumi.Input; } interface FaultTemplateSpecChaos { /** * Authentication configuration */ auth?: pulumi.Input; /** * Name of the fault. Note: API may return a default value (e.g., 'byoc-injector') instead of the configured value due to API limitations. */ faultName?: pulumi.Input; /** * Kubernetes-specific chaos configuration */ kubernetes?: pulumi.Input; /** * Fault parameters */ params?: pulumi.Input[] | undefined>; /** * Status check timeout configuration */ statusCheckTimeouts?: pulumi.Input; /** * TLS configuration */ tls?: pulumi.Input; } interface FaultTemplateSpecChaosAuth { /** * AWS authentication */ aws?: pulumi.Input; /** * Azure authentication */ azure?: pulumi.Input; /** * GCP authentication */ gcp?: pulumi.Input; /** * Redis authentication */ redis?: pulumi.Input; /** * SSH authentication */ ssh?: pulumi.Input; /** * VMware authentication */ vmware?: pulumi.Input; } interface FaultTemplateSpecChaosAuthAws { /** * AWS access key ID */ accessKeyId: pulumi.Input; /** * AWS region */ region: pulumi.Input; /** * AWS secret access key */ secretAccessKey: pulumi.Input; } interface FaultTemplateSpecChaosAuthAzure { /** * Azure client ID */ clientId: pulumi.Input; /** * Azure client secret */ clientSecret: pulumi.Input; /** * Azure subscription ID */ subscriptionId: pulumi.Input; /** * Azure tenant ID */ tenantId: pulumi.Input; } interface FaultTemplateSpecChaosAuthGcp { /** * GCP project ID */ projectId: pulumi.Input; /** * GCP service account key (JSON) */ serviceAccountKey: pulumi.Input; } interface FaultTemplateSpecChaosAuthRedis { /** * Redis password */ password: pulumi.Input; /** * Redis username */ username?: pulumi.Input; } interface FaultTemplateSpecChaosAuthSsh { /** * SSH password */ password?: pulumi.Input; /** * SSH private key */ privateKey?: pulumi.Input; /** * SSH username */ username: pulumi.Input; } interface FaultTemplateSpecChaosAuthVmware { /** * VMware password */ password: pulumi.Input; /** * VMware username */ username: pulumi.Input; /** * vCenter server address */ vcenterServer: pulumi.Input; } interface FaultTemplateSpecChaosKubernetes { /** * Pod annotations */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Container arguments */ args?: pulumi.Input[] | undefined>; /** * Container command */ commands?: pulumi.Input[] | undefined>; /** * ConfigMap volumes */ configMaps?: pulumi.Input[] | undefined>; /** * Container security context */ containerSecurityContext?: pulumi.Input; /** * Environment variables */ envs?: pulumi.Input[] | undefined>; /** * Host path volumes */ hostFileVolumes?: pulumi.Input[] | undefined>; /** * Use host IPC namespace */ hostIpc?: pulumi.Input; /** * Use host network namespace */ hostNetwork?: pulumi.Input; /** * Use host PID namespace */ hostPid?: pulumi.Input; /** * Container image for chaos experiment */ image?: pulumi.Input; /** * Image pull policy */ imagePullPolicy?: pulumi.Input; /** * Image pull secrets */ imagePullSecrets?: pulumi.Input[] | undefined>; /** * Pod labels */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Node selector for pod scheduling */ nodeSelector?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Pod security context */ podSecurityContext?: pulumi.Input; /** * Resource requirements */ resources?: pulumi.Input; /** * Secret volumes */ secrets?: pulumi.Input[] | undefined>; /** * Pod tolerations */ tolerations?: pulumi.Input[] | undefined>; } interface FaultTemplateSpecChaosKubernetesConfigMap { /** * Mount mode (0-3) */ mountMode?: pulumi.Input; /** * Mount path */ mountPath: pulumi.Input; /** * ConfigMap name */ name: pulumi.Input; } interface FaultTemplateSpecChaosKubernetesContainerSecurityContext { /** * Allow privilege escalation */ allowPrivilegeEscalation?: pulumi.Input; /** * Linux capabilities */ capabilities?: pulumi.Input; /** * Run container in privileged mode */ privileged?: pulumi.Input; /** * Mount root filesystem as read-only */ readOnlyRootFilesystem?: pulumi.Input; /** * Group ID to run as */ runAsGroup?: pulumi.Input; /** * Run as non-root user */ runAsNonRoot?: pulumi.Input; /** * User ID to run as */ runAsUser?: pulumi.Input; } interface FaultTemplateSpecChaosKubernetesContainerSecurityContextCapabilities { /** * Capabilities to add */ adds?: pulumi.Input[] | undefined>; /** * Capabilities to drop */ drops?: pulumi.Input[] | undefined>; } interface FaultTemplateSpecChaosKubernetesEnv { /** * Environment variable name */ name: pulumi.Input; /** * Environment variable value */ value?: pulumi.Input; } interface FaultTemplateSpecChaosKubernetesHostFileVolume { /** * Host path on the node */ hostPath?: pulumi.Input; /** * Mount path */ mountPath: pulumi.Input; /** * Volume name */ name: pulumi.Input; /** * Host path type (e.g., Directory, File, BlockDevice, CharDevice) */ type?: pulumi.Input; } interface FaultTemplateSpecChaosKubernetesPodSecurityContext { /** * Filesystem group ID */ fsGroup?: pulumi.Input; /** * Group ID to run as */ runAsGroup?: pulumi.Input; /** * Run as non-root user */ runAsNonRoot?: pulumi.Input; /** * User ID to run as */ runAsUser?: pulumi.Input; } interface FaultTemplateSpecChaosKubernetesResources { /** * Resource limits */ limits?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Resource requests */ requests?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface FaultTemplateSpecChaosKubernetesSecret { /** * Mount mode (0-3) */ mountMode?: pulumi.Input; /** * Mount path */ mountPath: pulumi.Input; /** * Secret name */ secretName: pulumi.Input; } interface FaultTemplateSpecChaosKubernetesToleration { /** * Toleration effect (NoSchedule, PreferNoSchedule, NoExecute) */ effect?: pulumi.Input; /** * Toleration key */ key?: pulumi.Input; /** * Toleration operator (Equal, Exists) */ operator?: pulumi.Input; /** * Toleration seconds */ tolerationSeconds?: pulumi.Input; /** * Toleration value */ value?: pulumi.Input; } interface FaultTemplateSpecChaosParam { /** * Parameter name */ name: pulumi.Input; /** * Parameter value */ value: pulumi.Input; } interface FaultTemplateSpecChaosStatusCheckTimeouts { /** * Delay before status check (seconds) */ delay?: pulumi.Input; /** * Timeout for status check (seconds) */ timeout?: pulumi.Input; } interface FaultTemplateSpecChaosTls { /** * CA certificate */ caCertificate?: pulumi.Input; /** * Client certificate */ clientCertificate?: pulumi.Input; /** * Client key */ clientKey?: pulumi.Input; } interface FaultTemplateSpecTarget { /** * Application target configuration */ application?: pulumi.Input; /** * Kubernetes target configuration */ kubernetes?: pulumi.Input[] | undefined>; } interface FaultTemplateSpecTargetApplication { /** * Application kind */ appKind?: pulumi.Input; /** * Application label */ appLabel?: pulumi.Input; /** * Application namespace */ appNs?: pulumi.Input; } interface FaultTemplateSpecTargetKubernete { /** * Annotation check expression */ annotationCheck?: pulumi.Input; /** * Annotation selectors */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Resource kind (e.g., deployment, pod) */ kind?: pulumi.Input; /** * Label selectors */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Specific resource names */ names?: pulumi.Input[] | undefined>; /** * Target namespace */ namespace?: pulumi.Input; } interface FaultTemplateVariable { /** * Variable description */ description?: pulumi.Input; /** * Variable name */ name: pulumi.Input; /** * Whether the variable is required */ required?: pulumi.Input; /** * Variable type */ type?: pulumi.Input; /** * Variable value */ value?: pulumi.Input; } interface GetActionTemplateContainerAction { /** * Annotations to apply to the container pod. */ annotations?: { [key: string]: string; }; /** * Arguments to pass to the container command. */ args?: string; /** * Command to run in the container. */ commands?: string[]; /** * Environment variables for the container. */ envs?: inputs.chaos.GetActionTemplateContainerActionEnv[]; /** * Use host IPC namespace. */ hostIpc?: boolean; /** * Use host network namespace. */ hostNetwork?: boolean; /** * Use host PID namespace. */ hostPid?: boolean; /** * Container image to use (e.g., 'busybox:latest'). */ image: string; /** * Image pull policy (Always, IfNotPresent, Never). Supports runtime inputs like <+input>.allowedValues(...). */ imagePullPolicy?: string; /** * List of image pull secrets for private registries. */ imagePullSecrets?: string[]; /** * Labels to apply to the container pod. */ labels?: { [key: string]: string; }; /** * Kubernetes namespace for the container. */ namespace?: string; /** * Node selector for pod scheduling. */ nodeSelector?: { [key: string]: string; }; /** * Resource requirements for the container. */ resources?: inputs.chaos.GetActionTemplateContainerActionResources; /** * Kubernetes service account name. */ serviceAccountName?: string; /** * Tolerations for pod scheduling on tainted nodes. */ tolerations?: inputs.chaos.GetActionTemplateContainerActionToleration[]; /** * Volume mounts for the container. */ volumeMounts?: inputs.chaos.GetActionTemplateContainerActionVolumeMount[]; /** * Volumes to attach to the pod. */ volumes?: inputs.chaos.GetActionTemplateContainerActionVolume[]; } interface GetActionTemplateContainerActionArgs { /** * Annotations to apply to the container pod. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Arguments to pass to the container command. */ args?: pulumi.Input; /** * Command to run in the container. */ commands?: pulumi.Input[] | undefined>; /** * Environment variables for the container. */ envs?: pulumi.Input[] | undefined>; /** * Use host IPC namespace. */ hostIpc?: pulumi.Input; /** * Use host network namespace. */ hostNetwork?: pulumi.Input; /** * Use host PID namespace. */ hostPid?: pulumi.Input; /** * Container image to use (e.g., 'busybox:latest'). */ image: pulumi.Input; /** * Image pull policy (Always, IfNotPresent, Never). Supports runtime inputs like <+input>.allowedValues(...). */ imagePullPolicy?: pulumi.Input; /** * List of image pull secrets for private registries. */ imagePullSecrets?: pulumi.Input[] | undefined>; /** * Labels to apply to the container pod. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Kubernetes namespace for the container. */ namespace?: pulumi.Input; /** * Node selector for pod scheduling. */ nodeSelector?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Resource requirements for the container. */ resources?: pulumi.Input; /** * Kubernetes service account name. */ serviceAccountName?: pulumi.Input; /** * Tolerations for pod scheduling on tainted nodes. */ tolerations?: pulumi.Input[] | undefined>; /** * Volume mounts for the container. */ volumeMounts?: pulumi.Input[] | undefined>; /** * Volumes to attach to the pod. */ volumes?: pulumi.Input[] | undefined>; } interface GetActionTemplateContainerActionEnv { /** * Environment variable name. */ name: string; /** * Environment variable value. */ value?: string; } interface GetActionTemplateContainerActionEnvArgs { /** * Environment variable name. */ name: pulumi.Input; /** * Environment variable value. */ value?: pulumi.Input; } interface GetActionTemplateContainerActionResources { /** * Resource limits. */ limits?: { [key: string]: string; }; /** * Resource requests. */ requests?: { [key: string]: string; }; } interface GetActionTemplateContainerActionResourcesArgs { /** * Resource limits. */ limits?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Resource requests. */ requests?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GetActionTemplateContainerActionToleration { /** * Taint effect (NoSchedule, PreferNoSchedule, NoExecute). */ effect?: string; /** * Taint key to tolerate. */ key?: string; /** * Operator (Exists, Equal). */ operator?: string; /** * Toleration seconds for NoExecute effect. */ tolerationSeconds?: number; /** * Taint value to tolerate. */ value?: string; } interface GetActionTemplateContainerActionTolerationArgs { /** * Taint effect (NoSchedule, PreferNoSchedule, NoExecute). */ effect?: pulumi.Input; /** * Taint key to tolerate. */ key?: pulumi.Input; /** * Operator (Exists, Equal). */ operator?: pulumi.Input; /** * Toleration seconds for NoExecute effect. */ tolerationSeconds?: pulumi.Input; /** * Taint value to tolerate. */ value?: pulumi.Input; } interface GetActionTemplateContainerActionVolume { /** * ConfigMap volume configuration. */ configMap?: inputs.chaos.GetActionTemplateContainerActionVolumeConfigMap; /** * EmptyDir volume configuration. */ emptyDir?: inputs.chaos.GetActionTemplateContainerActionVolumeEmptyDir; /** * HostPath volume configuration. */ hostPath?: inputs.chaos.GetActionTemplateContainerActionVolumeHostPath; /** * Volume name. */ name: string; /** * PersistentVolumeClaim configuration. */ persistentVolumeClaim?: inputs.chaos.GetActionTemplateContainerActionVolumePersistentVolumeClaim; /** * Secret volume configuration. */ secret?: inputs.chaos.GetActionTemplateContainerActionVolumeSecret; } interface GetActionTemplateContainerActionVolumeArgs { /** * ConfigMap volume configuration. */ configMap?: pulumi.Input; /** * EmptyDir volume configuration. */ emptyDir?: pulumi.Input; /** * HostPath volume configuration. */ hostPath?: pulumi.Input; /** * Volume name. */ name: pulumi.Input; /** * PersistentVolumeClaim configuration. */ persistentVolumeClaim?: pulumi.Input; /** * Secret volume configuration. */ secret?: pulumi.Input; } interface GetActionTemplateContainerActionVolumeConfigMap { /** * ConfigMap name. */ name: string; /** * Whether the ConfigMap is optional. */ optional?: boolean; } interface GetActionTemplateContainerActionVolumeConfigMapArgs { /** * ConfigMap name. */ name: pulumi.Input; /** * Whether the ConfigMap is optional. */ optional?: pulumi.Input; } interface GetActionTemplateContainerActionVolumeEmptyDir { /** * Storage medium (empty string for default, Memory for tmpfs). */ medium?: string; /** * Size limit (e.g., '1Gi'). */ sizeLimit?: string; } interface GetActionTemplateContainerActionVolumeEmptyDirArgs { /** * Storage medium (empty string for default, Memory for tmpfs). */ medium?: pulumi.Input; /** * Size limit (e.g., '1Gi'). */ sizeLimit?: pulumi.Input; } interface GetActionTemplateContainerActionVolumeHostPath { /** * Host path. */ path: string; /** * Host path type (Directory, File, etc.). */ type?: string; } interface GetActionTemplateContainerActionVolumeHostPathArgs { /** * Host path. */ path: pulumi.Input; /** * Host path type (Directory, File, etc.). */ type?: pulumi.Input; } interface GetActionTemplateContainerActionVolumeMount { /** * Path to mount the volume in the container. */ mountPath: string; /** * Volume name to mount. */ name: string; /** * Mount as read-only. */ readOnly?: boolean; /** * Sub-path within the volume. */ subPath?: string; } interface GetActionTemplateContainerActionVolumeMountArgs { /** * Path to mount the volume in the container. */ mountPath: pulumi.Input; /** * Volume name to mount. */ name: pulumi.Input; /** * Mount as read-only. */ readOnly?: pulumi.Input; /** * Sub-path within the volume. */ subPath?: pulumi.Input; } interface GetActionTemplateContainerActionVolumePersistentVolumeClaim { /** * PVC name. */ claimName: string; /** * Mount as read-only. */ readOnly?: boolean; } interface GetActionTemplateContainerActionVolumePersistentVolumeClaimArgs { /** * PVC name. */ claimName: pulumi.Input; /** * Mount as read-only. */ readOnly?: pulumi.Input; } interface GetActionTemplateContainerActionVolumeSecret { /** * Whether the Secret is optional. */ optional?: boolean; /** * Secret name. */ secretName: string; } interface GetActionTemplateContainerActionVolumeSecretArgs { /** * Whether the Secret is optional. */ optional?: pulumi.Input; /** * Secret name. */ secretName: pulumi.Input; } interface GetActionTemplateCustomScriptAction { /** * Arguments to pass to the command. */ args?: string[]; /** * Command to execute (e.g., 'bash', 'python', 'sh'). */ command: string; /** * Environment variables for the script. */ envs?: inputs.chaos.GetActionTemplateCustomScriptActionEnv[]; } interface GetActionTemplateCustomScriptActionArgs { /** * Arguments to pass to the command. */ args?: pulumi.Input[] | undefined>; /** * Command to execute (e.g., 'bash', 'python', 'sh'). */ command: pulumi.Input; /** * Environment variables for the script. */ envs?: pulumi.Input[] | undefined>; } interface GetActionTemplateCustomScriptActionEnv { /** * Environment variable name. */ name: string; /** * Environment variable value. */ value: string; } interface GetActionTemplateCustomScriptActionEnvArgs { /** * Environment variable name. */ name: pulumi.Input; /** * Environment variable value. */ value: pulumi.Input; } interface GetActionTemplateDelayAction { /** * Duration of the delay (e.g., '30s', '5m', '1h'). */ duration: string; } interface GetActionTemplateDelayActionArgs { /** * Duration of the delay (e.g., '30s', '5m', '1h'). */ duration: pulumi.Input; } interface GetActionTemplateRunProperties { /** * Initial delay before action execution (e.g., '5s', '1m'). */ initialDelay?: string; /** * Interval between retries (e.g., '10s', '30s'). */ interval?: string; /** * Maximum number of retries. */ maxRetries?: number; /** * Whether to stop on failure. */ stopOnFailure?: boolean; /** * Timeout for action execution (e.g., '5m', '10m'). */ timeout?: string; /** * Verbosity level for logging. */ verbosity?: string; } interface GetActionTemplateRunPropertiesArgs { /** * Initial delay before action execution (e.g., '5s', '1m'). */ initialDelay?: pulumi.Input; /** * Interval between retries (e.g., '10s', '30s'). */ interval?: pulumi.Input; /** * Maximum number of retries. */ maxRetries?: pulumi.Input; /** * Whether to stop on failure. */ stopOnFailure?: pulumi.Input; /** * Timeout for action execution (e.g., '5m', '10m'). */ timeout?: pulumi.Input; /** * Verbosity level for logging. */ verbosity?: pulumi.Input; } interface GetActionTemplateVariable { /** * Variable description. */ description?: string; /** * Variable name. */ name: string; /** * Whether the variable is required. */ required?: boolean; /** * Variable type (e.g., 'string', 'number', 'boolean'). */ type?: string; /** * Variable value. */ value: string; } interface GetActionTemplateVariableArgs { /** * Variable description. */ description?: pulumi.Input; /** * Variable name. */ name: pulumi.Input; /** * Whether the variable is required. */ required?: pulumi.Input; /** * Variable type (e.g., 'string', 'number', 'boolean'). */ type?: pulumi.Input; /** * Variable value. */ value: pulumi.Input; } interface GetInfrastructureV2ImageRegistry { /** * Timestamp when the registry was created. */ createdAt?: string; /** * Custom image configurations. Required when use*custom*images is true. */ customImages?: inputs.chaos.GetInfrastructureV2ImageRegistryCustomImage[]; /** * Scoped identifiers for the registry. */ identifiers?: inputs.chaos.GetInfrastructureV2ImageRegistryIdentifier[]; /** * ID of the infrastructure. */ infraId?: string; /** * Whether this is the default registry. */ isDefault?: boolean; /** * Whether override is allowed for this registry. */ isOverrideAllowed?: boolean; /** * Whether the registry is private. */ isPrivate?: boolean; /** * The account name for the container registry. */ registryAccount?: string; /** * The container image registry server URL (e.g., docker.io, gcr.io). */ registryServer?: string; /** * Name of the Kubernetes secret containing registry credentials. */ secretName?: string; /** * Timestamp when the registry was last updated. */ updatedAt?: string; /** * Whether to use custom images instead of default ones. */ useCustomImages?: boolean; } interface GetInfrastructureV2ImageRegistryArgs { /** * Timestamp when the registry was created. */ createdAt?: pulumi.Input; /** * Custom image configurations. Required when use*custom*images is true. */ customImages?: pulumi.Input[] | undefined>; /** * Scoped identifiers for the registry. */ identifiers?: pulumi.Input[] | undefined>; /** * ID of the infrastructure. */ infraId?: pulumi.Input; /** * Whether this is the default registry. */ isDefault?: pulumi.Input; /** * Whether override is allowed for this registry. */ isOverrideAllowed?: pulumi.Input; /** * Whether the registry is private. */ isPrivate?: pulumi.Input; /** * The account name for the container registry. */ registryAccount?: pulumi.Input; /** * The container image registry server URL (e.g., docker.io, gcr.io). */ registryServer?: pulumi.Input; /** * Name of the Kubernetes secret containing registry credentials. */ secretName?: pulumi.Input; /** * Timestamp when the registry was last updated. */ updatedAt?: pulumi.Input; /** * Whether to use custom images instead of default ones. */ useCustomImages?: pulumi.Input; } interface GetInfrastructureV2ImageRegistryCustomImage { /** * Custom image for ddcr. */ ddcr?: string; /** * Custom image for ddcr-fault. */ ddcrFault?: string; /** * Custom image for ddcr-lib. */ ddcrLib?: string; /** * Custom image for log-watcher. */ logWatcher?: string; } interface GetInfrastructureV2ImageRegistryCustomImageArgs { /** * Custom image for ddcr. */ ddcr?: pulumi.Input; /** * Custom image for ddcr-fault. */ ddcrFault?: pulumi.Input; /** * Custom image for ddcr-lib. */ ddcrLib?: pulumi.Input; /** * Custom image for log-watcher. */ logWatcher?: pulumi.Input; } interface GetInfrastructureV2ImageRegistryIdentifier { /** * Harness account identifier. */ accountIdentifier?: string; /** * Harness organization identifier. */ orgIdentifier?: string; /** * Harness project identifier. */ projectIdentifier?: string; } interface GetInfrastructureV2ImageRegistryIdentifierArgs { /** * Harness account identifier. */ accountIdentifier?: pulumi.Input; /** * Harness organization identifier. */ orgIdentifier?: pulumi.Input; /** * Harness project identifier. */ projectIdentifier?: pulumi.Input; } interface GetInfrastructureV2Mtls { /** * Path to the certificate file for mTLS */ certPath?: string; /** * Path to the private key file for mTLS */ keyPath?: string; /** * Name of the Kubernetes secret containing mTLS certificates */ secretName?: string; /** * URL for the mTLS endpoint */ url?: string; } interface GetInfrastructureV2MtlsArgs { /** * Path to the certificate file for mTLS */ certPath?: pulumi.Input; /** * Path to the private key file for mTLS */ keyPath?: pulumi.Input; /** * Name of the Kubernetes secret containing mTLS certificates */ secretName?: pulumi.Input; /** * URL for the mTLS endpoint */ url?: pulumi.Input; } interface GetInfrastructureV2Proxy { /** * HTTP proxy URL. */ httpProxy?: string; /** * HTTPS proxy URL. */ httpsProxy?: string; /** * List of hosts that should not use proxy. */ noProxy?: string; /** * Proxy URL. */ url: string; } interface GetInfrastructureV2ProxyArgs { /** * HTTP proxy URL. */ httpProxy?: pulumi.Input; /** * HTTPS proxy URL. */ httpsProxy?: pulumi.Input; /** * List of hosts that should not use proxy. */ noProxy?: pulumi.Input; /** * Proxy URL. */ url: pulumi.Input; } interface GetInfrastructureV2Toleration { /** * Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. */ effect: string; /** * Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists. */ key: string; /** * Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. */ operator: string; /** * TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. */ tolerationSeconds?: number; /** * Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. */ value?: string; } interface GetInfrastructureV2TolerationArgs { /** * Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. */ effect: pulumi.Input; /** * Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists. */ key: pulumi.Input; /** * Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. */ operator: pulumi.Input; /** * TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. */ tolerationSeconds?: pulumi.Input; /** * Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. */ value?: pulumi.Input; } interface GetInfrastructureV2Volume { /** * Name of the volume. Must be a DNS_LABEL and unique within the pod. */ name: string; /** * Size limit of the volume. Example: '10Gi', '100Mi' */ sizeLimit?: string; } interface GetInfrastructureV2VolumeArgs { /** * Name of the volume. Must be a DNS_LABEL and unique within the pod. */ name: pulumi.Input; /** * Size limit of the volume. Example: '10Gi', '100Mi' */ sizeLimit?: pulumi.Input; } interface GetInfrastructureV2VolumeMount { /** * Path within the container at which the volume should be mounted. Must not contain ':'. */ mountPath: string; /** * Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. */ mountPropagation?: string; /** * This must match the Name of a Volume. */ name: string; /** * Mounted read-only if true, read-write otherwise. */ readOnly?: boolean; /** * Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr. */ subPath?: string; /** * Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to sub*path but environment variable references $(VAR*NAME) are expanded using the container's environment. Mutually exclusive with sub_path. */ subPathExpr?: string; } interface GetInfrastructureV2VolumeMountArgs { /** * Path within the container at which the volume should be mounted. Must not contain ':'. */ mountPath: pulumi.Input; /** * Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. */ mountPropagation?: pulumi.Input; /** * This must match the Name of a Volume. */ name: pulumi.Input; /** * Mounted read-only if true, read-write otherwise. */ readOnly?: pulumi.Input; /** * Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr. */ subPath?: pulumi.Input; /** * Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to sub*path but environment variable references $(VAR*NAME) are expanded using the container's environment. Mutually exclusive with sub_path. */ subPathExpr?: pulumi.Input; } interface ImageRegistryCustomImage { ddcr?: pulumi.Input; ddcrFault?: pulumi.Input; ddcrLib?: pulumi.Input; logWatcher?: pulumi.Input; } interface InfrastructureV2Env { /** * Variable name from a ConfigMap or Secret. Required when valueFrom is configMapKeyRef or secretKeyRef. */ key?: pulumi.Input; /** * Name of the environment variable. Must be a C_IDENTIFIER. */ name: pulumi.Input; /** * Variable references $(VAR*NAME) are expanded using the container's environment. If the variable cannot be resolved, the reference in the input string will be unchanged. The $(VAR*NAME) syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, regardless of whether the variable exists or not. Defaults to "". */ value?: pulumi.Input; /** * Source for the environment variable's value. Cannot be used if value is not empty. */ valueFrom?: pulumi.Input; } interface InfrastructureV2Identifier { /** * Account identifier. */ accountIdentifier?: pulumi.Input; /** * Organization identifier. */ orgIdentifier?: pulumi.Input; /** * Project identifier. */ projectIdentifier?: pulumi.Input; } interface InfrastructureV2ImageRegistry { /** * Timestamp when the registry was created. */ createdAt?: pulumi.Input; /** * Custom image configurations. Required when use*custom*images is true. */ customImages?: pulumi.Input[] | undefined>; /** * Scoped identifiers for the registry. */ identifiers?: pulumi.Input[] | undefined>; /** * ID of the infrastructure. */ infraId?: pulumi.Input; /** * Whether this is the default registry. */ isDefault?: pulumi.Input; /** * Whether override is allowed for this registry. */ isOverrideAllowed?: pulumi.Input; /** * Whether the registry is private. */ isPrivate?: pulumi.Input; /** * The account name for the container registry. */ registryAccount?: pulumi.Input; /** * The container image registry server URL (e.g., docker.io, gcr.io). */ registryServer?: pulumi.Input; /** * Name of the Kubernetes secret containing registry credentials. */ secretName?: pulumi.Input; /** * Timestamp when the registry was last updated. */ updatedAt?: pulumi.Input; /** * Whether to use custom images instead of default ones. */ useCustomImages?: pulumi.Input; } interface InfrastructureV2ImageRegistryCustomImage { /** * Custom image for ddcr. */ ddcr?: pulumi.Input; /** * Custom image for ddcr-fault. */ ddcrFault?: pulumi.Input; /** * Custom image for ddcr-lib. */ ddcrLib?: pulumi.Input; /** * Custom image for log-watcher. */ logWatcher?: pulumi.Input; } interface InfrastructureV2ImageRegistryIdentifier { /** * Harness account identifier. */ accountIdentifier?: pulumi.Input; /** * Harness organization identifier. */ orgIdentifier?: pulumi.Input; /** * Harness project identifier. */ projectIdentifier?: pulumi.Input; } interface InfrastructureV2Mtls { /** * Path to the certificate file for mTLS */ certPath?: pulumi.Input; /** * Path to the private key file for mTLS */ keyPath?: pulumi.Input; /** * Name of the Kubernetes secret containing mTLS certificates */ secretName?: pulumi.Input; /** * URL for the mTLS endpoint */ url?: pulumi.Input; } interface InfrastructureV2Proxy { /** * HTTP proxy URL. */ httpProxy?: pulumi.Input; /** * HTTPS proxy URL. */ httpsProxy?: pulumi.Input; /** * List of hosts that should not use proxy. */ noProxy?: pulumi.Input; /** * Proxy URL. */ url: pulumi.Input; } interface InfrastructureV2Toleration { /** * Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. */ effect: pulumi.Input; /** * Key is the taint key that the toleration applies to. Empty means match all taint keys. If the key is empty, operator must be Exists. */ key: pulumi.Input; /** * Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal. */ operator: pulumi.Input; /** * TolerationSeconds represents the period of time the toleration (which must be of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, it is not set, which means tolerate the taint forever (do not evict). Zero and negative values will be treated as 0 (evict immediately) by the system. */ tolerationSeconds?: pulumi.Input; /** * Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string. */ value?: pulumi.Input; } interface InfrastructureV2Volume { /** * Name of the volume. Must be a DNS_LABEL and unique within the pod. */ name: pulumi.Input; /** * Size limit of the volume. Example: '10Gi', '100Mi' */ sizeLimit?: pulumi.Input; } interface InfrastructureV2VolumeMount { /** * Path within the container at which the volume should be mounted. Must not contain ':'. */ mountPath: pulumi.Input; /** * Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used. */ mountPropagation?: pulumi.Input; /** * This must match the Name of a Volume. */ name: pulumi.Input; /** * Mounted read-only if true, read-write otherwise. */ readOnly?: pulumi.Input; /** * Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr. */ subPath?: pulumi.Input; /** * Expanded path within the volume from which the container's volume should be mounted. Behaves similarly to sub*path but environment variable references $(VAR*NAME) are expanded using the container's environment. Mutually exclusive with sub_path. */ subPathExpr?: pulumi.Input; } interface ProbeTemplateApmProbe { /** * APM provider type. Valid values: Prometheus, AppDynamics, SplunkObservability, Dynatrace, NewRelic, Datadog, GCPCloudMonitoring. */ apmType: pulumi.Input; /** * AppDynamics-specific inputs. Required when apm*type is 'AppDynamics'. */ appDynamicsInputs?: pulumi.Input; /** * Comparator for APM metric validation. */ comparator?: pulumi.Input; /** * Datadog-specific inputs. Required when apm*type is 'Datadog'. */ datadogInputs?: pulumi.Input; /** * Dynatrace-specific inputs. Required when apm*type is 'Dynatrace'. */ dynatraceInputs?: pulumi.Input; /** * GCP Cloud Monitoring-specific inputs. Required when apm*type is 'GCPCloudMonitoring'. */ gcpCloudMonitoringInputs?: pulumi.Input; /** * NewRelic-specific inputs. Required when apm*type is 'NewRelic'. */ newRelicInputs?: pulumi.Input; /** * Prometheus-specific inputs. Required when apm*type is 'Prometheus'. */ prometheusInputs?: pulumi.Input; /** * SplunkObservability-specific inputs. Required when apm*type is 'SplunkObservability'. */ splunkObservabilityInputs?: pulumi.Input; } interface ProbeTemplateApmProbeAppDynamicsInputs { /** * AppDynamics metrics configuration. */ appdMetrics?: pulumi.Input; /** * Harness connector ID for AppDynamics. */ connectorId: pulumi.Input; } interface ProbeTemplateApmProbeAppDynamicsInputsAppdMetrics { /** * AppDynamics application name. */ applicationName?: pulumi.Input; /** * Duration in minutes for the AppDynamics query. */ durationInMin?: pulumi.Input; /** * Full path to the AppDynamics metric. */ metricsFullPath?: pulumi.Input; } interface ProbeTemplateApmProbeComparator { /** * Comparison criteria (==, !=, <, >, <=, >=, contains, matches, notMatches, oneOf). */ criteria: pulumi.Input; /** * Comparator type (string, int, float). */ type: pulumi.Input; /** * Expected value. */ value: pulumi.Input; } interface ProbeTemplateApmProbeDatadogInputs { /** * Harness connector ID for Datadog. */ connectorId: pulumi.Input; /** * Duration in minutes for the Datadog query. */ durationInMin?: pulumi.Input; /** * Datadog query string. */ query?: pulumi.Input; /** * Datadog Synthetics test configuration. */ syntheticsTest?: pulumi.Input; } interface ProbeTemplateApmProbeDatadogInputsSyntheticsTest { /** * Public ID of the Datadog Synthetics test. */ publicId: pulumi.Input; /** * Type of Synthetics test (api, browser). */ testType?: pulumi.Input; } interface ProbeTemplateApmProbeDynatraceInputs { /** * Harness connector ID for Dynatrace. */ connectorId: pulumi.Input; /** * Duration in minutes for the Dynatrace query. */ durationInMin?: pulumi.Input; /** * Dynatrace metrics configuration. */ metrics?: pulumi.Input; } interface ProbeTemplateApmProbeDynatraceInputsMetrics { /** * Dynatrace entity selector. */ entitySelector?: pulumi.Input; /** * Dynatrace metrics selector. */ metricsSelector?: pulumi.Input; } interface ProbeTemplateApmProbeGcpCloudMonitoringInputs { /** * GCP project ID. */ projectId: pulumi.Input; /** * GCP monitoring query string. */ query: pulumi.Input; /** * GCP service account key (JSON). */ serviceAccountKey: pulumi.Input; } interface ProbeTemplateApmProbeNewRelicInputs { /** * Harness connector ID for NewRelic. */ connectorId: pulumi.Input; /** * NewRelic metric configuration. */ newRelicMetric?: pulumi.Input; } interface ProbeTemplateApmProbeNewRelicInputsNewRelicMetric { /** * NRQL query string. */ query?: pulumi.Input; /** * NewRelic query metric name. */ queryMetric?: pulumi.Input; } interface ProbeTemplateApmProbePrometheusInputs { /** * Harness connector ID for Prometheus. */ connectorId: pulumi.Input; /** * PromQL query string. */ query: pulumi.Input; /** * TLS configuration for Prometheus connection. */ tlsConfig?: pulumi.Input; } interface ProbeTemplateApmProbePrometheusInputsTlsConfig { /** * Harness secret identifier for CA certificate. */ caCertSecret?: pulumi.Input; /** * Harness secret identifier for client certificate. */ clientCertSecret?: pulumi.Input; /** * Harness secret identifier for client key. */ clientKeySecret?: pulumi.Input; /** * Skip TLS certificate verification. */ insecureSkipVerify?: pulumi.Input; } interface ProbeTemplateApmProbeSplunkObservabilityInputs { /** * Harness connector ID for Splunk Observability. */ connectorId: pulumi.Input; /** * Splunk Observability metrics configuration. */ splunkObservabilityMetrics?: pulumi.Input; } interface ProbeTemplateApmProbeSplunkObservabilityInputsSplunkObservabilityMetrics { /** * Duration in minutes for the Splunk query. */ durationInMin?: pulumi.Input; /** * Splunk Observability query string. */ query?: pulumi.Input; } interface ProbeTemplateCmdProbe { /** * Command to execute. */ command: pulumi.Input; /** * Comparator for command output validation. */ comparator?: pulumi.Input; /** * Environment variables for the command. */ envs?: pulumi.Input[] | undefined>; /** * Source of the command (inline, configMap, secret). */ source?: pulumi.Input; } interface ProbeTemplateCmdProbeComparator { /** * Comparison criteria (==, !=, <, >, <=, >=, contains, matches, notMatches, oneOf). */ criteria: pulumi.Input; /** * Comparator type (string, int, float). */ type: pulumi.Input; /** * Expected value. */ value: pulumi.Input; } interface ProbeTemplateCmdProbeEnv { /** * Environment variable name. */ name: pulumi.Input; /** * Environment variable value. */ value: pulumi.Input; } interface ProbeTemplateHttpProbe { /** * Authentication configuration. */ auth?: pulumi.Input; /** * HTTP headers. */ headers?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * HTTP method configuration with GET or POST. */ method?: pulumi.Input; /** * TLS configuration. */ tlsConfig?: pulumi.Input; /** * URL to probe. */ url: pulumi.Input; } interface ProbeTemplateHttpProbeAuth { /** * Password for basic auth. */ password?: pulumi.Input; /** * Token for bearer auth. */ token?: pulumi.Input; /** * Auth type (basic, bearer, etc.). */ type: pulumi.Input; /** * Username for basic auth. */ username?: pulumi.Input; } interface ProbeTemplateHttpProbeMethod { /** * GET method configuration. */ getMethod?: pulumi.Input; /** * POST method configuration. */ post?: pulumi.Input; } interface ProbeTemplateHttpProbeMethodGetMethod { /** * Response criteria (e.g., '==', '!=', 'contains'). */ criteria?: pulumi.Input; /** * Expected response body. */ responseBody?: pulumi.Input; /** * Expected HTTP response code (e.g., '200', '404'). */ responseCode?: pulumi.Input; } interface ProbeTemplateHttpProbeMethodPost { /** * POST request body. */ body?: pulumi.Input; /** * Path to file containing POST body. */ bodyPath?: pulumi.Input; /** * Content-Type header for POST request. */ contentType?: pulumi.Input; /** * Response criteria (e.g., '==', '!=', 'contains'). */ criteria?: pulumi.Input; /** * Expected response body. */ responseBody?: pulumi.Input; /** * Expected HTTP response code (e.g., '200', '404'). */ responseCode?: pulumi.Input; } interface ProbeTemplateHttpProbeTlsConfig { /** * CA certificate. */ caCert?: pulumi.Input; /** * Client certificate. */ clientCert?: pulumi.Input; /** * Client key. */ clientKey?: pulumi.Input; /** * Skip TLS certificate verification. */ insecureSkipVerify?: pulumi.Input; } interface ProbeTemplateK8sProbe { /** * Field selector for filtering resources. */ fieldSelector?: pulumi.Input; /** * API group (e.g., 'apps', 'batch'). */ group?: pulumi.Input; /** * Label selector for filtering resources. */ labelSelector?: pulumi.Input; /** * Kubernetes namespace. */ namespace?: pulumi.Input; /** * Operation to perform (create, delete, present, absent, etc.). */ operation?: pulumi.Input; /** * Resource type (e.g., 'pods', 'deployments'). */ resource: pulumi.Input; /** * Comma-separated list of resource names. */ resourceNames?: pulumi.Input; /** * API version (e.g., 'v1', 'v1beta1'). */ version: pulumi.Input; } interface ProbeTemplateRunProperties { /** * Number of attempts. */ attempt?: pulumi.Input; /** * Initial delay before probe execution (e.g., '5s', '1m'). */ initialDelay?: pulumi.Input; /** * Interval between probe executions (e.g., '10s', '30s'). */ interval?: pulumi.Input; /** * Polling interval for continuous probes (e.g., '2s', '5s'). */ pollingInterval?: pulumi.Input; /** * Number of retries. */ retry?: pulumi.Input; /** * Whether to stop on failure. */ stopOnFailure?: pulumi.Input; /** * Timeout for probe execution (e.g., '30s', '5m'). */ timeout?: pulumi.Input; /** * Verbosity level for logging. */ verbosity?: pulumi.Input; } interface ProbeTemplateVariable { /** * Variable description. */ description?: pulumi.Input; /** * Variable name. */ name: pulumi.Input; /** * Whether the variable is required. */ required?: pulumi.Input; /** * Variable type (e.g., 'string', 'number', 'boolean'). */ type?: pulumi.Input; /** * Variable value. */ value: pulumi.Input; } interface SecurityGovernanceConditionFaultSpec { /** * List of fault specifications */ faults: pulumi.Input[]>; /** * Operator for comparing faults (EQUAL*TO or NOT*EQUAL_TO) */ operator: pulumi.Input; } interface SecurityGovernanceConditionFaultSpecFault { /** * Type of the fault (FAULT or FAULT_GROUP) */ faultType: pulumi.Input; /** * Name of the fault */ name: pulumi.Input; } interface SecurityGovernanceConditionK8sSpec { /** * Application specification */ applicationSpec?: pulumi.Input; /** * Chaos service account specification */ chaosServiceAccountSpec?: pulumi.Input; /** * Infrastructure specification */ infraSpec?: pulumi.Input; } interface SecurityGovernanceConditionK8sSpecApplicationSpec { /** * Operator for application matching (EQUAL*TO or NOT*EQUAL_TO) */ operator: pulumi.Input; /** * List of workloads to include/exclude */ workloads?: pulumi.Input[] | undefined>; } interface SecurityGovernanceConditionK8sSpecApplicationSpecWorkload { /** * ID for the application map */ applicationMapId?: pulumi.Input; /** * Kind of the workload (e.g., deployment, statefulset) */ kind?: pulumi.Input; /** * Label selector for the workload */ label?: pulumi.Input; /** * Namespace of the workload */ namespace: pulumi.Input; /** * List of services associated with the workload */ services?: pulumi.Input[] | undefined>; } interface SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec { /** * Operator for service account matching (EQUAL*TO or NOT*EQUAL_TO) */ operator: pulumi.Input; /** * List of service accounts to include/exclude */ serviceAccounts: pulumi.Input[]>; } interface SecurityGovernanceConditionK8sSpecInfraSpec { /** * List of infrastructure IDs to apply the condition to */ infraIds: pulumi.Input[]>; /** * Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO) */ operator: pulumi.Input; } interface SecurityGovernanceConditionMachineSpec { /** * Infrastructure specification */ infraSpec?: pulumi.Input; } interface SecurityGovernanceConditionMachineSpecInfraSpec { /** * List of infrastructure IDs to apply the condition to */ infraIds: pulumi.Input[]>; /** * Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO) */ operator: pulumi.Input; } interface SecurityGovernanceConditionV3FaultSpec { /** * List of fault specifications */ faults: pulumi.Input[]>; /** * Operator for comparing faults (EQUAL*TO or NOT*EQUAL_TO) */ operator: pulumi.Input; } interface SecurityGovernanceConditionV3FaultSpecFault { /** * Type of the fault (FAULT or FAULT_GROUP) */ faultType: pulumi.Input; /** * Name of the fault */ name: pulumi.Input; } interface SecurityGovernanceConditionV3K8sSpec { /** * Application specification */ applicationSpec?: pulumi.Input; /** * Chaos service account specification */ chaosServiceAccountSpec?: pulumi.Input; /** * Infrastructure specification */ infraSpec?: pulumi.Input; } interface SecurityGovernanceConditionV3K8sSpecApplicationSpec { /** * Operator for application matching (EQUAL*TO or NOT*EQUAL_TO) */ operator: pulumi.Input; /** * List of workloads to include/exclude */ workloads?: pulumi.Input[] | undefined>; } interface SecurityGovernanceConditionV3K8sSpecApplicationSpecWorkload { /** * ID for the application map */ applicationMapId?: pulumi.Input; /** * Kind of the workload (e.g., deployment, statefulset) */ kind?: pulumi.Input; /** * Label selector for the workload */ label?: pulumi.Input; /** * Namespace of the workload */ namespace: pulumi.Input; /** * Namespace labels to match against, as key-value pairs */ namespaceLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of services associated with the workload */ services?: pulumi.Input[] | undefined>; } interface SecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpec { /** * Operator for service account matching (EQUAL*TO or NOT*EQUAL_TO) */ operator: pulumi.Input; /** * List of service accounts to include/exclude */ serviceAccounts: pulumi.Input[]>; } interface SecurityGovernanceConditionV3K8sSpecInfraSpec { /** * List of infrastructure IDs to apply the condition to */ infraIds: pulumi.Input[]>; /** * Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO) */ operator: pulumi.Input; } interface SecurityGovernanceConditionV3MachineSpec { /** * Infrastructure specification */ infraSpec?: pulumi.Input; } interface SecurityGovernanceConditionV3MachineSpecInfraSpec { /** * List of infrastructure IDs to apply the condition to */ infraIds: pulumi.Input[]>; /** * Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO) */ operator: pulumi.Input; } interface SecurityGovernanceRuleTimeWindow { duration?: pulumi.Input; endTime?: pulumi.Input; recurrence?: pulumi.Input; startTime: pulumi.Input; timeZone: pulumi.Input; } interface SecurityGovernanceRuleTimeWindowRecurrence { type: pulumi.Input; until: pulumi.Input; value?: pulumi.Input; } interface SecurityGovernanceRuleV3TimeWindow { /** * Duration of the window (e.g., 30m, 1h). Computed from endTime when not set. */ duration?: pulumi.Input; /** * End of the window as a Unix epoch timestamp in milliseconds. Computed from duration when not set. */ endTime?: pulumi.Input; /** * Recurrence specification for the time window. */ recurrence?: pulumi.Input; /** * Start of the window as a Unix epoch timestamp in milliseconds. */ startTime: pulumi.Input; /** * IANA time zone for the window (e.g., UTC, America/New_York). */ timeZone: pulumi.Input; } interface SecurityGovernanceRuleV3TimeWindowRecurrence { /** * Recurrence type (None, Daily, Weekly, Monthly, Yearly). */ type: pulumi.Input; /** * End of the recurrence as a Unix epoch timestamp in milliseconds. Use -1 for no end. */ until: pulumi.Input; /** * Day of month for Monthly recurrence. Only used when type is Monthly. */ value?: pulumi.Input; } } export declare namespace cloudprovider { interface AwsAssumeCrossAccountRole { /** * If the administrator of the account to which the role belongs provided you with an external ID, then enter that value. */ externalId?: pulumi.Input; /** * This is an IAM role in the target deployment AWS account. */ roleArn: pulumi.Input; } interface AwsUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input; } interface DatacenterUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input; } interface GcpUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input; } interface KubernetesAuthentication { /** * Delegate selectors to inherit the GCP credentials from. */ delegateSelectors?: pulumi.Input[] | undefined>; /** * Service account configuration for connecting to the Kubernetes cluster */ oidc?: pulumi.Input; /** * Username and password for authentication to the cluster */ serviceAccount?: pulumi.Input; /** * Username and password for authentication to the cluster */ usernamePassword?: pulumi.Input; } interface KubernetesAuthenticationOidc { /** * Name of the Harness secret containing the client ID for the cluster. */ clientIdSecretName: pulumi.Input; /** * Name of the Harness secret containing the client secret for the cluster. */ clientSecretSecretName?: pulumi.Input; /** * URL of the identity provider to use. */ identityProviderUrl: pulumi.Input; /** * URL of the Kubernetes master to connect to. */ masterUrl: pulumi.Input; /** * Name of the Harness secret containing the password for the cluster. */ passwordSecretName: pulumi.Input; /** * Scopes to request from the identity provider. */ scopes?: pulumi.Input[] | undefined>; /** * Username for authentication to the cluster. This can be the username itself or the ID of a harness secret. */ username: pulumi.Input; } interface KubernetesAuthenticationServiceAccount { /** * Name of the Harness secret containing the CA certificate for the cluster. */ caCertificateSecretName?: pulumi.Input; /** * URL of the Kubernetes master to connect to. */ masterUrl: pulumi.Input; /** * Name of the Harness secret containing the service account token for the cluster. */ serviceAccountTokenSecretName: pulumi.Input; } interface KubernetesAuthenticationUsernamePassword { /** * URL of the Kubernetes master to connect to. */ masterUrl: pulumi.Input; /** * Name of the Harness secret containing the password for the cluster. */ passwordSecretName: pulumi.Input; /** * Username for authentication to the cluster */ username?: pulumi.Input; /** * Name of the Harness secret containing the username for authentication to the cluster */ usernameSecretName?: pulumi.Input; } interface KubernetesUsageScope { /** * Id of the application to scope to. If empty then this scope applies to all applications. */ applicationId?: pulumi.Input; /** * Type of environment filter applied. Cannot be used with `environmentId`. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS. */ environmentFilterType?: pulumi.Input; /** * Id of the id of the specific environment to scope to. Cannot be used with `environmentFilterType`. */ environmentId?: pulumi.Input; } } export declare namespace cluster { interface GetOrchestratorConfigBinpacking { /** * Harness disruption configuration */ disruption?: inputs.cluster.GetOrchestratorConfigBinpackingDisruption; /** * Harness Pod Evictor Configuration */ podEviction?: inputs.cluster.GetOrchestratorConfigBinpackingPodEviction; } interface GetOrchestratorConfigBinpackingArgs { /** * Harness disruption configuration */ disruption?: pulumi.Input; /** * Harness Pod Evictor Configuration */ podEviction?: pulumi.Input; } interface GetOrchestratorConfigBinpackingDisruption { /** * Budgets for disruption */ budgets?: inputs.cluster.GetOrchestratorConfigBinpackingDisruptionBudget[]; /** * Criteria for considering a nodes for disruption */ criteria?: string; /** * Deletion delay */ delay?: string; } interface GetOrchestratorConfigBinpackingDisruptionArgs { /** * Budgets for disruption */ budgets?: pulumi.Input[] | undefined>; /** * Criteria for considering a nodes for disruption */ criteria?: pulumi.Input; /** * Deletion delay */ delay?: pulumi.Input; } interface GetOrchestratorConfigBinpackingDisruptionBudget { /** * Number or percentage of Nodes to consider for disruption */ nodes: string; /** * Reasons for disruption */ reasons?: string[]; /** * Schedule for disruption budget */ schedule?: inputs.cluster.GetOrchestratorConfigBinpackingDisruptionBudgetSchedule; } interface GetOrchestratorConfigBinpackingDisruptionBudgetArgs { /** * Number or percentage of Nodes to consider for disruption */ nodes: pulumi.Input; /** * Reasons for disruption */ reasons?: pulumi.Input[] | undefined>; /** * Schedule for disruption budget */ schedule?: pulumi.Input; } interface GetOrchestratorConfigBinpackingDisruptionBudgetSchedule { /** * Duration for disruption budget */ duration: string; /** * Frequency for disruption budget */ frequency: string; } interface GetOrchestratorConfigBinpackingDisruptionBudgetScheduleArgs { /** * Duration for disruption budget */ duration: pulumi.Input; /** * Frequency for disruption budget */ frequency: pulumi.Input; } interface GetOrchestratorConfigBinpackingPodEviction { /** * Minimum Threshold for considering a node as underutilized */ threshold: inputs.cluster.GetOrchestratorConfigBinpackingPodEvictionThreshold; } interface GetOrchestratorConfigBinpackingPodEvictionArgs { /** * Minimum Threshold for considering a node as underutilized */ threshold: pulumi.Input; } interface GetOrchestratorConfigBinpackingPodEvictionThreshold { /** * CPU percentage for considering a node as underutilized */ cpu: number; /** * Memory percentage for considering a node as underutilized */ memory: number; } interface GetOrchestratorConfigBinpackingPodEvictionThresholdArgs { /** * CPU percentage for considering a node as underutilized */ cpu: pulumi.Input; /** * Memory percentage for considering a node as underutilized */ memory: pulumi.Input; } interface GetOrchestratorConfigCommitmentIntegration { /** * Flag to enable Commitment Integration */ enabled: boolean; /** * Master AWS account id for commitment integration */ masterAccountId: string; } interface GetOrchestratorConfigCommitmentIntegrationArgs { /** * Flag to enable Commitment Integration */ enabled: pulumi.Input; /** * Master AWS account id for commitment integration */ masterAccountId: pulumi.Input; } interface GetOrchestratorConfigDistribution { /** * Number of minimum ondemand replicas required for workloads */ baseOndemandCapacity?: number; /** * Percentage of on-demand replicas required for workloads */ ondemandReplicaPercentage: number; /** * Selector for choosing workloads for distribution */ selector?: string; /** * Strategy for choosing spot nodes for cluster */ strategy?: string; } interface GetOrchestratorConfigDistributionArgs { /** * Number of minimum ondemand replicas required for workloads */ baseOndemandCapacity?: pulumi.Input; /** * Percentage of on-demand replicas required for workloads */ ondemandReplicaPercentage: pulumi.Input; /** * Selector for choosing workloads for distribution */ selector?: pulumi.Input; /** * Strategy for choosing spot nodes for cluster */ strategy?: pulumi.Input; } interface GetOrchestratorConfigNodePreferences { /** * Reverse fallback interval */ reverseFallbackInterval?: string; /** * TTL for nodes */ ttl?: string; } interface GetOrchestratorConfigNodePreferencesArgs { /** * Reverse fallback interval */ reverseFallbackInterval?: pulumi.Input; /** * TTL for nodes */ ttl?: pulumi.Input; } interface GetOrchestratorConfigReplacementSchedule { /** * Defines the scope of the replacement schedule */ appliesTo: inputs.cluster.GetOrchestratorConfigReplacementScheduleAppliesTo; windowDetails?: inputs.cluster.GetOrchestratorConfigReplacementScheduleWindowDetails; /** * Window type for replacement schedule */ windowType: string; } interface GetOrchestratorConfigReplacementScheduleArgs { /** * Defines the scope of the replacement schedule */ appliesTo: pulumi.Input; windowDetails?: pulumi.Input; /** * Window type for replacement schedule */ windowType: pulumi.Input; } interface GetOrchestratorConfigReplacementScheduleAppliesTo { consolidation: boolean; harnessPodEviction: boolean; reverseFallback: boolean; } interface GetOrchestratorConfigReplacementScheduleAppliesToArgs { consolidation: pulumi.Input; harnessPodEviction: pulumi.Input; reverseFallback: pulumi.Input; } interface GetOrchestratorConfigReplacementScheduleWindowDetails { allDay?: boolean; /** * List of days on which schedule need to be active. Valid values are SUN, MON, TUE, WED, THU, FRI and SAT. */ days: string[]; /** * End time of schedule in the format HH:MM. Eg : 13:15 for 01:15pm */ endTime?: string; /** * Start time of schedule in the format HH:MM. Eg : 13:15 for 01:15pm */ startTime?: string; /** * Time zone in which the schedule needs to be executed. Example Valid values: UTC, America/New*York, Europe/London, Asia/Kolkata, Asia/Tokyo, Asia/Hong*Kong, Asia/Singapore, Australia/Melbourne and Australia/Sydney. */ timeZone: string; } interface GetOrchestratorConfigReplacementScheduleWindowDetailsArgs { allDay?: pulumi.Input; /** * List of days on which schedule need to be active. Valid values are SUN, MON, TUE, WED, THU, FRI and SAT. */ days: pulumi.Input[]>; /** * End time of schedule in the format HH:MM. Eg : 13:15 for 01:15pm */ endTime?: pulumi.Input; /** * Start time of schedule in the format HH:MM. Eg : 13:15 for 01:15pm */ startTime?: pulumi.Input; /** * Time zone in which the schedule needs to be executed. Example Valid values: UTC, America/New*York, Europe/London, Asia/Kolkata, Asia/Tokyo, Asia/Hong*Kong, Asia/Singapore, Australia/Melbourne and Australia/Sydney. */ timeZone: pulumi.Input; } interface OrchestratorConfigBinpacking { /** * Harness disruption configuration */ disruption?: pulumi.Input; /** * Harness Pod Evictor Configuration */ podEviction?: pulumi.Input; } interface OrchestratorConfigBinpackingDisruption { /** * Budgets for disruption */ budgets?: pulumi.Input[] | undefined>; /** * Criteria for considering a nodes for disruption */ criteria?: pulumi.Input; /** * Deletion delay */ delay?: pulumi.Input; } interface OrchestratorConfigBinpackingDisruptionBudget { /** * Number or percentage of Nodes to consider for disruption */ nodes: pulumi.Input; /** * Reasons for disruption */ reasons?: pulumi.Input[] | undefined>; /** * Schedule for disruption budget */ schedule?: pulumi.Input; } interface OrchestratorConfigBinpackingDisruptionBudgetSchedule { /** * Duration for disruption budget */ duration: pulumi.Input; /** * Frequency for disruption budget */ frequency: pulumi.Input; } interface OrchestratorConfigBinpackingPodEviction { /** * Minimum Threshold for considering a node as underutilized */ threshold: pulumi.Input; } interface OrchestratorConfigBinpackingPodEvictionThreshold { /** * CPU percentage for considering a node as underutilized */ cpu: pulumi.Input; /** * Memory percentage for considering a node as underutilized */ memory: pulumi.Input; } interface OrchestratorConfigCommitmentIntegration { /** * Flag to enable Commitment Integration */ enabled: pulumi.Input; /** * Master AWS account id for commitment integration */ masterAccountId: pulumi.Input; } interface OrchestratorConfigDistribution { /** * Number of minimum ondemand replicas required for workloads */ baseOndemandCapacity?: pulumi.Input; /** * Percentage of on-demand replicas required for workloads */ ondemandReplicaPercentage: pulumi.Input; /** * Selector for choosing workloads for distribution */ selector?: pulumi.Input; /** * Strategy for choosing spot nodes for cluster */ strategy?: pulumi.Input; } interface OrchestratorConfigNodePreferences { /** * Reverse fallback interval */ reverseFallbackInterval?: pulumi.Input; /** * TTL for nodes */ ttl?: pulumi.Input; } interface OrchestratorConfigReplacementSchedule { /** * Defines the scope of the replacement schedule */ appliesTo: pulumi.Input; windowDetails?: pulumi.Input; /** * Window type for replacement schedule */ windowType: pulumi.Input; } interface OrchestratorConfigReplacementScheduleAppliesTo { consolidation: pulumi.Input; harnessPodEviction: pulumi.Input; reverseFallback: pulumi.Input; } interface OrchestratorConfigReplacementScheduleWindowDetails { allDay?: pulumi.Input; /** * List of days on which schedule need to be active. Valid values are SUN, MON, TUE, WED, THU, FRI and SAT. */ days: pulumi.Input[]>; /** * End time of schedule in the format HH:MM. Eg : 13:15 for 01:15pm */ endTime?: pulumi.Input; /** * Start time of schedule in the format HH:MM. Eg : 13:15 for 01:15pm */ startTime?: pulumi.Input; /** * Time zone in which the schedule needs to be executed. Example Valid values: UTC, America/New*York, Europe/London, Asia/Kolkata, Asia/Tokyo, Asia/Hong*Kong, Asia/Singapore, Australia/Melbourne and Australia/Sydney. */ timeZone: pulumi.Input; } } export declare namespace fmeEnvironment { interface FmeEnvironmentChangePermissions { /** * Whether kill operations are allowed in this environment. */ allowKills?: pulumi.Input; /** * Users, groups, or API keys that can skip the approval requirement. */ approvalSkippableBies?: pulumi.Input[] | undefined>; /** * Users, groups, or API keys that can approve changes. */ approvers?: pulumi.Input[] | undefined>; /** * Whether approvals are required before changes take effect. */ areApprovalsRequired?: pulumi.Input; /** * Whether only specific users/groups/API keys can approve changes. */ areApproversRestricted?: pulumi.Input; } interface FmeEnvironmentChangePermissionsApprovalSkippableBy { /** * Identifier of the user, group, or API key. */ id: pulumi.Input; /** * Display name (resolved by the API; may differ from the value provided at creation). */ name?: pulumi.Input; /** * Entity type: `user`, `group`, or `apiKey` (a Harness service account). */ type: pulumi.Input; } interface FmeEnvironmentChangePermissionsApprover { /** * Identifier of the user, group, or API key. */ id: pulumi.Input; /** * Display name (resolved by the API; may differ from the value provided at creation). */ name?: pulumi.Input; /** * Entity type: `user`, `group`, or `apiKey` (a Harness service account). */ type: pulumi.Input; } } export declare namespace platform { interface AppDynamicsConnectorApiToken { /** * The client id used for connecting to App Dynamics. */ clientId: pulumi.Input; /** * Reference to the Harness secret containing the App Dynamics client secret. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientSecretRef: pulumi.Input; } interface AppDynamicsConnectorUsernamePassword { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username: pulumi.Input; } interface ArtifactoryConnectorCredentials { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface AwsCCConnectorCrossAccountAccess { /** * The external id of the role to use for cross-account access. This is a random unique value to provide additional secure authentication. */ externalId: pulumi.Input; /** * The ARN of the role to use for cross-account access. */ roleArn: pulumi.Input; } interface AwsConnectorCrossAccountAccess { /** * If the administrator of the account to which the role belongs provided you with an external ID, then enter that value. */ externalId?: pulumi.Input; /** * The Amazon Resource Name (ARN) of the role that you want to assume. This is an IAM role in the target AWS account. */ roleArn: pulumi.Input; } interface AwsConnectorEqualJitterBackoffStrategy { /** * Base delay. */ baseDelay?: pulumi.Input; /** * Max BackOff Time. */ maxBackoffTime?: pulumi.Input; /** * Retry Count. */ retryCount?: pulumi.Input; } interface AwsConnectorFixedDelayBackoffStrategy { /** * Fixed Backoff. */ fixedBackoff?: pulumi.Input; /** * Retry Count. */ retryCount?: pulumi.Input; } interface AwsConnectorFullJitterBackoffStrategy { /** * Base delay. */ baseDelay?: pulumi.Input; /** * Max BackOff Time. */ maxBackoffTime?: pulumi.Input; /** * Retry Count. */ retryCount?: pulumi.Input; } interface AwsConnectorInheritFromDelegate { /** * The delegates to inherit the credentials from. */ delegateSelectors: pulumi.Input[]>; /** * Test Region to perform Connection test of AWS Connector To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ region?: pulumi.Input; } interface AwsConnectorIrsa { /** * The delegates to inherit the credentials from. */ delegateSelectors: pulumi.Input[]>; /** * Test Region to perform Connection test of AWS Connector To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ region?: pulumi.Input; } interface AwsConnectorManual { /** * AWS access key. */ accessKey?: pulumi.Input; /** * Reference to the Harness secret containing the aws access key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ accessKeyRef?: pulumi.Input; /** * Connect only use delegates with these tags. */ delegateSelectors?: pulumi.Input[] | undefined>; /** * Test Region to perform Connection test of AWS Connector To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ region?: pulumi.Input; /** * Reference to the Harness secret containing the aws secret key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ secretKeyRef: pulumi.Input; /** * Reference to the Harness secret containing the aws session token. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ sessionTokenRef?: pulumi.Input; } interface AwsConnectorOidcAuthentication { /** * The delegates to inherit the credentials from. */ delegateSelectors?: pulumi.Input[] | undefined>; /** * The IAM Role to assume the credentials from. */ iamRoleArn: pulumi.Input; /** * Test Region to perform Connection test of AWS Connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ region?: pulumi.Input; } interface AwsKmsConnectorCredentials { /** * Connect using STS assume role. */ assumeRole?: pulumi.Input; /** * Inherit the credentials from from the delegate. */ inheritFromDelegate?: pulumi.Input; /** * Specify the AWS key and secret used for authenticating. */ manual?: pulumi.Input; /** * Connect using OIDC authentication. */ oidcAuthentication?: pulumi.Input; } interface AwsKmsConnectorCredentialsAssumeRole { /** * The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds. An expiration can also be specified in the client request body. The minimum value is 1 hour. */ duration: pulumi.Input; /** * If the administrator of the account to which the role belongs provided you with an external ID, then enter that value. */ externalId?: pulumi.Input; /** * The ARN of the role to assume. */ roleArn: pulumi.Input; } interface AwsKmsConnectorCredentialsManual { /** * The reference to the Harness secret containing the AWS access key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ accessKeyRef: pulumi.Input; /** * The reference to the Harness secret containing the AWS secret key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ secretKeyRef: pulumi.Input; } interface AwsKmsConnectorCredentialsOidcAuthentication { /** * The ARN of the IAM role to assume. */ iamRoleArn: pulumi.Input; } interface AwsSecretManagerConnectorCredentials { /** * Connect using STS assume role. */ assumeRole?: pulumi.Input; /** * Inherit the credentials from from the delegate. */ inheritFromDelegate?: pulumi.Input; /** * Specify the AWS key and secret used for authenticating. */ manual?: pulumi.Input; /** * Authentication using harness oidc. */ oidcAuthentication?: pulumi.Input; } interface AwsSecretManagerConnectorCredentialsAssumeRole { /** * The duration, in seconds, of the role session. The value can range from 900 seconds (15 minutes) to 3600 seconds (1 hour). By default, the value is set to 3600 seconds. An expiration can also be specified in the client request body. The minimum value is 1 hour. */ duration: pulumi.Input; /** * If the administrator of the account to which the role belongs provided you with an external ID, then enter that value. */ externalId?: pulumi.Input; /** * The ARN of the role to assume. */ roleArn: pulumi.Input; } interface AwsSecretManagerConnectorCredentialsManual { /** * The plain text AWS access key. */ accessKeyPlainText?: pulumi.Input; /** * The reference to the Harness secret containing the AWS access key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ accessKeyRef?: pulumi.Input; /** * The reference to the Harness secret containing the AWS secret key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ secretKeyRef: pulumi.Input; } interface AwsSecretManagerConnectorCredentialsOidcAuthentication { /** * The IAM role ARN. */ iamRoleArn: pulumi.Input; } interface AzureCloudCostConnectorBillingExportSpec { /** * Billing type. */ billingType: pulumi.Input; /** * Name of the container. */ containerName: pulumi.Input; /** * Name of the directory. */ directoryName: pulumi.Input; /** * Name of the report. */ reportName: pulumi.Input; /** * Name of the storage account. */ storageAccountName: pulumi.Input; /** * Subsription Id. */ subscriptionId: pulumi.Input; } interface AzureCloudCostConnectorBillingExportSpec2 { /** * Billing type. */ billingType: pulumi.Input; /** * Name of the container. */ containerName: pulumi.Input; /** * Name of the directory. */ directoryName: pulumi.Input; /** * Name of the report. */ reportName: pulumi.Input; /** * Name of the storage account. */ storageAccountName: pulumi.Input; /** * Subsription Id. */ subscriptionId: pulumi.Input; } interface AzureCloudProviderConnectorCredentials { /** * Authenticate to Azure Cloud Provider using details inheriting from delegate. */ azureInheritFromDelegateDetails?: pulumi.Input; /** * Authenticate to Azure Cloud Provider using manual details. */ azureManualDetails?: pulumi.Input; /** * Authenticate to Azure Cloud Provider using OIDC. */ azureOidcSpec?: pulumi.Input; /** * Type can be InheritFromDelegate, ManualConfig or OidcAuthentication */ type: pulumi.Input; } interface AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetails { /** * Auth to authenticate to Azure Cloud Provider using details inheriting from delegate. */ auth?: pulumi.Input; } interface AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuth { /** * Azure UserAssigned MSI auth details. */ azureMsiAuthUa?: pulumi.Input; /** * Type can either be SystemAssignedManagedIdentity or UserAssignedManagedIdentity. */ type: pulumi.Input; } interface AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUa { /** * Client Id of the ManagedIdentity resource. */ clientId?: pulumi.Input; } interface AzureCloudProviderConnectorCredentialsAzureManualDetails { /** * Application ID of the Azure App. */ applicationId?: pulumi.Input; /** * Contains Azure auth details. */ auth?: pulumi.Input; /** * The Azure Active Directory (AAD) directory ID where you created your application. */ tenantId?: pulumi.Input; } interface AzureCloudProviderConnectorCredentialsAzureManualDetailsAuth { /** * Azure client key certificate details. */ azureClientKeyCert?: pulumi.Input; /** * Azure Client Secret Key details. */ azureClientSecretKey?: pulumi.Input; /** * Type can either be Certificate or Secret. */ type?: pulumi.Input; } interface AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCert { /** * Reference of the secret for the certificate. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ certificateRef?: pulumi.Input; } interface AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKey { /** * Reference of the secret for the secret key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ secretRef?: pulumi.Input; } interface AzureCloudProviderConnectorCredentialsAzureOidcSpec { /** * Application ID of the Azure App. */ applicationId?: pulumi.Input; /** * The Azure Audience. */ audience?: pulumi.Input; /** * The Azure Active Directory (AAD) directory ID where you created your application. */ tenantId?: pulumi.Input; } interface BitbucketConnectorApiAuthentication { /** * Type of API authentication. Valid values are UsernameToken, AccessToken, EmailAndApiToken. Defaults to `UsernameToken` for backward compatibility. */ authType?: pulumi.Input; /** * The email used for connecting to the api. Applicable when `authType` is `EmailAndApiToken`. */ email?: pulumi.Input; /** * The name of the Harness secret containing the email. Applicable when `authType` is `EmailAndApiToken`. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ emailRef?: pulumi.Input; /** * Reference to a Harness secret containing the personal access token (or API token for `EmailAndApiToken`/`AccessToken`) for interacting with the BitBucket api. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef: pulumi.Input; /** * The username used for connecting to the api. Applicable when `authType` is `UsernameToken`. */ username?: pulumi.Input; /** * The name of the Harness secret containing the username. Applicable when `authType` is `UsernameToken`. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface BitbucketConnectorCredentials { /** * Authenticate using Username and password over http(s) for the connection. */ http?: pulumi.Input; /** * Authenticate using SSH for the connection. */ ssh?: pulumi.Input; } interface BitbucketConnectorCredentialsHttp { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef?: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface BitbucketConnectorCredentialsSsh { /** * Reference to the Harness secret containing the ssh key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ sshKeyRef: pulumi.Input; } interface CentralNotificationChannelChannel { apiKey?: pulumi.Input; datadogUrls?: pulumi.Input[] | undefined>; delegateSelectors?: pulumi.Input[] | undefined>; emailIds?: pulumi.Input[] | undefined>; executeOnDelegate?: pulumi.Input; headers?: pulumi.Input[] | undefined>; msTeamKeys?: pulumi.Input[] | undefined>; pagerDutyIntegrationKeys?: pulumi.Input[] | undefined>; slackWebhookUrls?: pulumi.Input[] | undefined>; userGroups?: pulumi.Input[] | undefined>; webhookUrls?: pulumi.Input[] | undefined>; } interface CentralNotificationChannelChannelHeader { key: pulumi.Input; value: pulumi.Input; } interface CentralNotificationChannelChannelUserGroup { identifier: pulumi.Input; } interface CentralNotificationRuleCustomNotificationTemplateRef { templateRef: pulumi.Input; variables?: pulumi.Input[] | undefined>; versionLabel: pulumi.Input; } interface CentralNotificationRuleCustomNotificationTemplateRefVariable { name: pulumi.Input; type?: pulumi.Input; value: pulumi.Input; } interface CentralNotificationRuleNotificationCondition { conditionName: pulumi.Input; notificationEventConfigs: pulumi.Input[]>; } interface CentralNotificationRuleNotificationConditionNotificationEventConfig { entityIdentifiers?: pulumi.Input[] | undefined>; notificationEntity: pulumi.Input; notificationEvent: pulumi.Input; notificationEventData?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface ConnectorAzureArtifactsCredentials { /** * Reference to a secret containing the token to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef: pulumi.Input; } interface ConnectorAzureRepoApiAuthentication { /** * Personal access token for interacting with the azure api. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef: pulumi.Input; } interface ConnectorAzureRepoCredentials { /** * Authenticate using Username and token over http(s) for the connection. */ http?: pulumi.Input; /** * Authenticate using SSH for the connection. */ ssh?: pulumi.Input; } interface ConnectorAzureRepoCredentialsHttp { /** * Reference to a secret containing the personal access to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface ConnectorAzureRepoCredentialsSsh { /** * Reference to the Harness secret containing the ssh key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ sshKeyRef: pulumi.Input; } interface ConnectorCustomSecretManagerTemplateInput { environmentVariables?: pulumi.Input[] | undefined>; } interface ConnectorCustomSecretManagerTemplateInputEnvironmentVariable { default?: pulumi.Input; name: pulumi.Input; type: pulumi.Input; value: pulumi.Input; } interface ConnectorCustomhealthsourceHeader { /** * Reference to the Harness secret containing the encrypted value. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ encryptedValueRef?: pulumi.Input; /** * Key. */ key: pulumi.Input; /** * Value. */ value?: pulumi.Input; /** * Encrypted value. */ valueEncrypted?: pulumi.Input; } interface ConnectorCustomhealthsourceParam { /** * Reference to the Harness secret containing the encrypted value. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ encryptedValueRef?: pulumi.Input; /** * Key. */ key: pulumi.Input; /** * Value. */ value?: pulumi.Input; /** * Encrypted value. */ valueEncrypted?: pulumi.Input; } interface ConnectorGcpKmsManual { /** * Reference to the Harness secret containing the secret key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ credentials: pulumi.Input; /** * The delegates to connect with. */ delegateSelectors?: pulumi.Input[] | undefined>; } interface ConnectorGcpKmsOidcAuthentication { /** * The delegates to inherit the credentials from. */ delegateSelectors?: pulumi.Input[] | undefined>; /** * The project number of the GCP project that is used to create the workload identity. */ gcpProjectId: pulumi.Input; /** * The OIDC provider ID value configured in GCP. */ providerId: pulumi.Input; /** * The service account linked to workload identity pool while setting GCP workload identity provider. */ serviceAccountEmail: pulumi.Input; /** * The workload pool ID value created in GCP. */ workloadPoolId: pulumi.Input; } interface ConnectorJdbcCredentials { /** * Authentication types for JDBC connector */ authType?: pulumi.Input; /** * Authenticate using credentials inherited from the Harness delegate runtime identity (e.g. GCP ADC, AWS IAM). */ inheritFromDelegate?: pulumi.Input; /** * Authenticate using key pair. */ keyPair?: pulumi.Input; /** * Authenticate using OIDC. */ oidc?: pulumi.Input; /** * The reference to the Harness secret containing the password to use for the database server. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef?: pulumi.Input; /** * Authenticate using service account. */ serviceAccount?: pulumi.Input; /** * The username to use for the database server. */ username?: pulumi.Input; /** * Authenticate using username password. */ usernamePassword?: pulumi.Input; /** * The reference to the Harness secret containing the username to use for the database server. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface ConnectorJdbcCredentialsInheritFromDelegate { /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface ConnectorJdbcCredentialsKeyPair { /** * Reference to a secret containing the private key file to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ privateKeyFileRef: pulumi.Input; /** * Reference to a secret containing the passphrase for the private key file. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ privateKeyPassphraseRef?: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface ConnectorJdbcCredentialsOidc { /** * GCP OIDC configuration. Required when provider*type is Gcp. */ gcpOidc?: pulumi.Input; /** * The OIDC provider type. Currently supported: Gcp. */ providerType: pulumi.Input; } interface ConnectorJdbcCredentialsOidcGcpOidc { /** * The GCP project number (numeric). */ projectNumber: pulumi.Input; /** * The OIDC Provider ID within the pool. */ providerId: pulumi.Input; /** * The GCP Service Account email for impersonation. */ serviceAccountEmail: pulumi.Input; /** * The Workload Identity Pool ID. */ workloadPoolId: pulumi.Input; } interface ConnectorJdbcCredentialsServiceAccount { /** * Reference to a secret containing the token to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef: pulumi.Input; } interface ConnectorJdbcCredentialsUsernamePassword { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface ConnectorPdcHost { /** * attributes for current host */ attributes?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * hostname */ hostname: pulumi.Input; } interface ConnectorRancherBearerToken { /** * Reference to the secret containing the bearer token for the rancher cluster. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ bearerTokenRef: pulumi.Input; } interface DbSchemaChangelogScript { /** * Script to clone changeSets */ command?: pulumi.Input; /** * The fully-qualified name (FQN) of the image */ image?: pulumi.Input; /** * Path to changeLog file */ location?: pulumi.Input; /** * Type of the shell. For example Sh or Bash */ shell?: pulumi.Input; /** * Config file, to define various settings and properties for managing database schema change */ toml?: pulumi.Input; } interface DbSchemaSchemaSource { /** * If connector type is artifactory, path to the archive file which contains the changeLog. Not supported with Harness Code Repository. */ archivePath?: pulumi.Input; /** * Connector to repository at which to find details about the database schema. Leave empty when using Harness Code Repository. */ connector?: pulumi.Input; /** * The path within the specified repository at which to find details about the database schema */ location: pulumi.Input; /** * Repository name. Required for Harness Code Repository or when connector connection type is Account. */ repo?: pulumi.Input; /** * Config file, to define various settings and properties for managing database schema change */ toml?: pulumi.Input; } interface DefaultNotificationTemplateSetEventTemplateConfigurationSet { /** * List of notification events like PIPELINE_START */ notificationEvents: pulumi.Input[]>; /** * Template reference configuration */ template: pulumi.Input; } interface DefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate { templateRef: pulumi.Input; /** * List of variables passed to the template */ variables?: pulumi.Input[] | undefined>; versionLabel: pulumi.Input; } interface DefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable { name: pulumi.Input; type: pulumi.Input; value: pulumi.Input; } interface DockerConnectorCredentials { /** * The reference to the Harness secret containing the password to use for the docker registry. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * The username to use for the docker registry. */ username?: pulumi.Input; /** * The reference to the Harness secret containing the username to use for the docker registry. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface ElasticsearchConnectorApiToken { /** * The API Key id used for connecting to ElasticSearch. */ clientId: pulumi.Input; /** * Reference to the Harness secret containing the ElasticSearch client secret. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientSecretRef: pulumi.Input; } interface ElasticsearchConnectorNoAuthentication { } interface ElasticsearchConnectorUsernamePassword { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username: pulumi.Input; } interface EnvironmentClustersMappingCluster { /** * agent identifier of the cluster (include scope prefix) */ agentIdentifier?: pulumi.Input; /** * identifier of the cluster */ identifier?: pulumi.Input; /** * name of the cluster */ name?: pulumi.Input; /** * scope at which the cluster exists in harness gitops, one of "ACCOUNT", "ORGANIZATION", "PROJECT". Scope of environment to which clusters are being mapped must be lower or equal to in hierarchy than the scope of the cluster */ scope?: pulumi.Input; } interface EnvironmentGitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branch?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * import environment from git */ importFromGit?: pulumi.Input; /** * force import environment from remote even if same file path already exist */ isForceImport?: pulumi.Input; /** * If the gitProvider is HarnessCode */ isHarnesscodeRepo?: pulumi.Input; /** * If a new branch creation is requested. */ isNewBranch?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: pulumi.Input; /** * If the Entity is to be fetched from cache */ loadFromCache?: pulumi.Input; /** * If the Entity is to be fetched from fallbackBranch */ loadFromFallbackBranch?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Parent Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ parentEntityConnectorRef?: pulumi.Input; /** * Name of the repository where parent entity lies. */ parentEntityRepoName?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: pulumi.Input; } interface FeatureFlagEnvironment { /** * The targeting rules for the flag */ addTargetRules?: pulumi.Input[] | undefined>; /** * Default variation to be served when flag is 'off' */ defaultOffVariation?: pulumi.Input; /** * Default variation to be served when flag is 'on' */ defaultOnVariation?: pulumi.Input; /** * Identifier of the Environment */ identifier: pulumi.Input; /** * State of the flag in this environment. Possible values are 'on' and 'off' */ state?: pulumi.Input; } interface FeatureFlagEnvironmentAddTargetRule { /** * The targets that should be served this variation */ targets?: pulumi.Input[] | undefined>; /** * The identifier of the variation */ variation?: pulumi.Input; } interface FeatureFlagTag { /** * The identifier of the tag */ identifier: pulumi.Input; } interface FeatureFlagTargetGroupRule { /** * The attribute to use in the clause. This can be any target attribute */ attribute: pulumi.Input; /** * The rule ID. Gets auto-generated by the system */ id?: pulumi.Input; /** * Is the operation negated? */ negate?: pulumi.Input; /** * The type of operation such as equals, starts_with, contains */ op: pulumi.Input; /** * The values that are compared against the operator */ values: pulumi.Input[]>; } interface FeatureFlagVariation { /** * The description of the variation */ description: pulumi.Input; /** * The identifier of the variation */ identifier: pulumi.Input; /** * The user friendly name of the variation */ name: pulumi.Input; /** * The value of the variation */ value: pulumi.Input; } interface FileStoreFileCreatedBy { /** * User email */ email?: pulumi.Input; /** * User name */ name?: pulumi.Input; } interface FileStoreFileLastModifiedBy { /** * User email */ email?: pulumi.Input; /** * User name */ name?: pulumi.Input; } interface FileStoreFolderCreatedBy { /** * User email */ email?: pulumi.Input; /** * User name */ name?: pulumi.Input; } interface FileStoreFolderLastModifiedBy { /** * User email */ email?: pulumi.Input; /** * User name */ name?: pulumi.Input; } interface FiltersFilterProperties { /** * Corresponding Entity of the filter. Currently supported types are {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}. */ filterType: pulumi.Input; /** * Tags to associate with the resource. Tags should be in the form `name:value`. */ tags?: pulumi.Input[] | undefined>; } interface GcpCloudCostConnectorBillingExportSpec { /** * Data Set Id. */ dataSetId: pulumi.Input; /** * Table Id. */ tableId: pulumi.Input; } interface GcpConnectorInheritFromDelegate { /** * The delegates to inherit the credentials from. */ delegateSelectors: pulumi.Input[]>; } interface GcpConnectorManual { /** * The delegates to connect with. */ delegateSelectors?: pulumi.Input[] | undefined>; /** * Reference to the Harness secret containing the secret key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ secretKeyRef: pulumi.Input; } interface GcpConnectorOidcAuthentication { /** * The delegates to inherit the credentials from. */ delegateSelectors?: pulumi.Input[] | undefined>; /** * The project number of the GCP project that is used to create the workload identity. */ gcpProjectId: pulumi.Input; /** * The OIDC provider ID value configured in GCP. */ providerId: pulumi.Input; /** * The service account linked to workload identity pool while setting GCP workload identity provider. */ serviceAccountEmail: pulumi.Input; /** * The workload pool ID value created in GCP. */ workloadPoolId: pulumi.Input; } interface GcpSecretManagerConnectorOidcAuthentication { /** * The project number of the GCP project that is used to create the workload identity. */ gcpProjectId: pulumi.Input; /** * The OIDC provider ID value configured in GCP. */ providerId: pulumi.Input; /** * The service account linked to workload identity pool while setting GCP workload identity provider. */ serviceAccountEmail: pulumi.Input; /** * The workload pool ID value created in GCP. */ workloadPoolId: pulumi.Input; } interface GetCentralNotificationChannelChannel { /** * API key for the webhook or integration. */ apiKey?: string; /** * List of Datadog webhook URLs. */ datadogUrls?: string[]; /** * List of delegate selectors to use for sending notifications. */ delegateSelectors?: string[]; /** * List of email addresses to notify. */ emailIds?: string[]; /** * Whether to execute the notification logic on delegate. */ executeOnDelegate?: boolean; /** * Custom HTTP headers to include in webhook requests. */ headers?: inputs.platform.GetCentralNotificationChannelChannelHeader[]; /** * List of Microsoft Teams integration keys. */ msTeamKeys?: string[]; /** * List of PagerDuty integration keys. */ pagerDutyIntegrationKeys?: string[]; /** * List of Slack webhook URLs to send notifications to. */ slackWebhookUrls?: string[]; /** * List of user groups to notify. */ userGroups?: inputs.platform.GetCentralNotificationChannelChannelUserGroup[]; /** * List of generic webhook URLs. */ webhookUrls?: string[]; } interface GetCentralNotificationChannelChannelArgs { /** * API key for the webhook or integration. */ apiKey?: pulumi.Input; /** * List of Datadog webhook URLs. */ datadogUrls?: pulumi.Input[] | undefined>; /** * List of delegate selectors to use for sending notifications. */ delegateSelectors?: pulumi.Input[] | undefined>; /** * List of email addresses to notify. */ emailIds?: pulumi.Input[] | undefined>; /** * Whether to execute the notification logic on delegate. */ executeOnDelegate?: pulumi.Input; /** * Custom HTTP headers to include in webhook requests. */ headers?: pulumi.Input[] | undefined>; /** * List of Microsoft Teams integration keys. */ msTeamKeys?: pulumi.Input[] | undefined>; /** * List of PagerDuty integration keys. */ pagerDutyIntegrationKeys?: pulumi.Input[] | undefined>; /** * List of Slack webhook URLs to send notifications to. */ slackWebhookUrls?: pulumi.Input[] | undefined>; /** * List of user groups to notify. */ userGroups?: pulumi.Input[] | undefined>; /** * List of generic webhook URLs. */ webhookUrls?: pulumi.Input[] | undefined>; } interface GetCentralNotificationChannelChannelHeader { /** * Header key name. */ key: string; /** * Header value. */ value: string; } interface GetCentralNotificationChannelChannelHeaderArgs { /** * Header key name. */ key: pulumi.Input; /** * Header value. */ value: pulumi.Input; } interface GetCentralNotificationChannelChannelUserGroup { /** * Identifier of the user group. */ identifier?: string; } interface GetCentralNotificationChannelChannelUserGroupArgs { /** * Identifier of the user group. */ identifier?: pulumi.Input; } interface GetCentralNotificationRuleCustomNotificationTemplateRef { templateRef: string; variables?: inputs.platform.GetCentralNotificationRuleCustomNotificationTemplateRefVariable[]; versionLabel: string; } interface GetCentralNotificationRuleCustomNotificationTemplateRefArgs { templateRef: pulumi.Input; variables?: pulumi.Input[] | undefined>; versionLabel: pulumi.Input; } interface GetCentralNotificationRuleCustomNotificationTemplateRefVariable { name: string; type?: string; value: string; } interface GetCentralNotificationRuleCustomNotificationTemplateRefVariableArgs { name: pulumi.Input; type?: pulumi.Input; value: pulumi.Input; } interface GetCentralNotificationRuleNotificationCondition { conditionName: string; notificationEventConfigs: inputs.platform.GetCentralNotificationRuleNotificationConditionNotificationEventConfig[]; } interface GetCentralNotificationRuleNotificationConditionArgs { conditionName: pulumi.Input; notificationEventConfigs: pulumi.Input[]>; } interface GetCentralNotificationRuleNotificationConditionNotificationEventConfig { entityIdentifiers?: string[]; notificationEntity: string; notificationEvent: string; notificationEventData?: { [key: string]: string; }; } interface GetCentralNotificationRuleNotificationConditionNotificationEventConfigArgs { entityIdentifiers?: pulumi.Input[] | undefined>; notificationEntity: pulumi.Input; notificationEvent: pulumi.Input; notificationEventData?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GetConnectorRancherBearerToken { /** * Reference to the secret containing the bearer token for the rancher cluster. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: string; /** * The URL of the Rancher cluster. */ rancherUrl: string; } interface GetConnectorRancherBearerTokenArgs { /** * Reference to the secret containing the bearer token for the rancher cluster. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * The URL of the Rancher cluster. */ rancherUrl: pulumi.Input; } interface GetDefaultNotificationTemplateSetEventTemplateConfigurationSet { /** * List of notification events like PIPELINE_START */ notificationEvents: string[]; /** * Template reference configuration */ template: inputs.platform.GetDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate; } interface GetDefaultNotificationTemplateSetEventTemplateConfigurationSetArgs { /** * List of notification events like PIPELINE_START */ notificationEvents: pulumi.Input[]>; /** * Template reference configuration */ template: pulumi.Input; } interface GetDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate { templateRef: string; /** * List of variables passed to the template */ variables?: inputs.platform.GetDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable[]; versionLabel: string; } interface GetDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateArgs { templateRef: pulumi.Input; /** * List of variables passed to the template */ variables?: pulumi.Input[] | undefined>; versionLabel: pulumi.Input; } interface GetDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable { name: string; type: string; value: string; } interface GetDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariableArgs { name: pulumi.Input; type: pulumi.Input; value: pulumi.Input; } interface GetEnvironmentClustersMappingCluster { /** * agent identifier of the cluster (include scope prefix) */ agentIdentifier?: string; /** * identifier of the cluster */ identifier?: string; /** * name of the cluster */ name?: string; /** * scope at which the cluster exists in harness gitops, one of "ACCOUNT", "ORGANIZATION", "PROJECT". Scope of environment to which clusters are being mapped must be lower or equal to in hierarchy than the scope of the cluster */ scope?: string; } interface GetEnvironmentClustersMappingClusterArgs { /** * agent identifier of the cluster (include scope prefix) */ agentIdentifier?: pulumi.Input; /** * identifier of the cluster */ identifier?: pulumi.Input; /** * name of the cluster */ name?: pulumi.Input; /** * scope at which the cluster exists in harness gitops, one of "ACCOUNT", "ORGANIZATION", "PROJECT". Scope of environment to which clusters are being mapped must be lower or equal to in hierarchy than the scope of the cluster */ scope?: pulumi.Input; } interface GetEnvironmentGitDetails { /** * Name of the branch. */ branch?: string; /** * Load environment yaml from fallback branch */ loadFromFallbackBranch?: boolean; /** * Repo name of remote environment */ repoName?: string; } interface GetEnvironmentGitDetailsArgs { /** * Name of the branch. */ branch?: pulumi.Input; /** * Load environment yaml from fallback branch */ loadFromFallbackBranch?: pulumi.Input; /** * Repo name of remote environment */ repoName?: pulumi.Input; } interface GetGitopsAgentDeployYamlArgocdSettings { /** * Controls the Environment variable HELM*SECRETS*VALUES*ALLOW*PATH_TRAVERSAL to allow or deny dot-dot-slash values file paths. Disabled by default for security reasons. This config is pushed as an env variable to the repo-server. */ enableHelmPathTraversal?: boolean; } interface GetGitopsAgentDeployYamlArgocdSettingsArgs { /** * Controls the Environment variable HELM*SECRETS*VALUES*ALLOW*PATH_TRAVERSAL to allow or deny dot-dot-slash values file paths. Disabled by default for security reasons. This config is pushed as an env variable to the repo-server. */ enableHelmPathTraversal?: pulumi.Input; } interface GetGitopsAgentDeployYamlProxy { /** * HTTP proxy settings for the GitOps agent. */ http?: string; /** * HTTPS proxy settings for the GitOps agent. */ https?: string; /** * Password for the proxy. */ password?: string; /** * Username for the proxy. */ username?: string; } interface GetGitopsAgentDeployYamlProxyArgs { /** * HTTP proxy settings for the GitOps agent. */ http?: pulumi.Input; /** * HTTPS proxy settings for the GitOps agent. */ https?: pulumi.Input; /** * Password for the proxy. */ password?: pulumi.Input; /** * Username for the proxy. */ username?: pulumi.Input; } interface GetGitopsAgentOperatorYamlProxy { /** * HTTP proxy settings for the GitOps agent. */ http?: string; /** * HTTPS proxy settings for the GitOps agent. */ https?: string; /** * Password for the proxy. */ password?: string; /** * Username for the proxy. */ username?: string; } interface GetGitopsAgentOperatorYamlProxyArgs { /** * HTTP proxy settings for the GitOps agent. */ http?: pulumi.Input; /** * HTTPS proxy settings for the GitOps agent. */ https?: pulumi.Input; /** * Password for the proxy. */ password?: pulumi.Input; /** * Username for the proxy. */ username?: pulumi.Input; } interface GetGitopsGnupgRequest { /** * Public key details. */ publickeys?: inputs.platform.GetGitopsGnupgRequestPublickey[]; /** * Indicates if the GnuPG Key should be inserted if not present or updated if present. */ upsert?: boolean; } interface GetGitopsGnupgRequestArgs { /** * Public key details. */ publickeys?: pulumi.Input[] | undefined>; /** * Indicates if the GnuPG Key should be inserted if not present or updated if present. */ upsert?: pulumi.Input; } interface GetGitopsGnupgRequestPublickey { /** * Fingerprint is the fingerprint of the key */ fingerprint?: string; /** * KeyData holds the raw key data, in base64 encoded format. */ keyData?: string; /** * KeyID specifies the key ID, in hexadecimal string format. */ keyId?: string; /** * Owner holds the owner identification, e.g. a name and e-mail address */ owner?: string; /** * SubType holds the key's sub type */ subType?: string; /** * Trust holds the level of trust assigned to this key */ trust?: string; } interface GetGitopsGnupgRequestPublickeyArgs { /** * Fingerprint is the fingerprint of the key */ fingerprint?: pulumi.Input; /** * KeyData holds the raw key data, in base64 encoded format. */ keyData?: pulumi.Input; /** * KeyID specifies the key ID, in hexadecimal string format. */ keyId?: pulumi.Input; /** * Owner holds the owner identification, e.g. a name and e-mail address */ owner?: pulumi.Input; /** * SubType holds the key's sub type */ subType?: pulumi.Input; /** * Trust holds the level of trust assigned to this key */ trust?: pulumi.Input; } interface GetGitopsRepoCredCred { /** * Specifies whether helm-oci support should be enabled for this repo. */ enableOci?: boolean; /** * Specifies the GitHub API URL for GitHub app authentication. */ githubAppEnterpriseBaseUrl?: string; /** * Specifies the Github App ID of the app used to access the repo for GitHub app authentication. */ githubAppId?: string; /** * Specifies the ID of the installed GitHub App for GitHub app authentication. */ githubAppInstallationId?: string; /** * github*app*private_key specifies the private key PEM data for authentication via GitHub app. */ githubAppPrivateKey?: string; /** * Password or PAT to be used for authenticating the remote repository. */ password?: string; /** * SSH Key in PEM format for authenticating the repository. Used only for Git repository. */ sshPrivateKey?: string; /** * Certificate in PEM format for authenticating at the repo server. This is used for mTLS. */ tlsClientCertData?: string; /** * Private key in PEM format for authenticating at the repo server. This is used for mTLS. */ tlsClientCertKey?: string; /** * Type specifies the type of the repoCreds.Can be either 'git' or 'helm. 'git' is assumed if empty or absent */ type?: string; /** * URL of the remote repository. Make sure you pass at least an org, this will not work if you just provide the host, for eg. "https://github.com" */ url?: string; /** * Username to be used for authenticating the remote repository. */ username?: string; } interface GetGitopsRepoCredCredArgs { /** * Specifies whether helm-oci support should be enabled for this repo. */ enableOci?: pulumi.Input; /** * Specifies the GitHub API URL for GitHub app authentication. */ githubAppEnterpriseBaseUrl?: pulumi.Input; /** * Specifies the Github App ID of the app used to access the repo for GitHub app authentication. */ githubAppId?: pulumi.Input; /** * Specifies the ID of the installed GitHub App for GitHub app authentication. */ githubAppInstallationId?: pulumi.Input; /** * github*app*private_key specifies the private key PEM data for authentication via GitHub app. */ githubAppPrivateKey?: pulumi.Input; /** * Password or PAT to be used for authenticating the remote repository. */ password?: pulumi.Input; /** * SSH Key in PEM format for authenticating the repository. Used only for Git repository. */ sshPrivateKey?: pulumi.Input; /** * Certificate in PEM format for authenticating at the repo server. This is used for mTLS. */ tlsClientCertData?: pulumi.Input; /** * Private key in PEM format for authenticating at the repo server. This is used for mTLS. */ tlsClientCertKey?: pulumi.Input; /** * Type specifies the type of the repoCreds.Can be either 'git' or 'helm. 'git' is assumed if empty or absent */ type?: pulumi.Input; /** * URL of the remote repository. Make sure you pass at least an org, this will not work if you just provide the host, for eg. "https://github.com" */ url?: pulumi.Input; /** * Username to be used for authenticating the remote repository. */ username?: pulumi.Input; } interface GetHarRegistryConfig { /** * Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey) */ authType?: string; /** * Authentication configuration for UPSTREAM registry type */ auths?: inputs.platform.GetHarRegistryConfigAuth[]; /** * Dependency firewall mode for UPSTREAM registry type. Valid values: `ALLOW` (default - no policy evaluation), `ENABLED` (firewall active, artifacts scanned against policies), `QUARANTINE` (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types. */ firewallMode?: string; /** * Upstream source */ source?: string; /** * Type of registry (VIRTUAL or UPSTREAM) */ type: string; /** * List of upstream proxies for VIRTUAL registry type */ upstreamProxies?: string[]; /** * URL of the upstream (required if type=UPSTREAM & package_type=HELM) */ url?: string; } interface GetHarRegistryConfigArgs { /** * Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey) */ authType?: pulumi.Input; /** * Authentication configuration for UPSTREAM registry type */ auths?: pulumi.Input[] | undefined>; /** * Dependency firewall mode for UPSTREAM registry type. Valid values: `ALLOW` (default - no policy evaluation), `ENABLED` (firewall active, artifacts scanned against policies), `QUARANTINE` (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types. */ firewallMode?: pulumi.Input; /** * Upstream source */ source?: pulumi.Input; /** * Type of registry (VIRTUAL or UPSTREAM) */ type: pulumi.Input; /** * List of upstream proxies for VIRTUAL registry type */ upstreamProxies?: pulumi.Input[] | undefined>; /** * URL of the upstream (required if type=UPSTREAM & package_type=HELM) */ url?: pulumi.Input; } interface GetHarRegistryConfigAuth { accessKey?: string; accessKeyIdentifier?: string; accessKeySecretPath?: string; /** * Type of authentication (UserPassword, Anonymous) */ authType: string; /** * Secret identifier for UserPassword auth type */ secretIdentifier?: string; secretKeyIdentifier?: string; secretKeySecretPath?: string; /** * Secret space path for UserPassword auth type */ secretSpacePath?: string; /** * User name for UserPassword auth type */ userName?: string; } interface GetHarRegistryConfigAuthArgs { accessKey?: pulumi.Input; accessKeyIdentifier?: pulumi.Input; accessKeySecretPath?: pulumi.Input; /** * Type of authentication (UserPassword, Anonymous) */ authType: pulumi.Input; /** * Secret identifier for UserPassword auth type */ secretIdentifier?: pulumi.Input; secretKeyIdentifier?: pulumi.Input; secretKeySecretPath?: pulumi.Input; /** * Secret space path for UserPassword auth type */ secretSpacePath?: pulumi.Input; /** * User name for UserPassword auth type */ userName?: pulumi.Input; } interface GetInfraModuleTestingMetadata { /** * Account is the internal customer account ID */ account?: string; /** * Pipelines where the testing is enabled */ pipelines?: string[]; /** * Provider connector for testing purposes */ providerConnector?: string; /** * Provisioner type for testing purposes */ provisionerType?: string; /** * Provisioner version for testing purposes */ provisionerVersion?: string; /** * Release pipeline */ releasePipeline?: string; } interface GetInfraModuleTestingMetadataArgs { /** * Account is the internal customer account ID */ account?: pulumi.Input; /** * Pipelines where the testing is enabled */ pipelines?: pulumi.Input[] | undefined>; /** * Provider connector for testing purposes */ providerConnector?: pulumi.Input; /** * Provisioner type for testing purposes */ provisionerType?: pulumi.Input; /** * Provisioner version for testing purposes */ provisionerVersion?: pulumi.Input; /** * Release pipeline */ releasePipeline?: pulumi.Input; } interface GetInfraModuleTestingTestingMetadata { /** * Account is the internal customer account ID */ account?: string; /** * Organization identifier */ org?: string; /** * Pipelines where the testing is enabled */ pipelines?: string[]; /** * Project identifier */ project?: string; /** * Provider connector for testing purposes */ providerConnector?: string; /** * Provisioner type for testing purposes */ provisionerType?: string; /** * Provisioner version for testing purposes */ provisionerVersion?: string; /** * Release pipeline */ releasePipeline?: string; } interface GetInfraModuleTestingTestingMetadataArgs { /** * Account is the internal customer account ID */ account?: pulumi.Input; /** * Organization identifier */ org?: pulumi.Input; /** * Pipelines where the testing is enabled */ pipelines?: pulumi.Input[] | undefined>; /** * Project identifier */ project?: pulumi.Input; /** * Provider connector for testing purposes */ providerConnector?: pulumi.Input; /** * Provisioner type for testing purposes */ provisionerType?: pulumi.Input; /** * Provisioner version for testing purposes */ provisionerVersion?: pulumi.Input; /** * Release pipeline */ releasePipeline?: pulumi.Input; } interface GetInfraVariableSetConnector { /** * Connector Ref is the reference to the connector */ connectorRef: string; /** * Type is the connector type of the connector. Supported types: aws, azure, gcp */ type: string; } interface GetInfraVariableSetConnectorArgs { /** * Connector Ref is the reference to the connector */ connectorRef: pulumi.Input; /** * Type is the connector type of the connector. Supported types: aws, azure, gcp */ type: pulumi.Input; } interface GetInfraVariableSetEnvironmentVariable { /** * Key is the identifier for the variable. Must be unique within the Variable Set. */ key: string; /** * Value is the value of the variable. For string value types this field should contain the value of the variable. For secret value types this should contain a reference to a valid harness secret. */ value: string; /** * Value type indicates the value type of the variable. Currently we support string and secret. */ valueType: string; } interface GetInfraVariableSetEnvironmentVariableArgs { /** * Key is the identifier for the variable. Must be unique within the Variable Set. */ key: pulumi.Input; /** * Value is the value of the variable. For string value types this field should contain the value of the variable. For secret value types this should contain a reference to a valid harness secret. */ value: pulumi.Input; /** * Value type indicates the value type of the variable. Currently we support string and secret. */ valueType: pulumi.Input; } interface GetInfraVariableSetTerraformVariable { /** * Key is the identifier for the variable. Must be unique within the Variable Set. */ key: string; /** * Value is the value of the variable. For string value types this field should contain the value of the variable. For secret value types this should contain a reference to a valid harness secret. */ value: string; /** * Value type indicates the value type of the variable. Currently we support string and secret. */ valueType: string; } interface GetInfraVariableSetTerraformVariableArgs { /** * Key is the identifier for the variable. Must be unique within the Variable Set. */ key: pulumi.Input; /** * Value is the value of the variable. For string value types this field should contain the value of the variable. For secret value types this should contain a reference to a valid harness secret. */ value: pulumi.Input; /** * Value type indicates the value type of the variable. Currently we support string and secret. */ valueType: pulumi.Input; } interface GetInfraVariableSetTerraformVariableFile { /** * Repository is the name of the repository to fetch the code from. */ repository: string; /** * Repository branch is the name of the branch to fetch the variables from. This cannot be set if repository commit or sha is set */ repositoryBranch?: string; /** * Repository commit is tag to fetch the variables from. This cannot be set if repository branch or sha is set. */ repositoryCommit?: string; /** * Repository connector is the reference to the connector used to fetch the variables. */ repositoryConnector: string; /** * Repository path is the path in which the variables reside. */ repositoryPath?: string; /** * Repository commit is SHA to fetch the variables from. This cannot be set if repository branch or commit is set. */ repositorySha?: string; } interface GetInfraVariableSetTerraformVariableFileArgs { /** * Repository is the name of the repository to fetch the code from. */ repository: pulumi.Input; /** * Repository branch is the name of the branch to fetch the variables from. This cannot be set if repository commit or sha is set */ repositoryBranch?: pulumi.Input; /** * Repository commit is tag to fetch the variables from. This cannot be set if repository branch or sha is set. */ repositoryCommit?: pulumi.Input; /** * Repository connector is the reference to the connector used to fetch the variables. */ repositoryConnector: pulumi.Input; /** * Repository path is the path in which the variables reside. */ repositoryPath?: pulumi.Input; /** * Repository commit is SHA to fetch the variables from. This cannot be set if repository branch or commit is set. */ repositorySha?: pulumi.Input; } interface GetInfrastructureGitDetails { /** * Name of the branch. */ branch?: string; /** * If the Entity is to be fetched from cache */ loadFromCache?: string; /** * Load Infrastructure yaml from fallback branch */ loadFromFallbackBranch?: boolean; /** * Repo name of remote Infrastructure */ repoName?: string; } interface GetInfrastructureGitDetailsArgs { /** * Name of the branch. */ branch?: pulumi.Input; /** * If the Entity is to be fetched from cache */ loadFromCache?: pulumi.Input; /** * Load Infrastructure yaml from fallback branch */ loadFromFallbackBranch?: pulumi.Input; /** * Repo name of remote Infrastructure */ repoName?: pulumi.Input; } interface GetInputSetGitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: string; /** * Name of the branch. */ branchName?: string; /** * Commit message used for the merge commit. */ commitMessage?: string; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. */ connectorRef?: string; /** * File path of the Entity in the repository. */ filePath?: string; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: string; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: string; /** * Connector reference for Parent Entity (Pipeline). */ parentEntityConnectorRef?: string; /** * Repository name for Parent Entity (Pipeline). */ parentEntityRepoName?: string; /** * Name of the repository. */ repoName?: string; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: string; } interface GetInputSetGitDetailsArgs { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branchName?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: pulumi.Input; /** * Connector reference for Parent Entity (Pipeline). */ parentEntityConnectorRef?: pulumi.Input; /** * Repository name for Parent Entity (Pipeline). */ parentEntityRepoName?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: pulumi.Input; } interface GetOverridesGitDetails { /** * Name of the branch. */ branch?: string; /** * Load service yaml from fallback branch */ loadFromCache?: boolean; /** * Load service yaml from fallback branch */ loadFromFallbackBranch?: boolean; /** * Repo name of remote service override */ repoName?: string; } interface GetOverridesGitDetailsArgs { /** * Name of the branch. */ branch?: pulumi.Input; /** * Load service yaml from fallback branch */ loadFromCache?: pulumi.Input; /** * Load service yaml from fallback branch */ loadFromFallbackBranch?: pulumi.Input; /** * Repo name of remote service override */ repoName?: pulumi.Input; } interface GetPipelineCentralNotificationRuleCustomNotificationTemplateRef { templateRef: string; variables?: inputs.platform.GetPipelineCentralNotificationRuleCustomNotificationTemplateRefVariable[]; versionLabel: string; } interface GetPipelineCentralNotificationRuleCustomNotificationTemplateRefArgs { templateRef: pulumi.Input; variables?: pulumi.Input[] | undefined>; versionLabel: pulumi.Input; } interface GetPipelineCentralNotificationRuleCustomNotificationTemplateRefVariable { name: string; type?: string; value: string; } interface GetPipelineCentralNotificationRuleCustomNotificationTemplateRefVariableArgs { name: pulumi.Input; type?: pulumi.Input; value: pulumi.Input; } interface GetPipelineCentralNotificationRuleNotificationCondition { conditionName: string; notificationEventConfigs: inputs.platform.GetPipelineCentralNotificationRuleNotificationConditionNotificationEventConfig[]; } interface GetPipelineCentralNotificationRuleNotificationConditionArgs { conditionName: pulumi.Input; notificationEventConfigs: pulumi.Input[]>; } interface GetPipelineCentralNotificationRuleNotificationConditionNotificationEventConfig { entityIdentifiers?: string[]; notificationEntity: string; /** * The pipeline event that triggers the notification. Supported values: `PIPELINE_START`, `PIPELINE_SUCCESS`, `PIPELINE_FAILED`, `STAGE_START`, `STAGE_SUCCESS`, `STAGE_FAILED`. */ notificationEvent: string; notificationEventDatas?: inputs.platform.GetPipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData[]; } interface GetPipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArgs { entityIdentifiers?: pulumi.Input[] | undefined>; notificationEntity: pulumi.Input; /** * The pipeline event that triggers the notification. Supported values: `PIPELINE_START`, `PIPELINE_SUCCESS`, `PIPELINE_FAILED`, `STAGE_START`, `STAGE_SUCCESS`, `STAGE_FAILED`. */ notificationEvent: pulumi.Input; notificationEventDatas?: pulumi.Input[] | undefined>; } interface GetPipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData { scopeIdentifiers?: string[]; type?: string; } interface GetPipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArgs { scopeIdentifiers?: pulumi.Input[] | undefined>; type?: pulumi.Input; } interface GetPipelineGitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: string; /** * Name of the branch. */ branchName?: string; /** * Commit message used for the merge commit. */ commitMessage?: string; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. */ connectorRef?: string; /** * File path of the Entity in the repository. */ filePath?: string; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: string; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: string; /** * Name of the repository. */ repoName?: string; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: string; } interface GetPipelineGitDetailsArgs { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branchName?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: pulumi.Input; } interface GetPolicySetPolicy { /** * Unique identifier of the policy */ identifier: string; /** * Policy failure response - 'warning' for continuation, 'error' for exit */ severity: string; } interface GetPolicySetPolicyArgs { /** * Unique identifier of the policy */ identifier: pulumi.Input; /** * Policy failure response - 'warning' for continuation, 'error' for exit */ severity: pulumi.Input; } interface GetPolicySetPolicyReference { /** * Unique identifier of the policy */ identifier: string; /** * Policy failure response - 'warning' for continuation, 'error' for exit */ severity: string; } interface GetPolicySetPolicyReferenceArgs { /** * Unique identifier of the policy */ identifier: pulumi.Input; /** * Policy failure response - 'warning' for continuation, 'error' for exit */ severity: pulumi.Input; } interface GetRepoRuleBranchBypass { /** * Allow users with repository edit permission to bypass. */ repoOwners?: boolean; /** * List of user ids with who can bypass. */ userIds?: string[]; } interface GetRepoRuleBranchBypassArgs { /** * Allow users with repository edit permission to bypass. */ repoOwners?: pulumi.Input; /** * List of user ids with who can bypass. */ userIds?: pulumi.Input[] | undefined>; } interface GetRepoRuleBranchPattern { /** * Should rule apply to default branch of the repository. */ defaultBranch?: boolean; /** * Globstar branch patterns on which rules will NOT be applied. */ excludes?: string[]; /** * Globstar branch patterns on which rules will be applied. */ includes?: string[]; } interface GetRepoRuleBranchPatternArgs { /** * Should rule apply to default branch of the repository. */ defaultBranch?: pulumi.Input; /** * Globstar branch patterns on which rules will NOT be applied. */ excludes?: pulumi.Input[] | undefined>; /** * Globstar branch patterns on which rules will be applied. */ includes?: pulumi.Input[] | undefined>; } interface GetRepoRuleBranchPolicy { /** * Limit which merge strategies are available to merge a pull request(Any of squash, rebase, merge). */ allowMergeStrategies?: string[]; /** * Only allow users with bypass permission to create matching branches. */ blockBranchCreation?: boolean; /** * Only allow users with bypass permission to delete matching branches. */ blockBranchDeletion?: boolean; /** * Automatically delete the source branch of a pull request after it is merged. */ deleteBranchOnMerge?: boolean; /** * Require approval on pull requests from one reviewer for each codeowner rule. */ requireCodeOwners?: boolean; /** * Require re-approval when there are new changes in the pull request. */ requireLatestCommitApproval?: boolean; /** * Require approval on pull requests from a minimum number of reviewers. */ requireMinimumApprovalCount?: number; /** * Require all request for changes have been resolved. */ requireNoChangeRequest?: boolean; /** * Do not allow any changes to matching branches without a pull request. */ requirePullRequest?: boolean; /** * All comments on a pull request must be resolved before it can be merged. */ requireResolveAllComments?: boolean; /** * Selected status checks must pass before a pull request can be merged. */ requireStatusChecks?: string[]; } interface GetRepoRuleBranchPolicyArgs { /** * Limit which merge strategies are available to merge a pull request(Any of squash, rebase, merge). */ allowMergeStrategies?: pulumi.Input[] | undefined>; /** * Only allow users with bypass permission to create matching branches. */ blockBranchCreation?: pulumi.Input; /** * Only allow users with bypass permission to delete matching branches. */ blockBranchDeletion?: pulumi.Input; /** * Automatically delete the source branch of a pull request after it is merged. */ deleteBranchOnMerge?: pulumi.Input; /** * Require approval on pull requests from one reviewer for each codeowner rule. */ requireCodeOwners?: pulumi.Input; /** * Require re-approval when there are new changes in the pull request. */ requireLatestCommitApproval?: pulumi.Input; /** * Require approval on pull requests from a minimum number of reviewers. */ requireMinimumApprovalCount?: pulumi.Input; /** * Require all request for changes have been resolved. */ requireNoChangeRequest?: pulumi.Input; /** * Do not allow any changes to matching branches without a pull request. */ requirePullRequest?: pulumi.Input; /** * All comments on a pull request must be resolved before it can be merged. */ requireResolveAllComments?: pulumi.Input; /** * Selected status checks must pass before a pull request can be merged. */ requireStatusChecks?: pulumi.Input[] | undefined>; } interface GetRepoSource { /** * The host URL for the import source. */ host?: string; /** * The password for authentication when importing. */ password?: string; /** * The full identifier of the repository on the SCM provider's platform. */ repo?: string; /** * The type of SCM provider (github, gitlab, bitbucket, stash, gitea, gogs) when importing. */ type?: string; /** * The username for authentication when importing. */ username?: string; } interface GetRepoSourceArgs { /** * The host URL for the import source. */ host?: pulumi.Input; /** * The password for authentication when importing. */ password?: pulumi.Input; /** * The full identifier of the repository on the SCM provider's platform. */ repo?: pulumi.Input; /** * The type of SCM provider (github, gitlab, bitbucket, stash, gitea, gogs) when importing. */ type?: pulumi.Input; /** * The username for authentication when importing. */ username?: pulumi.Input; } interface GetSecretFileAdditionalMetadata { values?: inputs.platform.GetSecretFileAdditionalMetadataValue[]; } interface GetSecretFileAdditionalMetadataArgs { values?: pulumi.Input[] | undefined>; } interface GetSecretFileAdditionalMetadataValue { /** * GCP Project ID (for GCP Secret Manager) */ gcpProjectId?: string; /** * KMS Key ID (for AWS Secret Manager) */ kmsKeyId?: string; /** * GCP region for the secret (for GCP Secret Manager) */ regions?: string; /** * Version of the secret (for AWS/Azure Secret Manager) */ version?: string; } interface GetSecretFileAdditionalMetadataValueArgs { /** * GCP Project ID (for GCP Secret Manager) */ gcpProjectId?: pulumi.Input; /** * KMS Key ID (for AWS Secret Manager) */ kmsKeyId?: pulumi.Input; /** * GCP region for the secret (for GCP Secret Manager) */ regions?: pulumi.Input; /** * Version of the secret (for AWS/Azure Secret Manager) */ version?: pulumi.Input; } interface GetSecretTextAdditionalMetadata { values?: inputs.platform.GetSecretTextAdditionalMetadataValue[]; } interface GetSecretTextAdditionalMetadataArgs { values?: pulumi.Input[] | undefined>; } interface GetSecretTextAdditionalMetadataValue { /** * GCP Project ID (for GCP Secret Manager) */ gcpProjectId?: string; /** * KMS Key ID (for AWS Secret Manager) */ kmsKeyId?: string; /** * GCP region for the secret (for GCP Secret Manager) */ regions?: string; /** * Version of the secret (for AWS/Azure Secret Manager) */ version?: string; } interface GetSecretTextAdditionalMetadataValueArgs { /** * GCP Project ID (for GCP Secret Manager) */ gcpProjectId?: pulumi.Input; /** * KMS Key ID (for AWS Secret Manager) */ kmsKeyId?: pulumi.Input; /** * GCP region for the secret (for GCP Secret Manager) */ regions?: pulumi.Input; /** * Version of the secret (for AWS/Azure Secret Manager) */ version?: pulumi.Input; } interface GetServiceGitDetails { /** * Name of the branch. */ branch?: string; /** * Load service yaml from fallback branch */ loadFromFallbackBranch?: boolean; /** * Repo name of remote service */ repoName?: string; } interface GetServiceGitDetailsArgs { /** * Name of the branch. */ branch?: pulumi.Input; /** * Load service yaml from fallback branch */ loadFromFallbackBranch?: pulumi.Input; /** * Repo name of remote service */ repoName?: pulumi.Input; } interface GetServiceOverridesV2GitDetails { /** * Name of the branch. */ branch?: string; /** * Load service yaml from fallback branch */ loadFromCache?: boolean; /** * Load service yaml from fallback branch */ loadFromFallbackBranch?: boolean; /** * Repo name of remote service override */ repoName?: string; } interface GetServiceOverridesV2GitDetailsArgs { /** * Name of the branch. */ branch?: pulumi.Input; /** * Load service yaml from fallback branch */ loadFromCache?: pulumi.Input; /** * Load service yaml from fallback branch */ loadFromFallbackBranch?: pulumi.Input; /** * Repo name of remote service override */ repoName?: pulumi.Input; } interface GetTemplateGitDetails { /** * Name of the branch. */ branchName?: string; /** * File path of the Entity in the repository. */ filePath?: string; /** * File url of the Entity in the repository. */ fileUrl?: string; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: string; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: string; /** * Name of the repository. */ repoName?: string; /** * Repo url of the Entity in the repository. */ repoUrl?: string; } interface GetTemplateGitDetailsArgs { /** * Name of the branch. */ branchName?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * File url of the Entity in the repository. */ fileUrl?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Repo url of the Entity in the repository. */ repoUrl?: pulumi.Input; } interface GetUsergroupNotificationConfig { /** * Group email. */ groupEmail?: string; /** * Url of Microsoft teams webhook. */ microsoftTeamsWebhookUrl?: string; /** * Pager duty key. */ pagerDutyKey?: string; /** * Send email to all the group members. */ sendEmailToAllUsers?: boolean; /** * Url of slack webhook. */ slackWebhookUrl?: string; /** * Can be one of EMAIL, SLACK, PAGERDUTY, MSTEAMS. */ type?: string; } interface GetUsergroupNotificationConfigArgs { /** * Group email. */ groupEmail?: pulumi.Input; /** * Url of Microsoft teams webhook. */ microsoftTeamsWebhookUrl?: pulumi.Input; /** * Pager duty key. */ pagerDutyKey?: pulumi.Input; /** * Send email to all the group members. */ sendEmailToAllUsers?: pulumi.Input; /** * Url of slack webhook. */ slackWebhookUrl?: pulumi.Input; /** * Can be one of EMAIL, SLACK, PAGERDUTY, MSTEAMS. */ type?: pulumi.Input; } interface GetWorkspaceConnector { /** * Connector Ref is the reference to the connector */ connectorRef: string; /** * Type is the connector type of the connector. Supported types: aws, azure, gcp */ type: string; } interface GetWorkspaceConnectorArgs { /** * Connector Ref is the reference to the connector */ connectorRef: pulumi.Input; /** * Type is the connector type of the connector. Supported types: aws, azure, gcp */ type: pulumi.Input; } interface GetWorkspaceEnvironmentVariable { /** * Key is the identifier for the variable` */ key?: string; /** * value is the value of the variable */ value?: string; /** * Value type indicates the value type of the variable, text or secret */ valueType?: string; } interface GetWorkspaceEnvironmentVariableArgs { /** * Key is the identifier for the variable` */ key?: pulumi.Input; /** * value is the value of the variable */ value?: pulumi.Input; /** * Value type indicates the value type of the variable, text or secret */ valueType?: pulumi.Input; } interface GetWorkspaceTerraformVariable { /** * Key is the identifier for the variable` */ key?: string; /** * value is the value of the variable */ value?: string; /** * Value type indicates the value type of the variable, text or secret */ valueType?: string; } interface GetWorkspaceTerraformVariableArgs { /** * Key is the identifier for the variable` */ key?: pulumi.Input; /** * value is the value of the variable */ value?: pulumi.Input; /** * Value type indicates the value type of the variable, text or secret */ valueType?: pulumi.Input; } interface GetWorkspaceTerraformVariableFile { /** * Repository is the name of the repository to fetch the code from. */ repository?: string; /** * Repository branch is the name of the branch to fetch the variables from. This cannot be set if repository commit or sha is set */ repositoryBranch?: string; /** * Repository commit is tag to fetch the variables from. This cannot be set if repository branch or sha is set. */ repositoryCommit?: string; /** * Repository connector is the reference to the connector used to fetch the variables. */ repositoryConnector?: string; /** * Repository path is the path in which the variables reside. */ repositoryPath?: string; /** * Repository commit is SHA to fetch the variables from. This cannot be set if repository branch or commit is set. */ repositorySha?: string; } interface GetWorkspaceTerraformVariableFileArgs { /** * Repository is the name of the repository to fetch the code from. */ repository?: pulumi.Input; /** * Repository branch is the name of the branch to fetch the variables from. This cannot be set if repository commit or sha is set */ repositoryBranch?: pulumi.Input; /** * Repository commit is tag to fetch the variables from. This cannot be set if repository branch or sha is set. */ repositoryCommit?: pulumi.Input; /** * Repository connector is the reference to the connector used to fetch the variables. */ repositoryConnector?: pulumi.Input; /** * Repository path is the path in which the variables reside. */ repositoryPath?: pulumi.Input; /** * Repository commit is SHA to fetch the variables from. This cannot be set if repository branch or commit is set. */ repositorySha?: pulumi.Input; } interface GitConnectorCredentials { /** * Authenticate using Username and password over http(s) for the connection. */ http?: pulumi.Input; /** * Authenticate using SSH for the connection. */ ssh?: pulumi.Input; } interface GitConnectorCredentialsHttp { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface GitConnectorCredentialsSsh { /** * Reference to the Harness secret containing the ssh key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ sshKeyRef: pulumi.Input; } interface GitOpsAgentMetadata { /** * Indicates if the agent is deployed in HA mode. */ highAvailability?: pulumi.Input; /** * Indicates if the agent is namespaced. */ isNamespaced?: pulumi.Input; /** * The kubernetes namespace where the agent should be installed. */ namespace?: pulumi.Input; } interface GitOpsApplicationsApplication { /** * Metadata corresponding to the resources. This includes all the objects a user must create. */ metadatas: pulumi.Input[]>; /** * Specifications of the GitOps application. This includes the repository URL, application definition, source, destination and sync policy. */ specs?: pulumi.Input[] | undefined>; } interface GitOpsApplicationsApplicationMetadata { /** * Annotations are unstructured key value pairs corresponding to a resource. External tools set these to store and retrieve arbitrary metadata. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the cluster corresponding to the object. API server ignores this if set in any create or update request. */ clusterName?: pulumi.Input; /** * Before the object is removed from the register, it must be empty. Each element serves as a unique identifier for the component that is accountable for removing that entry from the list. Entries in this list can only be removed if the object's deletionTimestamp is not null. The processing and removal of finalizers can happen in any sequence. No order is enforced as it may block the finalizers. Finalizers is a shared field that can be reordered by any actor with authority. If the finalizer list is processed in order, this could result in a scenario where the component in charge of the list's first finalizer is waiting for a signal (generated by a field value, an external system, or another) produced by a component in charge of the list's later finalizer. */ finalizers?: pulumi.Input[] | undefined>; /** * An optional prefix that the server will only apply if the Name field is empty to create a unique name. The name returned to the client will differ from the name passed if this field is used. A unique suffix will be added to this value as well. The supplied value must adhere to the same validation guidelines as the Name field and may be reduced by the suffix length necessary to ensure that it is unique on the server. The server will NOT return a 409 if this field is supplied and the created name already exists; instead, it will either return 201 Created or 500 with Reason ServerTimeout, indicating that a unique name could not be found in the allotted time and the client should try again later. */ generateName?: pulumi.Input; /** * A sequence number representing a specific generation of the desired state. This is a read-only value populated by the system. */ generation?: pulumi.Input; /** * Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name must be unique within a namespace. It is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Name cannot be updated. */ name?: pulumi.Input; /** * Namespace of the GitOps application. An empty namespace is equivalent to the namespace of the GitOps agent. */ namespace?: pulumi.Input; /** * List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller. */ ownerReferences?: pulumi.Input[] | undefined>; /** * UID is the unique identifier in time and space value for this object. It is generated by the server on successful creation of a resource and is not allowed to change on PUT operations. */ uid?: pulumi.Input; } interface GitOpsApplicationsApplicationMetadataOwnerReference { /** * API version of the referent. */ apiVersion?: pulumi.Input; /** * If true, AND if the owner has the "foregroundDeletion" finalizer, then the owner cannot be deleted from the key-value store until this reference is removed. Defaults to false. To set this field, a user needs "delete" permission of the owner, otherwise 422 (Unprocessable Entity) will be returned. */ blockOwnerDeletion?: pulumi.Input; /** * Indicates if the reference points to the managing controller. */ controller?: pulumi.Input; /** * Kind of the referent. */ kind?: pulumi.Input; /** * Name of the referent. */ name?: pulumi.Input; /** * UID of the referent. */ uid?: pulumi.Input; } interface GitOpsApplicationsApplicationSpec { /** * Information about the GitOps application's destination. */ destinations?: pulumi.Input[] | undefined>; /** * The ArgoCD project name corresponding to this GitOps application. Value must match mappings of ArgoCD projects to harness project. */ project?: pulumi.Input; /** * Revision history limit for the application. */ revisionHistoryLimit?: pulumi.Input; /** * Contains all information about the source of the GitOps application. */ source?: pulumi.Input[] | undefined>; /** * List of sources for the GitOps application. Multi Source support */ sources?: pulumi.Input[] | undefined>; /** * Controls when a sync will be performed in response to updates in git. */ syncPolicies?: pulumi.Input[] | undefined>; } interface GitOpsApplicationsApplicationSpecDestination { /** * URL of the target cluster and must be set to the kubernetes control plane API. */ name?: pulumi.Input; /** * Target namespace of the GitOps application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster server for the GitOps application. */ server?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSource { /** * Helm chart name, and must be specified for the GitOps applications sourced from a helm repo. */ chart?: pulumi.Input; /** * Options for applications of type plain YAML or Jsonnet. */ directories?: pulumi.Input[] | undefined>; /** * Helm specific options. */ helms?: pulumi.Input[] | undefined>; /** * Ksonnet specific options. */ ksonnets?: pulumi.Input[] | undefined>; /** * Options specific to a GitOps application source specific to Kustomize. */ kustomizes?: pulumi.Input[] | undefined>; /** * Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications. */ name?: pulumi.Input; /** * Directory path within the git repository, and is only valid for the GitOps applications sourced from git. */ path?: pulumi.Input; /** * Options specific to config management plugins. */ plugins?: pulumi.Input[] | undefined>; /** * Reference name to be used in other source spec, used for multi-source applications. */ ref?: pulumi.Input; /** * URL to the repository (git or helm) that contains the GitOps application manifests. */ repoUrl: pulumi.Input; /** * Revision of the source to sync the GitOps application to. In case of git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag of the chart's version. */ targetRevision: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. */ include?: pulumi.Input; /** * Options specific to applications of type Jsonnet. */ jsonnets?: pulumi.Input[] | undefined>; /** * Indicates to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSourceDirectoryJsonnet { /** * List of jsonnet external variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of jsonnet top-level arguments(TLAS). */ tlas?: pulumi.Input[] | undefined>; } interface GitOpsApplicationsApplicationSpecSourceDirectoryJsonnetExtVar { /** * Code of the external variables of jsonnet application. */ code?: pulumi.Input; /** * Name of the external variables of jsonnet application. */ name?: pulumi.Input; /** * Value of the external variables of jsonnet application. */ value?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSourceDirectoryJsonnetTla { /** * Code of the TLAS of the jsonnet application. */ code?: pulumi.Input; /** * Name of the TLAS of the jsonnet application. */ name?: pulumi.Input; /** * Value of the TLAS of the jsonnet application. */ value?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSourceKsonnet { /** * Ksonnet application environment name. */ environment?: pulumi.Input; /** * List of ksonnet component parameter override values. */ parameters?: pulumi.Input[] | undefined>; } interface GitOpsApplicationsApplicationSpecSourceKsonnetParameter { /** * Component of the parameter of the ksonnet application. */ component?: pulumi.Input; /** * Name of the parameter of the ksonnet application. */ name?: pulumi.Input; /** * Value of the parameter of the ksonnet application. */ value?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix prepended to resources for kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSourcePlugin { /** * Entry in the GitOps application's environment. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. */ name?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSourcePluginEnv { /** * Name of the variable, usually expressed in uppercase. */ name?: pulumi.Input; /** * Value of the variable. */ value?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSyncPolicy { /** * Controls the behavior of an automated sync. */ automateds?: pulumi.Input[] | undefined>; /** * Contains information about the strategy to apply when a sync failed. */ retries?: pulumi.Input[] | undefined>; /** * Options allow you to specify whole app sync-options. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitOpsApplicationsApplicationSpecSyncPolicyAutomated { /** * Indicates to allows apps to have zero live resources (default: false). */ allowEmpty?: pulumi.Input; /** * Indicates whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync (default: false). */ prune?: pulumi.Input; /** * Indicates whether to revert resources back to their desired state upon modification in the cluster (default: false). */ selfHeal?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSyncPolicyRetry { /** * Backoff strategy to use on subsequent retries for failing syncs. */ backoffs?: pulumi.Input[] | undefined>; /** * Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitOpsApplicationsApplicationSpecSyncPolicyRetryBackoff { /** * Amount to back off. Default unit is seconds, but could also be a duration (e.g. "2m", "1h"). */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed of the backoff strategy. */ maxDuration?: pulumi.Input; } interface GitOpsClusterRequest { /** * GitOps cluster details. */ clusters?: pulumi.Input[] | undefined>; /** * Tags for the GitOps cluster. These can be used to search or filter the GitOps agents. */ tags?: pulumi.Input[] | undefined>; /** * Fields which are updated. */ updatedFields?: pulumi.Input[] | undefined>; /** * Indicates if the GitOps cluster should be updated if existing and inserted if not. */ upsert?: pulumi.Input; } interface GitOpsClusterRequestCluster { /** * Annotations for cluster secret metadata. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode. */ clusterResources?: pulumi.Input; /** * GitOps cluster config. */ configs: pulumi.Input[]>; /** * Information about cluster cache and state. */ infos?: pulumi.Input[] | undefined>; /** * Labels for cluster secret metadata. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the cluster. If omitted, the server address will be used. */ name?: pulumi.Input; /** * List of namespaces which are accessible in that cluster. Cluster level resources will be ignored if namespace list is not empty. */ namespaces?: pulumi.Input[] | undefined>; /** * The ArgoCD project name corresponding to this GitOps cluster. An empty string means that the GitOps cluster belongs to the default project created by Harness. */ project?: pulumi.Input; /** * Time when cluster cache refresh has been requested. */ refreshRequestedAts?: pulumi.Input[] | undefined>; /** * API server URL of the kubernetes cluster. */ server: pulumi.Input; /** * Shard number to be managed by a specific application controller pod. Calculated on the fly by the application controller if not specified. */ shard?: pulumi.Input; } interface GitOpsClusterRequestClusterConfig { /** * AWS Cluster name. If set then AWS CLI EKS token command will be used to access cluster. */ awsClusterName?: pulumi.Input; /** * Bearer authentication token the cluster. Use bearerTokenWo for write-only support (Terraform >= 1.11). */ bearerToken?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Bearer authentication token for the cluster. Write-only: never stored in state. Requires Terraform >= 1.11. */ bearerTokenWo?: pulumi.Input; /** * Increment to rotate the credential when using bearer_token_wo. */ bearerTokenWoVersion?: pulumi.Input; /** * Identifies the authentication method used to connect to the cluster. */ clusterConnectionType?: pulumi.Input; /** * DisableCompression bypasses automatic GZip compression requests to to the cluster's API server. Corresponds to running kubectl with --disable-compression */ disableCompression?: pulumi.Input; /** * Configuration for an exec provider. */ execProviderConfigs?: pulumi.Input[] | undefined>; /** * Password of the server of the cluster. Use passwordWo for write-only support (Terraform >= 1.11). */ password?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Password of the server of the cluster. Write-only: never stored in state. Requires Terraform >= 1.11. */ passwordWo?: pulumi.Input; /** * Increment to rotate the credential when using password_wo. */ passwordWoVersion?: pulumi.Input; /** * The URL to the proxy to be used for all requests send to the cluster's API server */ proxyUrl?: pulumi.Input; /** * Optional role ARN. If set then used for AWS IAM Authenticator. */ roleARN?: pulumi.Input; /** * Settings to enable transport layer security. */ tlsClientConfigs?: pulumi.Input[] | undefined>; /** * Username of the server of the cluster. */ username?: pulumi.Input; } interface GitOpsClusterRequestClusterConfigExecProviderConfig { /** * Preferred input version of the ExecInfo. */ apiVersion?: pulumi.Input; /** * Arguments to pass to the command when executing it. */ args?: pulumi.Input[] | undefined>; /** * Command to execute. */ command?: pulumi.Input; /** * Additional environment variables to expose to the process. */ env?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Message displayed when the executable is not found. */ installHint?: pulumi.Input; } interface GitOpsClusterRequestClusterConfigTlsClientConfig { /** * CA data holds PEM-encoded bytes (typically read from a root certificates bundle). Use this if you are using self-signed certificates. CAData takes precedence over CAFile. The value should be base64 encoded. Use caDataWo for write-only support (Terraform >= 1.11). */ caData?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * CA data holds PEM-encoded bytes. Write-only: never stored in state. Requires Terraform >= 1.11. */ caDataWo?: pulumi.Input; /** * Increment to rotate the credential when using ca_data_wo. */ caDataWoVersion?: pulumi.Input; /** * Certificate data holds PEM-encoded bytes (typically read from a client certificate file). CertData takes precedence over CertFile. Use this if you are using mTLS. The value should be base64 encoded. Use certDataWo for write-only support (Terraform >= 1.11). */ certData?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Certificate data for mTLS authentication. Write-only: never stored in state. Requires Terraform >= 1.11. */ certDataWo?: pulumi.Input; /** * Increment to rotate the credential when using cert_data_wo. */ certDataWoVersion?: pulumi.Input; /** * Indicates if the TLS connection to the cluster should be insecure. */ insecure?: pulumi.Input; /** * Key data holds PEM-encoded bytes (typically read from a client certificate key file). KeyData takes precedence over KeyFile. Use this if you are using mTLS. The value should be base64 encoded. Use keyDataWo for write-only support (Terraform >= 1.11). */ keyData?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Key data for mTLS authentication. Write-only: never stored in state. Requires Terraform >= 1.11. */ keyDataWo?: pulumi.Input; /** * Increment to rotate the credential when using key_data_wo. */ keyDataWoVersion?: pulumi.Input; /** * Server name for SNI in the client to check server certificates against. If ServerName is empty, the hostname used to contact the server is used. */ serverName?: pulumi.Input; } interface GitOpsClusterRequestClusterInfo { /** * List of API versions supported by the cluster. */ apiVersions?: pulumi.Input[] | undefined>; /** * Number of applications managed by Argo CD on the cluster. */ applicationsCount?: pulumi.Input; /** * Information about the cluster cache. */ cacheInfos?: pulumi.Input[] | undefined>; /** * Information about the connection to the cluster. */ connectionStates?: pulumi.Input[] | undefined>; /** * Kubernetes version of the cluster. */ serverVersion?: pulumi.Input; } interface GitOpsClusterRequestClusterInfoCacheInfo { /** * Number of observed kubernetes API count. */ apisCount?: pulumi.Input; /** * Time of most recent cache synchronization. */ lastCacheSyncTime?: pulumi.Input; /** * Number of observed kubernetes resources. */ resourcesCount?: pulumi.Input; } interface GitOpsClusterRequestClusterInfoConnectionState { /** * Time when cluster cache refresh has been requested. */ attemptedAts?: pulumi.Input[] | undefined>; /** * Information about the connection status. */ message?: pulumi.Input; /** * Current status indicator of the connection. */ status?: pulumi.Input; } interface GitOpsClusterRequestClusterInfoConnectionStateAttemptedAt { /** * Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. This field may be limited in precision depending on context. */ nanos?: pulumi.Input; /** * Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. */ seconds?: pulumi.Input; } interface GitOpsClusterRequestClusterRefreshRequestedAt { /** * Non-negative fractions of a second at nanosecond resolution. Negative second values with fractions must still have non-negative nanos values that count forward in time. Must be from 0 to 999,999,999 inclusive. This field may be limited in precision depending on context. */ nanos?: pulumi.Input; /** * Represents seconds of UTC time since Unix epoch 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59Z inclusive. */ seconds?: pulumi.Input; } interface GitOpsGnupgRequest { /** * Public key details. */ publickeys?: pulumi.Input[] | undefined>; /** * Indicates if the GnuPG Key should be inserted if not present or updated if present. */ upsert: pulumi.Input; } interface GitOpsGnupgRequestPublickey { /** * Fingerprint is the fingerprint of the key */ fingerprint?: pulumi.Input; /** * KeyData holds the raw key data, in base64 encoded format. */ keyData: pulumi.Input; /** * KeyID specifies the key ID, in hexadecimal string format. */ keyId?: pulumi.Input; /** * Owner holds the owner identification, e.g. a name and e-mail address */ owner?: pulumi.Input; /** * SubType holds the key's sub type */ subType?: pulumi.Input; /** * Trust holds the level of trust assigned to this key */ trust?: pulumi.Input; } interface GitOpsRepoCertRequest { /** * certificates details. */ certificates?: pulumi.Input[] | undefined>; /** * Indicates if the GitOps repository certificate should be updated if existing and inserted if not. */ upsert?: pulumi.Input; } interface GitOpsRepoCertRequestCertificate { /** * List of certificates to be processed. */ items?: pulumi.Input[] | undefined>; /** * metadata details */ metadatas?: pulumi.Input[] | undefined>; } interface GitOpsRepoCertRequestCertificateItem { /** * CertData contains the actual certificate data, dependent on the certificate type. The value should be base64 encoded */ certData?: pulumi.Input; /** * CertInfo will hold additional certificate info, dependent on the certificate type . */ certInfo?: pulumi.Input; /** * CertSubType specifies the sub type of the cert, i.e. ssh-rsa. */ certSubType?: pulumi.Input; /** * CertType specifies the type of the certificate - currently one of https or ssh. */ certType?: pulumi.Input; /** * ServerName specifies the DNS name of the server this certificate is intended. */ serverName?: pulumi.Input; } interface GitOpsRepoCertRequestCertificateMetadata { /** * continue may be set if the user set a limit on the number of items returned. */ continue?: pulumi.Input; /** * subsequent items in the list. */ remainingItemCount?: pulumi.Input; /** * Identifies the server's internal version. */ resourceVersion?: pulumi.Input; /** * selfLink is a URL representing this object. */ selfLink?: pulumi.Input; } interface GitOpsRepoCredCred { /** * Specifies whether helm-oci support should be enabled for this repo. */ enableOci?: pulumi.Input; /** * Specifies the GitHub API URL for GitHub app authentication. */ githubAppEnterpriseBaseUrl?: pulumi.Input; /** * Specifies the Github App ID of the app used to access the repo for GitHub app authentication. */ githubAppId?: pulumi.Input; /** * Specifies the ID of the installed GitHub App for GitHub app authentication. */ githubAppInstallationId?: pulumi.Input; /** * github_app_private_key specifies the private key PEM data for authentication via GitHub app. Use githubAppPrivateKeyWo for write-only support (Terraform >= 1.11). */ githubAppPrivateKey?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * GitHub app private key PEM data. Write-only: never stored in state. Requires Terraform >= 1.11. */ githubAppPrivateKeyWo?: pulumi.Input; /** * Increment to rotate the credential when using github_app_private_key_wo. */ githubAppPrivateKeyWoVersion?: pulumi.Input; /** * Password or PAT to be used for authenticating the remote repository. Use passwordWo for write-only support (Terraform >= 1.11). */ password?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Password or PAT for authenticating the remote repository. Write-only: never stored in state. Requires Terraform >= 1.11. */ passwordWo?: pulumi.Input; /** * Increment to rotate the credential when using password_wo. */ passwordWoVersion?: pulumi.Input; /** * SSH Key in PEM format for authenticating the repository. Used only for Git repository. Use sshPrivateKeyWo for write-only support (Terraform >= 1.11). */ sshPrivateKey?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * SSH Key in PEM format for authenticating the repository. Write-only: never stored in state. Requires Terraform >= 1.11. */ sshPrivateKeyWo?: pulumi.Input; /** * Increment to rotate the credential when using ssh_private_key_wo. */ sshPrivateKeyWoVersion?: pulumi.Input; /** * Certificate in PEM format for authenticating at the repo server. This is used for mTLS. Use tlsClientCertDataWo for write-only support (Terraform >= 1.11). */ tlsClientCertData?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Certificate in PEM format for authenticating at the repo server (mTLS). Write-only: never stored in state. Requires Terraform >= 1.11. */ tlsClientCertDataWo?: pulumi.Input; /** * Increment to rotate the credential when using tls_client_cert_data_wo. */ tlsClientCertDataWoVersion?: pulumi.Input; /** * Private key in PEM format for authenticating at the repo server. This is used for mTLS. Use tlsClientCertKeyWo for write-only support (Terraform >= 1.11). */ tlsClientCertKey?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Private key in PEM format for authenticating at the repo server (mTLS). Write-only: never stored in state. Requires Terraform >= 1.11. */ tlsClientCertKeyWo?: pulumi.Input; /** * Increment to rotate the credential when using tls_client_cert_key_wo. */ tlsClientCertKeyWoVersion?: pulumi.Input; /** * Type specifies the type of the repoCreds.Can be either 'git' or 'helm. 'git' is assumed if empty or absent */ type?: pulumi.Input; /** * URL of the remote repository. Make sure you pass at least an org, this will not work if you just provide the host, for eg. "https://github.com" */ url?: pulumi.Input; /** * Username to be used for authenticating the remote repository. */ username?: pulumi.Input; } interface GitOpsRepositoryEcrGen { /** * JWT authentication specific configuration. */ jwtAuth?: pulumi.Input; /** * AWS region. */ region?: pulumi.Input; /** * Secret reference to the AWS credentials. */ secretRef?: pulumi.Input; } interface GitOpsRepositoryEcrGenJwtAuth { /** * Audience specifies the `aud` claim for the service account token If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity then this audiences will be appended to the list */ audiences?: pulumi.Input[] | undefined>; /** * The name of the ServiceAccount resource being referred to. */ name?: pulumi.Input; /** * Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults to the namespace of the referent. */ namespace?: pulumi.Input; } interface GitOpsRepositoryEcrGenSecretRef { /** * AWS access key id. */ awsAccessKeyId?: pulumi.Input; /** * AWS secret access key. */ awsSecretAccessKey?: pulumi.Input; /** * AWS session token. */ awsSessionToken?: pulumi.Input; } interface GitOpsRepositoryGcrGen { /** * GCP access key. */ accessKey?: pulumi.Input; /** * GCP project id. */ projectId?: pulumi.Input; /** * GCP workload identity. */ workloadIdentity?: pulumi.Input; } interface GitOpsRepositoryGcrGenWorkloadIdentity { /** * Cluster location. */ clusterLocation?: pulumi.Input; /** * Cluster name. */ clusterName?: pulumi.Input; /** * Cluster project id. */ clusterProjectId?: pulumi.Input; /** * Service account reference. */ serviceAccountRef?: pulumi.Input; } interface GitOpsRepositoryGcrGenWorkloadIdentityServiceAccountRef { /** * Audience specifies the `aud` claim for the service account token If the service account uses a well-known annotation for e.g. IRSA or GCP Workload Identity then this audiences will be appended to the list */ audiences?: pulumi.Input[] | undefined>; /** * The name of the ServiceAccount resource being referred to. */ name?: pulumi.Input; /** * Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults to the namespace of the referent. */ namespace?: pulumi.Input; } interface GitOpsRepositoryRepo { /** * Identifies the authentication method used to connect to the repository. Possible values: "HTTPS" "SSH" "GITHUB" "HTTPS*ANONYMOUS", "GITHUB*ENTERPRISE". */ connectionType: pulumi.Input; /** * Indicates if git-lfs support must be enabled for this repo. This is valid only for Git repositories. */ enableLfs?: pulumi.Input; /** * Indicates if helm-oci support must be enabled for this repo. */ enableOci?: pulumi.Input; /** * Base URL of GitHub Enterprise installation. If left empty, this defaults to https://api.github.com. */ githubAppEnterpriseBaseUrl?: pulumi.Input; /** * Id of the GitHub app used to access the repo. */ githubAppId?: pulumi.Input; /** * Installation id of the GitHub app used to access the repo. */ githubAppInstallationId?: pulumi.Input; /** * GitHub app private key PEM data. Use githubAppPrivateKeyWo for write-only support (Terraform >= 1.11). */ githubAppPrivateKey?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * GitHub app private key PEM data. Write-only: never stored in state. Requires Terraform >= 1.11. */ githubAppPrivateKeyWo?: pulumi.Input; /** * Increment to rotate the credential when using github_app_private_key_wo. */ githubAppPrivateKeyWoVersion?: pulumi.Input; /** * Indicates if the credentials were inherited from a repository credential. */ inheritedCreds?: pulumi.Input; /** * Indicates if the connection to the repository ignores any errors when verifying TLS certificates or SSH host keys. */ insecure?: pulumi.Input; /** * Indicates if InsecureIgnoreHostKey should be used. Insecure is favored used only for git repos. Deprecated. */ insecureIgnoreHostKey?: pulumi.Input; /** * Name to be used for this repo. Only used with Helm repos. */ name?: pulumi.Input; /** * Password or PAT to be used for authenticating the remote repository. Use passwordWo for write-only support (Terraform >= 1.11). */ password?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Password or PAT for authenticating the remote repository. Write-only: never stored in state. Requires Terraform >= 1.11. */ passwordWo?: pulumi.Input; /** * Increment to rotate the credential when using password_wo. */ passwordWoVersion?: pulumi.Input; /** * The ArgoCD project name corresponding to this GitOps repository. An empty string means that the GitOps repository belongs to the default project created by Harness. */ project?: pulumi.Input; /** * The HTTP/HTTPS proxy used to access the repo. */ proxy?: pulumi.Input; /** * URL to the remote repository. */ repo: pulumi.Input; /** * SSH Key in PEM format for authenticating the repository. Used only for Git repository. Use sshPrivateKeyWo for write-only support (Terraform >= 1.11). */ sshPrivateKey?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * SSH Key in PEM format for authenticating the repository. Write-only: never stored in state. Requires Terraform >= 1.11. */ sshPrivateKeyWo?: pulumi.Input; /** * Increment to rotate the credential when using ssh_private_key_wo. */ sshPrivateKeyWoVersion?: pulumi.Input; /** * Certificate in PEM format for authenticating at the repo server. This is used for mTLS. The value should be base64 encoded. Use tlsClientCertDataWo for write-only support (Terraform >= 1.11). */ tlsClientCertData?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Certificate in PEM format for authenticating at the repo server (mTLS). Write-only: never stored in state. Requires Terraform >= 1.11. */ tlsClientCertDataWo?: pulumi.Input; /** * Increment to rotate the credential when using tls_client_cert_data_wo. */ tlsClientCertDataWoVersion?: pulumi.Input; /** * Private key in PEM format for authenticating at the repo server. This is used for mTLS. The value should be base64 encoded. Use tlsClientCertKeyWo for write-only support (Terraform >= 1.11). */ tlsClientCertKey?: pulumi.Input; /** * **NOTE:** This field is write-only and its value will not be updated in state as part of read operations. * Private key in PEM format for authenticating at the repo server (mTLS). Write-only: never stored in state. Requires Terraform >= 1.11. */ tlsClientCertKeyWo?: pulumi.Input; /** * Increment to rotate the credential when using tls_client_cert_key_wo. */ tlsClientCertKeyWoVersion?: pulumi.Input; /** * Type specifies the type of the repo. Can be either "git" or "helm. "git" is assumed if empty or absent. */ type_?: pulumi.Input; /** * Username to be used for authenticating the remote repository. */ username?: pulumi.Input; } interface GitOpsRepositoryUpdateMask { /** * The set of field mask paths. */ paths?: pulumi.Input[] | undefined>; } interface GithubConnectorApiAuthentication { /** * Configuration for using the github app for interacting with the github api. */ githubApp?: pulumi.Input; /** * Personal access token for interacting with the github api. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef?: pulumi.Input; } interface GithubConnectorApiAuthenticationGithubApp { /** * Enter the GitHub App ID from the GitHub App General tab. */ applicationId?: pulumi.Input; /** * Reference to the secret containing application id To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ applicationIdRef?: pulumi.Input; /** * Enter the Installation ID located in the URL of the installed GitHub App. */ installationId?: pulumi.Input; /** * Reference to the secret containing installation id. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ installationIdRef?: pulumi.Input; /** * Reference to the secret containing the private key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ privateKeyRef: pulumi.Input; } interface GithubConnectorCredentials { /** * Authenticate using Username and password over http(s) for the connection. */ http?: pulumi.Input; /** * Authenticate using SSH for the connection. */ ssh?: pulumi.Input; } interface GithubConnectorCredentialsHttp { /** * Configuration for using the github http anonymous for interacting with the github api. */ anonymouses?: pulumi.Input[] | undefined>; /** * Configuration for using the github app for interacting with the github api. */ githubApp?: pulumi.Input; /** * Reference to a secret containing the personal access to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef?: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface GithubConnectorCredentialsHttpAnonymouse { } interface GithubConnectorCredentialsHttpGithubApp { /** * Enter the GitHub App ID from the GitHub App General tab. */ applicationId?: pulumi.Input; /** * Reference to the secret containing application id To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ applicationIdRef?: pulumi.Input; /** * Enter the Installation ID located in the URL of the installed GitHub App. */ installationId?: pulumi.Input; /** * Reference to the secret containing installation id. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ installationIdRef?: pulumi.Input; /** * Reference to the secret containing the private key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ privateKeyRef: pulumi.Input; } interface GithubConnectorCredentialsSsh { /** * Reference to the Harness secret containing the ssh key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ sshKeyRef: pulumi.Input; } interface GitlabConnectorApiAuthentication { /** * Personal access token for interacting with the gitlab api. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef: pulumi.Input; } interface GitlabConnectorCredentials { /** * Authenticate using Username and password over http(s) for the connection. */ http?: pulumi.Input; /** * Authenticate using SSH for the connection. */ ssh?: pulumi.Input; } interface GitlabConnectorCredentialsHttp { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef?: pulumi.Input; /** * Reference to a secret containing the personal access to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef?: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface GitlabConnectorCredentialsSsh { /** * Reference to the Harness secret containing the ssh key. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ sshKeyRef: pulumi.Input; } interface GitopsAppProjectProject { /** * K8s object metadata for the Argo project. */ metadatas: pulumi.Input[]>; /** * Specification details for the Argo project. */ specs: pulumi.Input[]>; } interface GitopsAppProjectProjectMetadata { /** * Annotations associated with the GitOps project. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the cluster associated with the GitOps project. */ clusterName?: pulumi.Input; /** * Finalizers associated with the GitOps project. */ finalizers?: pulumi.Input[] | undefined>; /** * Labels associated with the GitOps project. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Managed fields associated with the GitOps project. */ managedFields?: pulumi.Input[] | undefined>; /** * Name of the GitOps project. */ name?: pulumi.Input; /** * Namespace of the GitOps project. This must be the same as the namespace where the agent is installed */ namespace?: pulumi.Input; /** * Resource Version for the GitOps project */ resourceVersion?: pulumi.Input; } interface GitopsAppProjectProjectMetadataManagedField { /** * API version of the operation performed. */ apiVersion?: pulumi.Input; /** * Type of the fields in the GitOps project. */ fieldsType?: pulumi.Input; /** * Raw fields associated with the GitOps project. */ fieldsV1?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Manager responsible for the operation. */ manager?: pulumi.Input; /** * Operation type performed on the GitOps project. */ operation?: pulumi.Input; /** * Subresource associated with the GitOps project. */ subresource?: pulumi.Input; /** * Timestamp of the operation. */ time?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsAppProjectProjectSpec { /** * Cluster resource blacklist for the GitOps project. */ clusterResourceBlacklists?: pulumi.Input[] | undefined>; /** * Cluster resource whitelist for the Argo project. */ clusterResourceWhitelists?: pulumi.Input[] | undefined>; /** * Description of the Argo project. */ description?: pulumi.Input; /** * Allowed destinations for applications in this Argo project. */ destinations?: pulumi.Input[] | undefined>; /** * Namespace resource blacklist for the Argo project. */ namespaceResourceBlacklists?: pulumi.Input[] | undefined>; /** * Namespace resource whitelist for the GitOps project. */ namespaceResourceWhitelists?: pulumi.Input[] | undefined>; /** * OrphanedResources specifies if agent should monitor orphaned resources of apps in this project */ orphanedResources?: pulumi.Input[] | undefined>; /** * This option determines whether destinations can only reference clusters which are argo project-scoped */ permitOnlyProjectScopedClusters?: pulumi.Input; /** * Roles associated with the Argo project. */ roles?: pulumi.Input[] | undefined>; /** * Signature keys for the GitOps project. */ signatureKeys?: pulumi.Input[] | undefined>; /** * Source namespaces defines the namespaces application resources are allowed to be created in. */ sourceNamespaces?: pulumi.Input[] | undefined>; /** * Allowed Source repositories for the Argo project. */ sourceRepos?: pulumi.Input[] | undefined>; /** * Synchronization windows for the GitOps project. */ syncWindows?: pulumi.Input[] | undefined>; } interface GitopsAppProjectProjectSpecClusterResourceBlacklist { /** * Group of the cluster resource blacklist. */ group?: pulumi.Input; /** * Kind of the cluster resource blacklist. */ kind?: pulumi.Input; } interface GitopsAppProjectProjectSpecClusterResourceWhitelist { /** * Group of the cluster resource whitelist. */ group?: pulumi.Input; /** * Kind of the cluster resource whitelist. */ kind?: pulumi.Input; } interface GitopsAppProjectProjectSpecDestination { /** * Name of the destination cluster. */ name?: pulumi.Input; /** * Permitted Namespaces for deployment in the destination cluster. */ namespace?: pulumi.Input; /** * Server URL of the destination cluster. */ server?: pulumi.Input; } interface GitopsAppProjectProjectSpecNamespaceResourceBlacklist { /** * Group of the namespace resource blacklist. */ group?: pulumi.Input; /** * Kind of the namespace resource blacklist. */ kind?: pulumi.Input; } interface GitopsAppProjectProjectSpecNamespaceResourceWhitelist { /** * Group of the namespace resource whitelist. */ group?: pulumi.Input; /** * Kind of the namespace resource whitelist. */ kind?: pulumi.Input; } interface GitopsAppProjectProjectSpecOrphanedResource { /** * List of ignored orphaned resources. */ ignores?: pulumi.Input[] | undefined>; /** * Whether to warn about orphaned resources. */ warn?: pulumi.Input; } interface GitopsAppProjectProjectSpecOrphanedResourceIgnore { /** * Group of the ignored orphaned resource. */ group?: pulumi.Input; /** * Kind of the ignored orphaned resource. */ kind?: pulumi.Input; /** * Name of the ignored orphaned resource. */ name?: pulumi.Input; } interface GitopsAppProjectProjectSpecRole { /** * Description of the role. */ description: pulumi.Input; /** * Groups associated with the role. */ groups?: pulumi.Input[] | undefined>; /** * JWT tokens associated with the role. */ jwtTokens?: pulumi.Input[] | undefined>; /** * Name of the role. */ name: pulumi.Input; /** * Policies associated with the role. These are argo RBAC policies and may not necessarily reflect in harness. */ policies?: pulumi.Input[] | undefined>; } interface GitopsAppProjectProjectSpecRoleJwtToken { /** * Expiration time of the JWT token. */ exp?: pulumi.Input; /** * Issued At time of the JWT token. */ iat?: pulumi.Input; /** * ID of the JWT token. */ id?: pulumi.Input; } interface GitopsAppProjectProjectSpecSignatureKey { /** * ID of the signature key. */ keyId?: pulumi.Input; } interface GitopsAppProjectProjectSpecSyncWindow { /** * Applications associated with synchronization window. */ applications?: pulumi.Input[] | undefined>; /** * Clusters associated with synchronization window. */ clusters?: pulumi.Input[] | undefined>; /** * Duration of synchronization window. */ duration?: pulumi.Input; /** * Kind of synchronization window. */ kind?: pulumi.Input; /** * Whether manual synchronization is enabled. */ manualSync?: pulumi.Input; /** * Namespaces associated with synchronization window. */ namespaces?: pulumi.Input[] | undefined>; /** * Schedule of synchronization window. */ schedule?: pulumi.Input; /** * Time zone of synchronization window. */ timeZone?: pulumi.Input; } interface GitopsApplicationsetApplicationset { /** * Standard Kubernetes object metadata. */ metadata: pulumi.Input; /** * Spec of the GitOps applicationset. Includes the generators and template. */ spec: pulumi.Input; } interface GitopsApplicationsetApplicationsetMetadata { /** * Annotations are unstructured key value pairs corresponding to a resource. External tools set these to store and retrieve arbitrary metadata. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * A sequence number representing a specific generation of the desired state. This is a read-only value populated by the system. */ generation?: pulumi.Input; /** * Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name must be unique within a namespace. It is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Name cannot be updated. */ name?: pulumi.Input; /** * Namespace of the GitOps application. An empty namespace is equivalent to the namespace of the GitOps agent. */ namespace?: pulumi.Input; /** * UID is the unique identifier in time and space value for this object. It is generated by the server on successful creation of a resource and is not allowed to change on PUT operations. */ uid?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpec { /** * Application set generators are responsible for generation of params, which are then rendered into the template: fields of the ApplicationSet resource. */ generators: pulumi.Input[]>; /** * Enable Go templating for the template field. */ goTemplate?: pulumi.Input; /** * Optional list of go templating options, see https://pkg.go.dev/text/template#Template.Optional. This is only relevant if `goTemplate` is true */ goTemplateOptions?: pulumi.Input[] | undefined>; /** * Application Set ignoreApplicationDifferences */ ignoreApplicationDifferences?: pulumi.Input[] | undefined>; /** * [Progressive Sync](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Progressive-Syncs/) strategy */ strategy?: pulumi.Input; /** * Sync policy configures how generated Applications will relate to their ApplicationSet. */ syncPolicy?: pulumi.Input; /** * Application Set template. The template fields of the ApplicationSet spec are used to generate Gitops Applications. */ template: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGenerator { /** * The [cluster decision resource](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster-Decision-Resource/) generates a list of Argo CD clusters. */ clusterDecisionResources?: pulumi.Input[] | undefined>; /** * The [cluster generator](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster/) produces parameters based on the list of items found within the cluster secret. */ clusters?: pulumi.Input[] | undefined>; /** * [Git generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Git/) generates parameters using either the directory structure of a specified Git repository (directory generator), or, using the contents of JSON/YAML files found within a specified repository (file generator). */ gits?: pulumi.Input[] | undefined>; /** * [List generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-List/) generate parameters based on an arbitrary list of key/value pairs (as long as the values are string values). */ lists?: pulumi.Input[] | undefined>; /** * [Matrix generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Matrix/) combine the parameters generated by two child generators, iterating through every combination of each generator's generated parameters. Take note of the [restrictions](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Matrix/#restrictions) regarding their usage - particularly regarding nesting matrix generators. */ matrices?: pulumi.Input[] | undefined>; /** * [Merge generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Merge/) combine parameters produced by the base (first) generator with matching parameter sets produced by subsequent generators. Take note of the [restrictions](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Merge/#restrictions) regarding their usage - particularly regarding nesting merge generators. */ merges?: pulumi.Input[] | undefined>; /** * [Pull Request generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Pull-Request/) uses the API of an SCMaaS provider to automatically discover open pull requests within a repository. */ pullRequests?: pulumi.Input[] | undefined>; /** * [SCM Provider generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-SCM-Provider/) uses the API of an SCMaaS provider to automatically discover repositories within an organization. */ scmProviders?: pulumi.Input[] | undefined>; /** * The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format. */ selector?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorCluster { /** * Boolean value defaulting to `true` to indicate that this block has been added thereby allowing all other attributes to be optional. */ enabled: pulumi.Input; /** * Label selector used to narrow the scope of targeted clusters. */ selector?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResource { /** * ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings. */ configMapRef: pulumi.Input; /** * Label selector used to find the resource defined in the `configMapRef`. Alternative to `name`. */ labelSelector?: pulumi.Input; /** * Resource name of the kind, group and version, defined in the `configMapRef`. */ name?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs which are passed directly as parameters to the template. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceLabelSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceLabelSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGit { /** * List of directories in the source repository to use when template the Application.. */ directories?: pulumi.Input[] | undefined>; /** * List of files in the source repository to use when template the Application. */ files?: pulumi.Input[] | undefined>; /** * Prefix for all path-related parameter names. */ pathParamPrefix?: pulumi.Input; /** * URL to the repository to use. */ repoUrl: pulumi.Input; /** * Revision of the source repository to use. */ revision?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitDirectory { /** * Flag indicating whether or not the directory should be excluded when templating. */ exclude?: pulumi.Input; /** * Path in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitFile { /** * Path to the file in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorList { /** * List of key/value pairs to pass as parameters into the template. */ elements: pulumi.Input; }>[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrix { /** * Child generator. Generators are responsible for generating parameters, which are then combined by the parent matrix generator into the template fields of the ApplicationSet resource. */ generators: pulumi.Input[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGenerator { /** * The [cluster decision resource](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster-Decision-Resource/) generates a list of Argo CD clusters. */ clusterDecisionResources?: pulumi.Input[] | undefined>; /** * The [cluster generator](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster/) produces parameters based on the list of items found within the cluster secret. */ clusters?: pulumi.Input[] | undefined>; /** * [Git generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Git/) generates parameters using either the directory structure of a specified Git repository (directory generator), or, using the contents of JSON/YAML files found within a specified repository (file generator). */ gits?: pulumi.Input[] | undefined>; /** * [List generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-List/) generate parameters based on an arbitrary list of key/value pairs (as long as the values are string values). */ lists?: pulumi.Input[] | undefined>; /** * [Matrix generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Matrix/) combine the parameters generated by two child generators, iterating through every combination of each generator's generated parameters. Take note of the [restrictions](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Matrix/#restrictions) regarding their usage - particularly regarding nesting matrix generators. */ matrices?: pulumi.Input[] | undefined>; /** * [Merge generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Merge/) combine parameters produced by the base (first) generator with matching parameter sets produced by subsequent generators. Take note of the [restrictions](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Merge/#restrictions) regarding their usage - particularly regarding nesting merge generators. */ merges?: pulumi.Input[] | undefined>; /** * [Pull Request generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Pull-Request/) uses the API of an SCMaaS provider to automatically discover open pull requests within a repository. */ pullRequests?: pulumi.Input[] | undefined>; /** * [SCM Provider generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-SCM-Provider/) uses the API of an SCMaaS provider to automatically discover repositories within an organization. */ scmProviders?: pulumi.Input[] | undefined>; /** * The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format. */ selector?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorCluster { /** * Boolean value defaulting to `true` to indicate that this block has been added thereby allowing all other attributes to be optional. */ enabled: pulumi.Input; /** * Label selector used to narrow the scope of targeted clusters. */ selector?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResource { /** * ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings. */ configMapRef: pulumi.Input; /** * Label selector used to find the resource defined in the `configMapRef`. Alternative to `name`. */ labelSelector?: pulumi.Input; /** * Resource name of the kind, group and version, defined in the `configMapRef`. */ name?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs which are passed directly as parameters to the template. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGit { /** * List of directories in the source repository to use when template the Application.. */ directories?: pulumi.Input[] | undefined>; /** * List of files in the source repository to use when template the Application. */ files?: pulumi.Input[] | undefined>; /** * Prefix for all path-related parameter names. */ pathParamPrefix?: pulumi.Input; /** * URL to the repository to use. */ repoUrl: pulumi.Input; /** * Revision of the source repository to use. */ revision?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitDirectory { /** * Flag indicating whether or not the directory should be excluded when templating. */ exclude?: pulumi.Input; /** * Path in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitFile { /** * Path to the file in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorList { /** * List of key/value pairs to pass as parameters into the template. */ elements: pulumi.Input; }>[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrix { /** * Child generator. Generators are responsible for generating parameters, which are then combined by the parent matrix generator into the template fields of the ApplicationSet resource. */ generators: pulumi.Input[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGenerator { /** * The [cluster decision resource](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster-Decision-Resource/) generates a list of Argo CD clusters. */ clusterDecisionResources?: pulumi.Input[] | undefined>; /** * The [cluster generator](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster/) produces parameters based on the list of items found within the cluster secret. */ clusters?: pulumi.Input[] | undefined>; /** * [Git generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Git/) generates parameters using either the directory structure of a specified Git repository (directory generator), or, using the contents of JSON/YAML files found within a specified repository (file generator). */ gits?: pulumi.Input[] | undefined>; /** * [List generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-List/) generate parameters based on an arbitrary list of key/value pairs (as long as the values are string values). */ lists?: pulumi.Input[] | undefined>; /** * [Pull Request generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Pull-Request/) uses the API of an SCMaaS provider to automatically discover open pull requests within a repository. */ pullRequests?: pulumi.Input[] | undefined>; /** * [SCM Provider generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-SCM-Provider/) uses the API of an SCMaaS provider to automatically discover repositories within an organization. */ scmProviders?: pulumi.Input[] | undefined>; /** * The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format. */ selector?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorCluster { /** * Boolean value defaulting to `true` to indicate that this block has been added thereby allowing all other attributes to be optional. */ enabled: pulumi.Input; /** * Label selector used to narrow the scope of targeted clusters. */ selector?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResource { /** * ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings. */ configMapRef: pulumi.Input; /** * Label selector used to find the resource defined in the `configMapRef`. Alternative to `name`. */ labelSelector?: pulumi.Input; /** * Resource name of the kind, group and version, defined in the `configMapRef`. */ name?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs which are passed directly as parameters to the template. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGit { /** * List of directories in the source repository to use when template the Application.. */ directories?: pulumi.Input[] | undefined>; /** * List of files in the source repository to use when template the Application. */ files?: pulumi.Input[] | undefined>; /** * Prefix for all path-related parameter names. */ pathParamPrefix?: pulumi.Input; /** * URL to the repository to use. */ repoUrl: pulumi.Input; /** * Revision of the source repository to use. */ revision?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitDirectory { /** * Flag indicating whether or not the directory should be excluded when templating. */ exclude?: pulumi.Input; /** * Path in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitFile { /** * Path to the file in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorList { /** * List of key/value pairs to pass as parameters into the template. */ elements: pulumi.Input; }>[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequest { /** * Fetch pull requests from a repo hosted on a Bitbucket Server. */ bitbucketServer?: pulumi.Input; /** * Filters allow selecting which pull requests to generate for. */ filters?: pulumi.Input[] | undefined>; /** * Specify the repository from which to fetch the Gitea Pull requests. */ gitea?: pulumi.Input; /** * Specify the repository from which to fetch the GitHub Pull requests. */ github?: pulumi.Input; /** * Specify the project from which to fetch the GitLab merge requests. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 30min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServer { /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; /** * Repo name to scan. */ repo: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitea { /** * The Gitea API URL to talk to. */ api: pulumi.Input; /** * Allow insecure tls, for self-signed certificates; default: false. */ insecure?: pulumi.Input; /** * Gitea org or user to scan. */ owner: pulumi.Input; /** * Gitea repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGithub { /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret with permission to access pull requests. */ appSecretName?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitHub org or user to scan. */ owner: pulumi.Input; /** * GitHub repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitlab { /** * The GitLab API URL to talk to. If blank, uses https://gitlab.com/. */ api?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitLab project to scan. */ project: pulumi.Input; /** * additional MRs filter to get only those with a certain state. Default: "" (all states). */ pullRequestState?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProvider { /** * Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization. */ azureDevops?: pulumi.Input; /** * Uses the Bitbucket API V2 to scan a workspace in bitbucket.org. */ bitbucketCloud?: pulumi.Input; /** * Use the Bitbucket Server API (1.0) to scan repos in a project. */ bitbucketServer?: pulumi.Input; /** * Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols. */ cloneProtocol?: pulumi.Input; /** * Filters for which repos should be considered. */ filters?: pulumi.Input[] | undefined>; /** * Gitea mode uses the Gitea API to scan organizations in your instance. */ gitea?: pulumi.Input; /** * Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise. */ github?: pulumi.Input; /** * Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderAzureDevops { /** * The Personal Access Token (PAT) to use when connecting. */ accessTokenRef?: pulumi.Input; /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The URL to Azure DevOps. Defaults to https://dev.azure.com. */ api?: pulumi.Input; /** * Azure Devops organization. E.g. "my-organization". */ organization: pulumi.Input; /** * Azure Devops team project. E.g. "my-team". */ teamProject: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketCloud { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/. */ appPasswordRef?: pulumi.Input; /** * Bitbucket workspace to scan. */ owner: pulumi.Input; /** * Bitbucket user to use when authenticating. Should have a "member" role to be able to read all repositories and branches. */ user: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServer { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; /** * A regex which must match at least one label. */ labelMatch?: pulumi.Input; /** * An array of paths, all of which must not exist. */ pathsDoNotExists?: pulumi.Input[] | undefined>; /** * An array of paths, all of which must exist. */ pathsExists?: pulumi.Input[] | undefined>; /** * A regex for repo names. */ repositoryMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitea { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Gitea URL to talk to. For example https://gitea.mydomain.com/. */ api?: pulumi.Input; /** * Allow self-signed TLS / Certificates. */ insecure?: pulumi.Input; /** * Gitea organization or user to scan. */ owner: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGithub { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT. */ appSecretName?: pulumi.Input; /** * GitHub org to scan. */ organization: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlab { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The Gitlab API URL to talk to. */ api?: pulumi.Input; /** * Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances. */ caRef?: pulumi.Input; /** * Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path. */ group: pulumi.Input; /** * Recurse through subgroups (true) or scan only the base group (false). Defaults to `false`. */ includeSubgroups?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlabCaRef { /** * Name of Kubernetes `ConfigMap`. */ configMapName: pulumi.Input; /** * Key containing information in Kubernetes `ConfigMap`. */ key: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMerge { /** * Child generator. Generators are responsible for generating parameters, which are then combined by the parent merge generator. */ generators: pulumi.Input[]>; /** * Keys to merge into resulting parameter set. */ mergeKeys: pulumi.Input[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGenerator { /** * The [cluster decision resource](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster-Decision-Resource/) generates a list of Argo CD clusters. */ clusterDecisionResources?: pulumi.Input[] | undefined>; /** * The [cluster generator](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster/) produces parameters based on the list of items found within the cluster secret. */ clusters?: pulumi.Input[] | undefined>; /** * [Git generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Git/) generates parameters using either the directory structure of a specified Git repository (directory generator), or, using the contents of JSON/YAML files found within a specified repository (file generator). */ gits?: pulumi.Input[] | undefined>; /** * [List generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-List/) generate parameters based on an arbitrary list of key/value pairs (as long as the values are string values). */ lists?: pulumi.Input[] | undefined>; /** * [Pull Request generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Pull-Request/) uses the API of an SCMaaS provider to automatically discover open pull requests within a repository. */ pullRequests?: pulumi.Input[] | undefined>; /** * [SCM Provider generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-SCM-Provider/) uses the API of an SCMaaS provider to automatically discover repositories within an organization. */ scmProviders?: pulumi.Input[] | undefined>; /** * The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format. */ selector?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorCluster { /** * Boolean value defaulting to `true` to indicate that this block has been added thereby allowing all other attributes to be optional. */ enabled: pulumi.Input; /** * Label selector used to narrow the scope of targeted clusters. */ selector?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResource { /** * ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings. */ configMapRef: pulumi.Input; /** * Label selector used to find the resource defined in the `configMapRef`. Alternative to `name`. */ labelSelector?: pulumi.Input; /** * Resource name of the kind, group and version, defined in the `configMapRef`. */ name?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs which are passed directly as parameters to the template. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceLabelSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGit { /** * List of directories in the source repository to use when template the Application.. */ directories?: pulumi.Input[] | undefined>; /** * List of files in the source repository to use when template the Application. */ files?: pulumi.Input[] | undefined>; /** * Prefix for all path-related parameter names. */ pathParamPrefix?: pulumi.Input; /** * URL to the repository to use. */ repoUrl: pulumi.Input; /** * Revision of the source repository to use. */ revision?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitDirectory { /** * Flag indicating whether or not the directory should be excluded when templating. */ exclude?: pulumi.Input; /** * Path in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitFile { /** * Path to the file in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorList { /** * List of key/value pairs to pass as parameters into the template. */ elements: pulumi.Input; }>[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequest { /** * Fetch pull requests from a repo hosted on a Bitbucket Server. */ bitbucketServer?: pulumi.Input; /** * Filters allow selecting which pull requests to generate for. */ filters?: pulumi.Input[] | undefined>; /** * Specify the repository from which to fetch the Gitea Pull requests. */ gitea?: pulumi.Input; /** * Specify the repository from which to fetch the GitHub Pull requests. */ github?: pulumi.Input; /** * Specify the project from which to fetch the GitLab merge requests. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 30min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServer { /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; /** * Repo name to scan. */ repo: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitea { /** * The Gitea API URL to talk to. */ api: pulumi.Input; /** * Allow insecure tls, for self-signed certificates; default: false. */ insecure?: pulumi.Input; /** * Gitea org or user to scan. */ owner: pulumi.Input; /** * Gitea repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGithub { /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret with permission to access pull requests. */ appSecretName?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitHub org or user to scan. */ owner: pulumi.Input; /** * GitHub repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitlab { /** * The GitLab API URL to talk to. If blank, uses https://gitlab.com/. */ api?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitLab project to scan. */ project: pulumi.Input; /** * additional MRs filter to get only those with a certain state. Default: "" (all states). */ pullRequestState?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProvider { /** * Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization. */ azureDevops?: pulumi.Input; /** * Uses the Bitbucket API V2 to scan a workspace in bitbucket.org. */ bitbucketCloud?: pulumi.Input; /** * Use the Bitbucket Server API (1.0) to scan repos in a project. */ bitbucketServer?: pulumi.Input; /** * Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols. */ cloneProtocol?: pulumi.Input; /** * Filters for which repos should be considered. */ filters?: pulumi.Input[] | undefined>; /** * Gitea mode uses the Gitea API to scan organizations in your instance. */ gitea?: pulumi.Input; /** * Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise. */ github?: pulumi.Input; /** * Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderAzureDevops { /** * The Personal Access Token (PAT) to use when connecting. */ accessTokenRef?: pulumi.Input; /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The URL to Azure DevOps. Defaults to https://dev.azure.com. */ api?: pulumi.Input; /** * Azure Devops organization. E.g. "my-organization". */ organization: pulumi.Input; /** * Azure Devops team project. E.g. "my-team". */ teamProject: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketCloud { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/. */ appPasswordRef?: pulumi.Input; /** * Bitbucket workspace to scan. */ owner: pulumi.Input; /** * Bitbucket user to use when authenticating. Should have a "member" role to be able to read all repositories and branches. */ user: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServer { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; /** * A regex which must match at least one label. */ labelMatch?: pulumi.Input; /** * An array of paths, all of which must not exist. */ pathsDoNotExists?: pulumi.Input[] | undefined>; /** * An array of paths, all of which must exist. */ pathsExists?: pulumi.Input[] | undefined>; /** * A regex for repo names. */ repositoryMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitea { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Gitea URL to talk to. For example https://gitea.mydomain.com/. */ api?: pulumi.Input; /** * Allow self-signed TLS / Certificates. */ insecure?: pulumi.Input; /** * Gitea organization or user to scan. */ owner: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGithub { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT. */ appSecretName?: pulumi.Input; /** * GitHub org to scan. */ organization: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlab { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The Gitlab API URL to talk to. */ api?: pulumi.Input; /** * Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances. */ caRef?: pulumi.Input; /** * Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path. */ group: pulumi.Input; /** * Recurse through subgroups (true) or scan only the base group (false). Defaults to `false`. */ includeSubgroups?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlabCaRef { /** * Name of Kubernetes `ConfigMap`. */ configMapName: pulumi.Input; /** * Key containing information in Kubernetes `ConfigMap`. */ key: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequest { /** * Fetch pull requests from a repo hosted on a Bitbucket Server. */ bitbucketServer?: pulumi.Input; /** * Filters allow selecting which pull requests to generate for. */ filters?: pulumi.Input[] | undefined>; /** * Specify the repository from which to fetch the Gitea Pull requests. */ gitea?: pulumi.Input; /** * Specify the repository from which to fetch the GitHub Pull requests. */ github?: pulumi.Input; /** * Specify the project from which to fetch the GitLab merge requests. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 30min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServer { /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; /** * Repo name to scan. */ repo: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitea { /** * The Gitea API URL to talk to. */ api: pulumi.Input; /** * Allow insecure tls, for self-signed certificates; default: false. */ insecure?: pulumi.Input; /** * Gitea org or user to scan. */ owner: pulumi.Input; /** * Gitea repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGithub { /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret with permission to access pull requests. */ appSecretName?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitHub org or user to scan. */ owner: pulumi.Input; /** * GitHub repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitlab { /** * The GitLab API URL to talk to. If blank, uses https://gitlab.com/. */ api?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitLab project to scan. */ project: pulumi.Input; /** * additional MRs filter to get only those with a certain state. Default: "" (all states). */ pullRequestState?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProvider { /** * Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization. */ azureDevops?: pulumi.Input; /** * Uses the Bitbucket API V2 to scan a workspace in bitbucket.org. */ bitbucketCloud?: pulumi.Input; /** * Use the Bitbucket Server API (1.0) to scan repos in a project. */ bitbucketServer?: pulumi.Input; /** * Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols. */ cloneProtocol?: pulumi.Input; /** * Filters for which repos should be considered. */ filters?: pulumi.Input[] | undefined>; /** * Gitea mode uses the Gitea API to scan organizations in your instance. */ gitea?: pulumi.Input; /** * Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise. */ github?: pulumi.Input; /** * Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderAzureDevops { /** * The Personal Access Token (PAT) to use when connecting. */ accessTokenRef?: pulumi.Input; /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The URL to Azure DevOps. Defaults to https://dev.azure.com. */ api?: pulumi.Input; /** * Azure Devops organization. E.g. "my-organization". */ organization: pulumi.Input; /** * Azure Devops team project. E.g. "my-team". */ teamProject: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketCloud { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/. */ appPasswordRef?: pulumi.Input; /** * Bitbucket workspace to scan. */ owner: pulumi.Input; /** * Bitbucket user to use when authenticating. Should have a "member" role to be able to read all repositories and branches. */ user: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServer { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; /** * A regex which must match at least one label. */ labelMatch?: pulumi.Input; /** * An array of paths, all of which must not exist. */ pathsDoNotExists?: pulumi.Input[] | undefined>; /** * An array of paths, all of which must exist. */ pathsExists?: pulumi.Input[] | undefined>; /** * A regex for repo names. */ repositoryMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitea { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Gitea URL to talk to. For example https://gitea.mydomain.com/. */ api?: pulumi.Input; /** * Allow self-signed TLS / Certificates. */ insecure?: pulumi.Input; /** * Gitea organization or user to scan. */ owner: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGithub { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT. */ appSecretName?: pulumi.Input; /** * GitHub org to scan. */ organization: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlab { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The Gitlab API URL to talk to. */ api?: pulumi.Input; /** * Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances. */ caRef?: pulumi.Input; /** * Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path. */ group: pulumi.Input; /** * Recurse through subgroups (true) or scan only the base group (false). Defaults to `false`. */ includeSubgroups?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlabCaRef { /** * Name of Kubernetes `ConfigMap`. */ configMapName: pulumi.Input; /** * Key containing information in Kubernetes `ConfigMap`. */ key: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMerge { /** * Child generator. Generators are responsible for generating parameters, which are then combined by the parent merge generator. */ generators: pulumi.Input[]>; /** * Keys to merge into resulting parameter set. */ mergeKeys: pulumi.Input[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGenerator { /** * The [cluster decision resource](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster-Decision-Resource/) generates a list of Argo CD clusters. */ clusterDecisionResources?: pulumi.Input[] | undefined>; /** * The [cluster generator](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster/) produces parameters based on the list of items found within the cluster secret. */ clusters?: pulumi.Input[] | undefined>; /** * [Git generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Git/) generates parameters using either the directory structure of a specified Git repository (directory generator), or, using the contents of JSON/YAML files found within a specified repository (file generator). */ gits?: pulumi.Input[] | undefined>; /** * [List generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-List/) generate parameters based on an arbitrary list of key/value pairs (as long as the values are string values). */ lists?: pulumi.Input[] | undefined>; /** * [Matrix generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Matrix/) combine the parameters generated by two child generators, iterating through every combination of each generator's generated parameters. Take note of the [restrictions](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Matrix/#restrictions) regarding their usage - particularly regarding nesting matrix generators. */ matrices?: pulumi.Input[] | undefined>; /** * [Merge generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Merge/) combine parameters produced by the base (first) generator with matching parameter sets produced by subsequent generators. Take note of the [restrictions](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Merge/#restrictions) regarding their usage - particularly regarding nesting merge generators. */ merges?: pulumi.Input[] | undefined>; /** * [Pull Request generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Pull-Request/) uses the API of an SCMaaS provider to automatically discover open pull requests within a repository. */ pullRequests?: pulumi.Input[] | undefined>; /** * [SCM Provider generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-SCM-Provider/) uses the API of an SCMaaS provider to automatically discover repositories within an organization. */ scmProviders?: pulumi.Input[] | undefined>; /** * The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format. */ selector?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorCluster { /** * Boolean value defaulting to `true` to indicate that this block has been added thereby allowing all other attributes to be optional. */ enabled: pulumi.Input; /** * Label selector used to narrow the scope of targeted clusters. */ selector?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResource { /** * ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings. */ configMapRef: pulumi.Input; /** * Label selector used to find the resource defined in the `configMapRef`. Alternative to `name`. */ labelSelector?: pulumi.Input; /** * Resource name of the kind, group and version, defined in the `configMapRef`. */ name?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs which are passed directly as parameters to the template. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceLabelSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGit { /** * List of directories in the source repository to use when template the Application.. */ directories?: pulumi.Input[] | undefined>; /** * List of files in the source repository to use when template the Application. */ files?: pulumi.Input[] | undefined>; /** * Prefix for all path-related parameter names. */ pathParamPrefix?: pulumi.Input; /** * URL to the repository to use. */ repoUrl: pulumi.Input; /** * Revision of the source repository to use. */ revision?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitDirectory { /** * Flag indicating whether or not the directory should be excluded when templating. */ exclude?: pulumi.Input; /** * Path in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitFile { /** * Path to the file in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorList { /** * List of key/value pairs to pass as parameters into the template. */ elements: pulumi.Input; }>[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrix { /** * Child generator. Generators are responsible for generating parameters, which are then combined by the parent matrix generator into the template fields of the ApplicationSet resource. */ generators: pulumi.Input[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGenerator { /** * The [cluster decision resource](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster-Decision-Resource/) generates a list of Argo CD clusters. */ clusterDecisionResources?: pulumi.Input[] | undefined>; /** * The [cluster generator](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster/) produces parameters based on the list of items found within the cluster secret. */ clusters?: pulumi.Input[] | undefined>; /** * [Git generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Git/) generates parameters using either the directory structure of a specified Git repository (directory generator), or, using the contents of JSON/YAML files found within a specified repository (file generator). */ gits?: pulumi.Input[] | undefined>; /** * [List generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-List/) generate parameters based on an arbitrary list of key/value pairs (as long as the values are string values). */ lists?: pulumi.Input[] | undefined>; /** * [Pull Request generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Pull-Request/) uses the API of an SCMaaS provider to automatically discover open pull requests within a repository. */ pullRequests?: pulumi.Input[] | undefined>; /** * [SCM Provider generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-SCM-Provider/) uses the API of an SCMaaS provider to automatically discover repositories within an organization. */ scmProviders?: pulumi.Input[] | undefined>; /** * The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format. */ selector?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorCluster { /** * Boolean value defaulting to `true` to indicate that this block has been added thereby allowing all other attributes to be optional. */ enabled: pulumi.Input; /** * Label selector used to narrow the scope of targeted clusters. */ selector?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResource { /** * ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings. */ configMapRef: pulumi.Input; /** * Label selector used to find the resource defined in the `configMapRef`. Alternative to `name`. */ labelSelector?: pulumi.Input; /** * Resource name of the kind, group and version, defined in the `configMapRef`. */ name?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs which are passed directly as parameters to the template. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGit { /** * List of directories in the source repository to use when template the Application.. */ directories?: pulumi.Input[] | undefined>; /** * List of files in the source repository to use when template the Application. */ files?: pulumi.Input[] | undefined>; /** * Prefix for all path-related parameter names. */ pathParamPrefix?: pulumi.Input; /** * URL to the repository to use. */ repoUrl: pulumi.Input; /** * Revision of the source repository to use. */ revision?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitDirectory { /** * Flag indicating whether or not the directory should be excluded when templating. */ exclude?: pulumi.Input; /** * Path in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitFile { /** * Path to the file in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorList { /** * List of key/value pairs to pass as parameters into the template. */ elements: pulumi.Input; }>[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequest { /** * Fetch pull requests from a repo hosted on a Bitbucket Server. */ bitbucketServer?: pulumi.Input; /** * Filters allow selecting which pull requests to generate for. */ filters?: pulumi.Input[] | undefined>; /** * Specify the repository from which to fetch the Gitea Pull requests. */ gitea?: pulumi.Input; /** * Specify the repository from which to fetch the GitHub Pull requests. */ github?: pulumi.Input; /** * Specify the project from which to fetch the GitLab merge requests. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 30min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServer { /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; /** * Repo name to scan. */ repo: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitea { /** * The Gitea API URL to talk to. */ api: pulumi.Input; /** * Allow insecure tls, for self-signed certificates; default: false. */ insecure?: pulumi.Input; /** * Gitea org or user to scan. */ owner: pulumi.Input; /** * Gitea repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGithub { /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret with permission to access pull requests. */ appSecretName?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitHub org or user to scan. */ owner: pulumi.Input; /** * GitHub repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitlab { /** * The GitLab API URL to talk to. If blank, uses https://gitlab.com/. */ api?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitLab project to scan. */ project: pulumi.Input; /** * additional MRs filter to get only those with a certain state. Default: "" (all states). */ pullRequestState?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProvider { /** * Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization. */ azureDevops?: pulumi.Input; /** * Uses the Bitbucket API V2 to scan a workspace in bitbucket.org. */ bitbucketCloud?: pulumi.Input; /** * Use the Bitbucket Server API (1.0) to scan repos in a project. */ bitbucketServer?: pulumi.Input; /** * Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols. */ cloneProtocol?: pulumi.Input; /** * Filters for which repos should be considered. */ filters?: pulumi.Input[] | undefined>; /** * Gitea mode uses the Gitea API to scan organizations in your instance. */ gitea?: pulumi.Input; /** * Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise. */ github?: pulumi.Input; /** * Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderAzureDevops { /** * The Personal Access Token (PAT) to use when connecting. */ accessTokenRef?: pulumi.Input; /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The URL to Azure DevOps. Defaults to https://dev.azure.com. */ api?: pulumi.Input; /** * Azure Devops organization. E.g. "my-organization". */ organization: pulumi.Input; /** * Azure Devops team project. E.g. "my-team". */ teamProject: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketCloud { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/. */ appPasswordRef?: pulumi.Input; /** * Bitbucket workspace to scan. */ owner: pulumi.Input; /** * Bitbucket user to use when authenticating. Should have a "member" role to be able to read all repositories and branches. */ user: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServer { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; /** * A regex which must match at least one label. */ labelMatch?: pulumi.Input; /** * An array of paths, all of which must not exist. */ pathsDoNotExists?: pulumi.Input[] | undefined>; /** * An array of paths, all of which must exist. */ pathsExists?: pulumi.Input[] | undefined>; /** * A regex for repo names. */ repositoryMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitea { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Gitea URL to talk to. For example https://gitea.mydomain.com/. */ api?: pulumi.Input; /** * Allow self-signed TLS / Certificates. */ insecure?: pulumi.Input; /** * Gitea organization or user to scan. */ owner: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGithub { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT. */ appSecretName?: pulumi.Input; /** * GitHub org to scan. */ organization: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlab { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The Gitlab API URL to talk to. */ api?: pulumi.Input; /** * Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances. */ caRef?: pulumi.Input; /** * Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path. */ group: pulumi.Input; /** * Recurse through subgroups (true) or scan only the base group (false). Defaults to `false`. */ includeSubgroups?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlabCaRef { /** * Name of Kubernetes `ConfigMap`. */ configMapName: pulumi.Input; /** * Key containing information in Kubernetes `ConfigMap`. */ key: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMerge { /** * Child generator. Generators are responsible for generating parameters, which are then combined by the parent merge generator. */ generators: pulumi.Input[]>; /** * Keys to merge into resulting parameter set. */ mergeKeys: pulumi.Input[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGenerator { /** * The [cluster decision resource](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster-Decision-Resource/) generates a list of Argo CD clusters. */ clusterDecisionResources?: pulumi.Input[] | undefined>; /** * The [cluster generator](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Cluster/) produces parameters based on the list of items found within the cluster secret. */ clusters?: pulumi.Input[] | undefined>; /** * [Git generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Git/) generates parameters using either the directory structure of a specified Git repository (directory generator), or, using the contents of JSON/YAML files found within a specified repository (file generator). */ gits?: pulumi.Input[] | undefined>; /** * [List generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-List/) generate parameters based on an arbitrary list of key/value pairs (as long as the values are string values). */ lists?: pulumi.Input[] | undefined>; /** * [Pull Request generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-Pull-Request/) uses the API of an SCMaaS provider to automatically discover open pull requests within a repository. */ pullRequests?: pulumi.Input[] | undefined>; /** * [SCM Provider generators](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Generators-SCM-Provider/) uses the API of an SCMaaS provider to automatically discover repositories within an organization. */ scmProviders?: pulumi.Input[] | undefined>; /** * The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format. */ selector?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorCluster { /** * Boolean value defaulting to `true` to indicate that this block has been added thereby allowing all other attributes to be optional. */ enabled: pulumi.Input; /** * Label selector used to narrow the scope of targeted clusters. */ selector?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResource { /** * ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings. */ configMapRef: pulumi.Input; /** * Label selector used to find the resource defined in the `configMapRef`. Alternative to `name`. */ labelSelector?: pulumi.Input; /** * Resource name of the kind, group and version, defined in the `configMapRef`. */ name?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; /** * Arbitrary string key-value pairs which are passed directly as parameters to the template. */ values?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceLabelSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGit { /** * List of directories in the source repository to use when template the Application.. */ directories?: pulumi.Input[] | undefined>; /** * List of files in the source repository to use when template the Application. */ files?: pulumi.Input[] | undefined>; /** * Prefix for all path-related parameter names. */ pathParamPrefix?: pulumi.Input; /** * URL to the repository to use. */ repoUrl: pulumi.Input; /** * Revision of the source repository to use. */ revision?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitDirectory { /** * Flag indicating whether or not the directory should be excluded when templating. */ exclude?: pulumi.Input; /** * Path in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitFile { /** * Path to the file in the repository. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorList { /** * List of key/value pairs to pass as parameters into the template. */ elements: pulumi.Input; }>[]>; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequest { /** * Fetch pull requests from a repo hosted on a Bitbucket Server. */ bitbucketServer?: pulumi.Input; /** * Filters allow selecting which pull requests to generate for. */ filters?: pulumi.Input[] | undefined>; /** * Specify the repository from which to fetch the Gitea Pull requests. */ gitea?: pulumi.Input; /** * Specify the repository from which to fetch the GitHub Pull requests. */ github?: pulumi.Input; /** * Specify the project from which to fetch the GitLab merge requests. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 30min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServer { /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; /** * Repo name to scan. */ repo: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitea { /** * The Gitea API URL to talk to. */ api: pulumi.Input; /** * Allow insecure tls, for self-signed certificates; default: false. */ insecure?: pulumi.Input; /** * Gitea org or user to scan. */ owner: pulumi.Input; /** * Gitea repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGithub { /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret with permission to access pull requests. */ appSecretName?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitHub org or user to scan. */ owner: pulumi.Input; /** * GitHub repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitlab { /** * The GitLab API URL to talk to. If blank, uses https://gitlab.com/. */ api?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitLab project to scan. */ project: pulumi.Input; /** * additional MRs filter to get only those with a certain state. Default: "" (all states). */ pullRequestState?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProvider { /** * Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization. */ azureDevops?: pulumi.Input; /** * Uses the Bitbucket API V2 to scan a workspace in bitbucket.org. */ bitbucketCloud?: pulumi.Input; /** * Use the Bitbucket Server API (1.0) to scan repos in a project. */ bitbucketServer?: pulumi.Input; /** * Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols. */ cloneProtocol?: pulumi.Input; /** * Filters for which repos should be considered. */ filters?: pulumi.Input[] | undefined>; /** * Gitea mode uses the Gitea API to scan organizations in your instance. */ gitea?: pulumi.Input; /** * Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise. */ github?: pulumi.Input; /** * Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderAzureDevops { /** * The Personal Access Token (PAT) to use when connecting. */ accessTokenRef?: pulumi.Input; /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The URL to Azure DevOps. Defaults to https://dev.azure.com. */ api?: pulumi.Input; /** * Azure Devops organization. E.g. "my-organization". */ organization: pulumi.Input; /** * Azure Devops team project. E.g. "my-team". */ teamProject: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketCloud { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/. */ appPasswordRef?: pulumi.Input; /** * Bitbucket workspace to scan. */ owner: pulumi.Input; /** * Bitbucket user to use when authenticating. Should have a "member" role to be able to read all repositories and branches. */ user: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServer { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; /** * A regex which must match at least one label. */ labelMatch?: pulumi.Input; /** * An array of paths, all of which must not exist. */ pathsDoNotExists?: pulumi.Input[] | undefined>; /** * An array of paths, all of which must exist. */ pathsExists?: pulumi.Input[] | undefined>; /** * A regex for repo names. */ repositoryMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitea { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Gitea URL to talk to. For example https://gitea.mydomain.com/. */ api?: pulumi.Input; /** * Allow self-signed TLS / Certificates. */ insecure?: pulumi.Input; /** * Gitea organization or user to scan. */ owner: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGithub { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT. */ appSecretName?: pulumi.Input; /** * GitHub org to scan. */ organization: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlab { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The Gitlab API URL to talk to. */ api?: pulumi.Input; /** * Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances. */ caRef?: pulumi.Input; /** * Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path. */ group: pulumi.Input; /** * Recurse through subgroups (true) or scan only the base group (false). Defaults to `false`. */ includeSubgroups?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlabCaRef { /** * Name of Kubernetes `ConfigMap`. */ configMapName: pulumi.Input; /** * Key containing information in Kubernetes `ConfigMap`. */ key: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequest { /** * Fetch pull requests from a repo hosted on a Bitbucket Server. */ bitbucketServer?: pulumi.Input; /** * Filters allow selecting which pull requests to generate for. */ filters?: pulumi.Input[] | undefined>; /** * Specify the repository from which to fetch the Gitea Pull requests. */ gitea?: pulumi.Input; /** * Specify the repository from which to fetch the GitHub Pull requests. */ github?: pulumi.Input; /** * Specify the project from which to fetch the GitLab merge requests. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 30min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServer { /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; /** * Repo name to scan. */ repo: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitea { /** * The Gitea API URL to talk to. */ api: pulumi.Input; /** * Allow insecure tls, for self-signed certificates; default: false. */ insecure?: pulumi.Input; /** * Gitea org or user to scan. */ owner: pulumi.Input; /** * Gitea repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGithub { /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret with permission to access pull requests. */ appSecretName?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitHub org or user to scan. */ owner: pulumi.Input; /** * GitHub repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitlab { /** * The GitLab API URL to talk to. If blank, uses https://gitlab.com/. */ api?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitLab project to scan. */ project: pulumi.Input; /** * additional MRs filter to get only those with a certain state. Default: "" (all states). */ pullRequestState?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProvider { /** * Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization. */ azureDevops?: pulumi.Input; /** * Uses the Bitbucket API V2 to scan a workspace in bitbucket.org. */ bitbucketCloud?: pulumi.Input; /** * Use the Bitbucket Server API (1.0) to scan repos in a project. */ bitbucketServer?: pulumi.Input; /** * Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols. */ cloneProtocol?: pulumi.Input; /** * Filters for which repos should be considered. */ filters?: pulumi.Input[] | undefined>; /** * Gitea mode uses the Gitea API to scan organizations in your instance. */ gitea?: pulumi.Input; /** * Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise. */ github?: pulumi.Input; /** * Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderAzureDevops { /** * The Personal Access Token (PAT) to use when connecting. */ accessTokenRef?: pulumi.Input; /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The URL to Azure DevOps. Defaults to https://dev.azure.com. */ api?: pulumi.Input; /** * Azure Devops organization. E.g. "my-organization". */ organization: pulumi.Input; /** * Azure Devops team project. E.g. "my-team". */ teamProject: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketCloud { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/. */ appPasswordRef?: pulumi.Input; /** * Bitbucket workspace to scan. */ owner: pulumi.Input; /** * Bitbucket user to use when authenticating. Should have a "member" role to be able to read all repositories and branches. */ user: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServer { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; /** * A regex which must match at least one label. */ labelMatch?: pulumi.Input; /** * An array of paths, all of which must not exist. */ pathsDoNotExists?: pulumi.Input[] | undefined>; /** * An array of paths, all of which must exist. */ pathsExists?: pulumi.Input[] | undefined>; /** * A regex for repo names. */ repositoryMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitea { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Gitea URL to talk to. For example https://gitea.mydomain.com/. */ api?: pulumi.Input; /** * Allow self-signed TLS / Certificates. */ insecure?: pulumi.Input; /** * Gitea organization or user to scan. */ owner: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGithub { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT. */ appSecretName?: pulumi.Input; /** * GitHub org to scan. */ organization: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlab { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The Gitlab API URL to talk to. */ api?: pulumi.Input; /** * Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances. */ caRef?: pulumi.Input; /** * Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path. */ group: pulumi.Input; /** * Recurse through subgroups (true) or scan only the base group (false). Defaults to `false`. */ includeSubgroups?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlabCaRef { /** * Name of Kubernetes `ConfigMap`. */ configMapName: pulumi.Input; /** * Key containing information in Kubernetes `ConfigMap`. */ key: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequest { /** * Fetch pull requests from a repo hosted on a Bitbucket Server. */ bitbucketServer?: pulumi.Input; /** * Filters allow selecting which pull requests to generate for. */ filters?: pulumi.Input[] | undefined>; /** * Specify the repository from which to fetch the Gitea Pull requests. */ gitea?: pulumi.Input; /** * Specify the repository from which to fetch the GitHub Pull requests. */ github?: pulumi.Input; /** * Specify the project from which to fetch the GitLab merge requests. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 30min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServer { /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; /** * Repo name to scan. */ repo: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitea { /** * The Gitea API URL to talk to. */ api: pulumi.Input; /** * Allow insecure tls, for self-signed certificates; default: false. */ insecure?: pulumi.Input; /** * Gitea org or user to scan. */ owner: pulumi.Input; /** * Gitea repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGithub { /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret with permission to access pull requests. */ appSecretName?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitHub org or user to scan. */ owner: pulumi.Input; /** * GitHub repo name to scan. */ repo: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitlab { /** * The GitLab API URL to talk to. If blank, uses https://gitlab.com/. */ api?: pulumi.Input; /** * Labels is used to filter the PRs that you want to target. */ labels?: pulumi.Input[] | undefined>; /** * GitLab project to scan. */ project: pulumi.Input; /** * additional MRs filter to get only those with a certain state. Default: "" (all states). */ pullRequestState?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProvider { /** * Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization. */ azureDevops?: pulumi.Input; /** * Uses the Bitbucket API V2 to scan a workspace in bitbucket.org. */ bitbucketCloud?: pulumi.Input; /** * Use the Bitbucket Server API (1.0) to scan repos in a project. */ bitbucketServer?: pulumi.Input; /** * Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols. */ cloneProtocol?: pulumi.Input; /** * Filters for which repos should be considered. */ filters?: pulumi.Input[] | undefined>; /** * Gitea mode uses the Gitea API to scan organizations in your instance. */ gitea?: pulumi.Input; /** * Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise. */ github?: pulumi.Input; /** * Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab. */ gitlab?: pulumi.Input; /** * How often to check for changes (in seconds). Default: 3min. */ requeueAfterSeconds?: pulumi.Input; /** * Generator template. Used to override the values of the spec-level template. */ template?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderAzureDevops { /** * The Personal Access Token (PAT) to use when connecting. */ accessTokenRef?: pulumi.Input; /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The URL to Azure DevOps. Defaults to https://dev.azure.com. */ api?: pulumi.Input; /** * Azure Devops organization. E.g. "my-organization". */ organization: pulumi.Input; /** * Azure Devops team project. E.g. "my-team". */ teamProject: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderAzureDevopsAccessTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketCloud { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/. */ appPasswordRef?: pulumi.Input; /** * Bitbucket workspace to scan. */ owner: pulumi.Input; /** * Bitbucket user to use when authenticating. Should have a "member" role to be able to read all repositories and branches. */ user: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketCloudAppPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServer { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest. */ api: pulumi.Input; /** * Credentials for Basic auth. */ basicAuth?: pulumi.Input; /** * Project to scan. */ project: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServerBasicAuth { /** * Password (or personal access token) reference. */ passwordRef?: pulumi.Input; /** * Username for Basic auth. */ username?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServerBasicAuthPasswordRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderFilter { /** * A regex which must match the branch name. */ branchMatch?: pulumi.Input; /** * A regex which must match at least one label. */ labelMatch?: pulumi.Input; /** * An array of paths, all of which must not exist. */ pathsDoNotExists?: pulumi.Input[] | undefined>; /** * An array of paths, all of which must exist. */ pathsExists?: pulumi.Input[] | undefined>; /** * A regex for repo names. */ repositoryMatch?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitea { /** * Scan all branches instead of just the default branch. */ allBranches?: pulumi.Input; /** * The Gitea URL to talk to. For example https://gitea.mydomain.com/. */ api?: pulumi.Input; /** * Allow self-signed TLS / Certificates. */ insecure?: pulumi.Input; /** * Gitea organization or user to scan. */ owner: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGiteaTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGithub { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The GitHub API URL to talk to. Default https://api.github.com/. */ api?: pulumi.Input; /** * Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT. */ appSecretName?: pulumi.Input; /** * GitHub org to scan. */ organization: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGithubTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlab { /** * If true, scan every branch of every repository. If false, scan only the default branch. */ allBranches?: pulumi.Input; /** * The Gitlab API URL to talk to. */ api?: pulumi.Input; /** * Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances. */ caRef?: pulumi.Input; /** * Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path. */ group: pulumi.Input; /** * Recurse through subgroups (true) or scan only the base group (false). Defaults to `false`. */ includeSubgroups?: pulumi.Input; /** * Authentication token reference. */ tokenRef?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlabCaRef { /** * Name of Kubernetes `ConfigMap`. */ configMapName: pulumi.Input; /** * Key containing information in Kubernetes `ConfigMap`. */ key: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlabTokenRef { /** * Key containing information in Kubernetes `Secret`. */ key: pulumi.Input; /** * Name of Kubernetes `Secret`. */ secretName: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplate { /** * Kubernetes object metadata for templated Application. */ metadata?: pulumi.Input; /** * The application specification. */ spec?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name?: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination?: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source?: pulumi.Input[] | undefined>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl?: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecGeneratorSelector { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of `matchExpressions`, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed. */ matchLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecGeneratorSelectorMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecIgnoreApplicationDifference { /** * jq path to ignore differences */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * Json pointers to ignore differences */ jsonPointers?: pulumi.Input[] | undefined>; /** * name */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecStrategy { /** * Strategy allowing you to group Applications by labels present on the generated Application resources. When the ApplicationSet changes, the changes will be applied to each group of Application resources sequentially. */ rollingSyncs?: pulumi.Input[] | undefined>; /** * Type of progressive sync. */ type: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecStrategyRollingSync { /** * Configuration used to define which applications to include in each stage of the rolling sync. All Applications in each group must become Healthy before the ApplicationSet controller will proceed to update the next group of Applications. */ steps: pulumi.Input[]>; } interface GitopsApplicationsetApplicationsetSpecStrategyRollingSyncStep { /** * A list of label selector requirements. The requirements are ANDed. */ matchExpressions?: pulumi.Input[] | undefined>; /** * Maximum number of simultaneous Application updates in a group. Supports both integer and percentage string values (rounds down, but floored at 1 Application for >0%). Default is 100%, unbounded. */ maxUpdate?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecStrategyRollingSyncStepMatchExpression { /** * The label key that the selector applies to. */ key?: pulumi.Input; /** * A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`. */ operator?: pulumi.Input; /** * An array of string values. If the operator is `In` or `NotIn`, the values array must be non-empty. If the operator is `Exists` or `DoesNotExist`, the values array must be empty. This array is replaced during a strategic merge patch. */ values?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecSyncPolicy { /** * Represents the policy applied on the generated applications. Possible values are create-only, create-update, create-delete, and sync. */ applicationsSync?: pulumi.Input; /** * If true, prevents an Application's child resources from being deleted when the parent Application is deleted. */ preserveResourcesOnDeletion?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplate { /** * Kubernetes object metadata for templated Application. */ metadata: pulumi.Input; /** * The application specification. */ spec: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateMetadata { /** * An unstructured key value map that may be used to store arbitrary metadata for the resulting Application. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of finalizers to apply to the resulting Application. */ finalizers?: pulumi.Input[] | undefined>; /** * Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Name of the resulting Application */ name: pulumi.Input; /** * Namespace of the resulting Application */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpec { /** * Reference to the Kubernetes server and namespace in which the application will be deployed. */ destination: pulumi.Input; /** * Resources and their fields which should be ignored during comparison. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/diffing/#application-level-configuration. */ ignoreDifferences?: pulumi.Input[] | undefined>; /** * List of information (URLs, email addresses, and plain text) that relates to the application. */ infos?: pulumi.Input[] | undefined>; /** * The project the application belongs to. */ project?: pulumi.Input; /** * Limits the number of items kept in the application's revision history, which is used for informational purposes as well as for rollbacks to previous versions. This should only be changed in exceptional circumstances. Setting to zero will store no history. This will reduce storage used. Increasing will increase the space used to store the history, so we do not recommend increasing it. Default is 10. */ revisionHistoryLimit?: pulumi.Input; /** * Location of the application's manifests or chart. */ source: pulumi.Input[]>; /** * Location of the application's manifests or chart. Use when specifying multiple fields */ sources?: pulumi.Input[] | undefined>; /** * Controls when and how a sync will be performed. */ syncPolicy?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecDestination { /** * Name of the target cluster. Can be used instead of `server`. */ name?: pulumi.Input; /** * Target namespace for the application's resources. The namespace will only be set for namespace-scoped resources that have not set a value for .metadata.namespace. */ namespace?: pulumi.Input; /** * URL of the target cluster and must be set to the Kubernetes control plane API. */ server?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecIgnoreDifference { /** * The Kubernetes resource Group to match for. */ group?: pulumi.Input; /** * List of JQ path expression strings targeting the field(s) to ignore. */ jqPathExpressions?: pulumi.Input[] | undefined>; /** * List of JSONPaths strings targeting the field(s) to ignore. */ jsonPointers?: pulumi.Input[] | undefined>; /** * The Kubernetes resource Kind to match for. */ kind?: pulumi.Input; /** * The Kubernetes resource Name to match for. */ name?: pulumi.Input; /** * The Kubernetes resource Namespace to match for. */ namespace?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecInfo { /** * Name of the information. */ name?: pulumi.Input; /** * Value of the information. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSource { /** * Helm chart name. Must be specified for applications sourced from a Helm repo. */ chart?: pulumi.Input; /** * Path/directory specific options. */ directory?: pulumi.Input; /** * Helm specific options. */ helm?: pulumi.Input; /** * Kustomize specific options. */ kustomize?: pulumi.Input; /** * Directory path within the repository. Only valid for applications sourced from Git. */ path?: pulumi.Input; /** * Config management plugin specific options. */ plugin?: pulumi.Input; /** * Reference to another `source` within defined sources. See associated documentation on [Helm value files from external Git repository](https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/#helm-value-files-from-external-git-repository) regarding combining `ref` with `path` and/or `chart`. */ ref?: pulumi.Input; /** * URL to the repository (Git or Helm) that contains the application manifests. */ repoUrl: pulumi.Input; /** * Revision of the source to sync the application to. In case of Git, this can be commit, tag, or branch. If omitted, will equal to HEAD. In case of Helm, this is a semver tag for the Chart's version. */ targetRevision?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectory { /** * Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the `include` field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}' */ exclude?: pulumi.Input; /** * Glob pattern to match paths against that should be explicitly included during manifest generation. If this field is set, only matching manifests will be included. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{*.yml,*.yaml}' */ include?: pulumi.Input; /** * Jsonnet specific options. */ jsonnet?: pulumi.Input; /** * Whether to scan a directory recursively for manifests. */ recurse?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnet { /** * List of Jsonnet External Variables. */ extVars?: pulumi.Input[] | undefined>; /** * Additional library search dirs. */ libs?: pulumi.Input[] | undefined>; /** * List of Jsonnet Top-level Arguments */ tlas?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnetExtVar { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnetTla { /** * Determines whether the variable should be evaluated as jsonnet code or treated as string. */ code?: pulumi.Input; /** * Name of Jsonnet variable. */ name?: pulumi.Input; /** * Value of Jsonnet variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelm { /** * File parameters for the helm template. */ fileParameters?: pulumi.Input[] | undefined>; /** * Prevents 'helm template' from failing when `valueFiles` do not exist locally by not appending them to 'helm template --values'. */ ignoreMissingValueFiles?: pulumi.Input; /** * Helm parameters which are passed to the helm template command upon manifest generation. */ parameters?: pulumi.Input[] | undefined>; /** * If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains. */ passCredentials?: pulumi.Input; /** * Helm release name. If omitted it will use the application name. */ releaseName?: pulumi.Input; /** * Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)). */ skipCrds?: pulumi.Input; /** * Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation */ skipSchemaValidation?: pulumi.Input; /** * Indicates if to skip tests during helm template. Corresponds to helm --skip-tests */ skipTests?: pulumi.Input; /** * List of Helm value files to use when generating a template. */ valueFiles?: pulumi.Input[] | undefined>; /** * Helm values to be passed to 'helm template', typically defined as a block. */ values?: pulumi.Input; /** * Helm values to be passed to 'helm template', typically defined as a block. */ valuesObject?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Helm version to use for templating (either "2" or "3"). */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelmFileParameter { /** * Name of the Helm parameter. */ name: pulumi.Input; /** * Path to the file containing the values for the Helm parameter. */ path: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelmParameter { /** * Determines whether to tell Helm to interpret booleans and numbers as strings. */ forceString?: pulumi.Input; /** * Name of the Helm parameter. */ name?: pulumi.Input; /** * Value of the Helm parameter. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSourceKustomize { /** * List of additional annotations to add to rendered manifests. */ commonAnnotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * List of additional labels to add to rendered manifests. */ commonLabels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Indicates if to force applying common annotations to resources for kustomize apps. */ forceCommonAnnotations?: pulumi.Input; /** * Indicates if to force apply common labels to resources for kustomize apps. */ forceCommonLabels?: pulumi.Input; /** * List of Kustomize image override specifications. */ images?: pulumi.Input[] | undefined>; /** * Prefix appended to resources for Kustomize apps. */ namePrefix?: pulumi.Input; /** * Suffix appended to resources for Kustomize apps. */ nameSuffix?: pulumi.Input; /** * Override the namespace of the Kustomize application. */ namespace?: pulumi.Input; /** * Version of Kustomize to use for rendering manifests. */ version?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSourcePlugin { /** * Environment variables passed to the plugin. */ envs?: pulumi.Input[] | undefined>; /** * Name of the plugin. Only set the plugin name if the plugin is defined in `argocd-cm`. If the plugin is defined as a sidecar, omit the name. The plugin will be automatically matched with the Application according to the plugin's discovery rules. */ name?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSourcePluginEnv { /** * Name of the environment variable. */ name?: pulumi.Input; /** * Value of the environment variable. */ value?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicy { /** * Whether to automatically keep an application synced to the target revision. */ automated?: pulumi.Input; /** * Controls metadata in the given namespace (if `CreateNamespace=true`). */ managedNamespaceMetadata?: pulumi.Input; /** * Controls failed sync retry behavior. */ retry?: pulumi.Input; /** * List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/. */ syncOptions?: pulumi.Input[] | undefined>; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyAutomated { /** * Allows apps have zero live resources. */ allowEmpty?: pulumi.Input; /** * Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync. */ prune?: pulumi.Input; /** * Whether to revert resources back to their desired state upon modification in the cluster. */ selfHeal?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyManagedNamespaceMetadata { /** * Annotations to apply to the namespace. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Labels to apply to the namespace. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyRetry { /** * Controls how to backoff on subsequent retries of failed syncs. */ backoff?: pulumi.Input; /** * Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed. */ limit?: pulumi.Input; } interface GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyRetryBackoff { /** * Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ duration?: pulumi.Input; /** * Factor to multiply the base duration after each failed retry. */ factor?: pulumi.Input; /** * Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. `2m`, `1h`), as a string. */ maxDuration?: pulumi.Input; } interface HarRegistryConfig { /** * Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey) */ authType?: pulumi.Input; /** * Authentication configuration for UPSTREAM registry type */ auths?: pulumi.Input[] | undefined>; /** * Dependency firewall mode for UPSTREAM registry type. Valid values: `ALLOW` (default - no policy evaluation), `ENABLED` (firewall active, artifacts scanned against policies), `QUARANTINE` (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types. */ firewallMode?: pulumi.Input; /** * Upstream source */ source?: pulumi.Input; /** * Type of registry (VIRTUAL or UPSTREAM) */ type: pulumi.Input; /** * List of upstream proxies for VIRTUAL registry type */ upstreamProxies?: pulumi.Input[] | undefined>; /** * URL of the upstream (required if type=UPSTREAM & package_type=HELM) */ url?: pulumi.Input; } interface HarRegistryConfigAuth { accessKey?: pulumi.Input; accessKeyIdentifier?: pulumi.Input; accessKeySecretPath?: pulumi.Input; /** * Type of authentication (UserPassword, Anonymous) */ authType: pulumi.Input; /** * Secret identifier for UserPassword auth type */ secretIdentifier?: pulumi.Input; secretKeyIdentifier?: pulumi.Input; secretKeySecretPath?: pulumi.Input; /** * Secret space path for UserPassword auth type */ secretSpacePath?: pulumi.Input; /** * Username for UserPassword auth type */ userName?: pulumi.Input; } interface HelmConnectorCredentials { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface IacmAnsibleInventoryDynamicGroup { /** * Configuration for the dynamic group. */ configuration?: pulumi.Input; /** * Connector identifier used by the dynamic group. */ connectorIdentifier: pulumi.Input; /** * Connector type (e.g. workspace, aws, gcp, azure, vault). */ connectorType: pulumi.Input; /** * Dynamic variables for the dynamic group. */ dynamicVars?: pulumi.Input[] | undefined>; /** * Identifier of the dynamic group. */ identifier: pulumi.Input; /** * Name of the dynamic group. */ name: pulumi.Input; /** * Variables for the dynamic group. */ vars?: pulumi.Input[] | undefined>; } interface IacmAnsibleInventoryDynamicGroupConfiguration { /** * Host address attribute. */ hostAddressAttribute?: pulumi.Input; /** * Resource type to select. */ resourceType?: pulumi.Input; /** * Resource selectors. */ selectors?: pulumi.Input[] | undefined>; } interface IacmAnsibleInventoryDynamicGroupConfigurationSelector { /** * Attribute to filter on. */ attribute: pulumi.Input; /** * Operator for the filter. */ operator: pulumi.Input; /** * Value for the filter. */ value: pulumi.Input; } interface IacmAnsibleInventoryDynamicGroupDynamicVar { /** * Filename to store the value in (used for file-backed variables). */ fileName?: pulumi.Input; /** * Key is the identifier for the variable. */ key: pulumi.Input; /** * Value of the variable. For secret value types this must be a Harness secret reference. */ value: pulumi.Input; /** * Value type. One of: string, secret. */ valueType: pulumi.Input; } interface IacmAnsibleInventoryDynamicGroupVar { /** * Filename to store the value in (used for file-backed variables). */ fileName?: pulumi.Input; /** * Key is the identifier for the variable. */ key: pulumi.Input; /** * Value of the variable. For secret value types this must be a Harness secret reference. */ value: pulumi.Input; /** * Value type. One of: string, secret. */ valueType: pulumi.Input; } interface IacmAnsibleInventoryGroup { /** * List of hosts in the group. */ hosts?: pulumi.Input[] | undefined>; /** * Identifier of the group. */ identifier: pulumi.Input; /** * Name of the group. */ name: pulumi.Input; /** * Variables for the group. */ vars?: pulumi.Input[] | undefined>; } interface IacmAnsibleInventoryGroupVar { /** * Filename to store the value in (used for file-backed variables). */ fileName?: pulumi.Input; /** * Key is the identifier for the variable. */ key: pulumi.Input; /** * Value of the variable. For secret value types this must be a Harness secret reference. */ value: pulumi.Input; /** * Value type. One of: string, secret. */ valueType: pulumi.Input; } interface IacmAnsibleInventoryPluginOptions { /** * Inline plugin inventory YAML content (when sourceType is inline). */ inlineYaml?: pulumi.Input; /** * Provider connector identifier for plugin inventory execution. */ providerConnectorIdentifier?: pulumi.Input; /** * Provider connector type. */ providerConnectorType?: pulumi.Input; /** * Git repository name (when sourceType is git). */ repository?: pulumi.Input; /** * Git branch. */ repositoryBranch?: pulumi.Input; /** * Git commit or tag. */ repositoryCommit?: pulumi.Input; /** * Repository connector reference (when sourceType is git). */ repositoryConnector?: pulumi.Input; /** * Path within the repository to the plugin inventory YAML. */ repositoryPath?: pulumi.Input; /** * Source type for plugin inventory. One of: git, inline. */ sourceType?: pulumi.Input; } interface IacmAnsibleInventoryVar { /** * Filename to store the value in (used for file-backed variables). */ fileName?: pulumi.Input; /** * Key is the identifier for the variable. */ key: pulumi.Input; /** * Value of the variable. For secret value types this must be a Harness secret reference. */ value: pulumi.Input; /** * Value type. One of: string, secret. */ valueType: pulumi.Input; } interface IacmAnsiblePlaybookEnvVar { /** * Filename to store the value in (used for file-backed variables). */ fileName?: pulumi.Input; /** * Key is the identifier for the variable. */ key: pulumi.Input; /** * Value of the variable. For secret value types this must be a Harness secret reference. */ value: pulumi.Input; /** * Value type. One of: string, secret. */ valueType: pulumi.Input; } interface IacmAnsiblePlaybookVar { /** * Filename to store the value in (used for file-backed variables). */ fileName?: pulumi.Input; /** * Key is the identifier for the variable. */ key: pulumi.Input; /** * Value of the variable. For secret value types this must be a Harness secret reference. */ value: pulumi.Input; /** * Value type. One of: string, secret. */ valueType: pulumi.Input; } interface IdpCatalogEntityGitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branchName?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for importing entity from Git To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * If the repo is a Harness Code repo */ isHarnessCodeRepo?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: pulumi.Input; } interface InfraModuleTestingTestingMetadata { /** * Account is the internal customer account ID */ account?: pulumi.Input; /** * Organization identifier */ org?: pulumi.Input; /** * Pipelines where the testing is enabled */ pipelines?: pulumi.Input[] | undefined>; /** * Project identifier */ project?: pulumi.Input; /** * Provider connector for testing purposes */ providerConnector?: pulumi.Input; /** * Provisioner type for testing purposes */ provisionerType?: pulumi.Input; /** * Provisioner version for testing purposes */ provisionerVersion?: pulumi.Input; /** * Release pipeline */ releasePipeline?: pulumi.Input; } interface InfraProviderVersion { /** * List of uploaded files for this version. */ files?: pulumi.Input[] | undefined>; /** * Whether the version is synced. */ synced?: pulumi.Input; /** * Version number. */ version?: pulumi.Input; } interface InfraVariableSetConnector { /** * Connector Ref is the reference to the connector */ connectorRef: pulumi.Input; /** * Type is the connector type of the connector. Supported types: aws, azure, gcp */ type: pulumi.Input; } interface InfraVariableSetEnvironmentVariable { /** * Key is the identifier for the variable. Must be unique within the Variable Set. */ key: pulumi.Input; /** * Value is the value of the variable. For string value types this field should contain the value of the variable. For secret value types this should contain a reference to a valid harness secret. */ value: pulumi.Input; /** * Value type indicates the value type of the variable. Currently we support string and secret. */ valueType: pulumi.Input; } interface InfraVariableSetTerraformVariable { /** * Key is the identifier for the variable. Must be unique within the Variable Set. */ key: pulumi.Input; /** * Value is the value of the variable. For string value types this field should contain the value of the variable. For secret value types this should contain a reference to a valid harness secret. */ value: pulumi.Input; /** * Value type indicates the value type of the variable. Currently we support string and secret. */ valueType: pulumi.Input; } interface InfraVariableSetTerraformVariableFile { /** * Repository is the name of the repository to fetch the code from. */ repository: pulumi.Input; /** * Repository branch is the name of the branch to fetch the variables from. This cannot be set if repository commit or sha is set */ repositoryBranch?: pulumi.Input; /** * Repository commit is tag to fetch the variables from. This cannot be set if repository branch or sha is set. */ repositoryCommit?: pulumi.Input; /** * Repository connector is the reference to the connector used to fetch the variables. */ repositoryConnector: pulumi.Input; /** * Repository path is the path in which the variables reside. */ repositoryPath?: pulumi.Input; /** * Repository commit is SHA to fetch the variables from. This cannot be set if repository branch or commit is set. */ repositorySha?: pulumi.Input; } interface InfrastructureGitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branch?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * import infrastructure from git */ importFromGit?: pulumi.Input; /** * force import infrastructure from remote even if same file path already exist */ isForceImport?: pulumi.Input; /** * If the gitProvider is HarnessCode */ isHarnesscodeRepo?: pulumi.Input; /** * If a new branch creation is requested. */ isNewBranch?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating infrastructure. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating infrastructure. */ lastObjectId?: pulumi.Input; /** * If the Entity is to be fetched from cache */ loadFromCache?: pulumi.Input; /** * If the Entity is to be fetched from fallbackBranch */ loadFromFallbackBranch?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Parent Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ parentEntityConnectorRef?: pulumi.Input; /** * Name of the repository where parent entity lies. */ parentEntityRepoName?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: pulumi.Input; } interface InputSetGitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branchName?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * If the repo is harness code. */ isHarnessCodeRepo?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: pulumi.Input; /** * Connector reference for Parent Entity (Pipeline). To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ parentEntityConnectorRef?: pulumi.Input; /** * Repository name for Parent Entity (Pipeline). */ parentEntityRepoName?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: pulumi.Input; } interface InputSetGitImportInfo { /** * Name of the branch. */ branchName?: pulumi.Input; /** * Identifier of the Harness Connector used for importing entity from Git To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; isForceImport?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; } interface InputSetInputSetImportRequest { /** * Description of the input set. */ inputSetDescription?: pulumi.Input; /** * Name of the input set. */ inputSetName?: pulumi.Input; } interface JenkinsConnectorAuth { /** * Authenticate to App Dynamics using bearer token. */ jenkinsBearerToken?: pulumi.Input; /** * Authenticate to App Dynamics using user name and password. */ jenkinsUserNamePassword?: pulumi.Input; /** * Can be one of UsernamePassword, Anonymous, Bearer Token(HTTP Header) */ type: pulumi.Input; } interface JenkinsConnectorAuthJenkinsBearerToken { /** * Reference of the token. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ tokenRef: pulumi.Input; } interface JenkinsConnectorAuthJenkinsUserNamePassword { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Username reference to use for authentication. */ usernameRef?: pulumi.Input; } interface JiraConnectorAuth { /** * Authentication types for Jira connector */ authType: pulumi.Input; /** * Authenticate using personal access token. */ personalAccessToken?: pulumi.Input; /** * Authenticate using username password. */ usernamePassword?: pulumi.Input; } interface JiraConnectorAuthPersonalAccessToken { /** * Reference to a secret containing the personal access token to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ patRef: pulumi.Input; } interface JiraConnectorAuthUsernamePassword { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface KubernetesConnectorClientKeyCert { /** * Reference to the secret containing the CA certificate for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ caCertRef?: pulumi.Input; /** * Reference to the secret containing the client certificate for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientCertRef: pulumi.Input; /** * The algorithm used to generate the client key for the connector. Valid values are RSA, EC */ clientKeyAlgorithm: pulumi.Input; /** * Reference to the secret containing the client key passphrase for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientKeyPassphraseRef?: pulumi.Input; /** * Reference to the secret containing the client key for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientKeyRef: pulumi.Input; /** * The URL of the Kubernetes cluster. */ masterUrl: pulumi.Input; } interface KubernetesConnectorInheritFromDelegate { /** * Selectors to use for the delegate. */ delegateSelectors: pulumi.Input[]>; } interface KubernetesConnectorOpenidConnect { /** * Reference to the secret containing the client ID for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientIdRef: pulumi.Input; /** * The URL of the OpenID Connect issuer. */ issuerUrl: pulumi.Input; /** * The URL of the Kubernetes cluster. */ masterUrl: pulumi.Input; /** * Reference to the secret containing the password for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Scopes to request for the connector. */ scopes?: pulumi.Input[] | undefined>; /** * Reference to the secret containing the client secret for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ secretRef?: pulumi.Input; /** * Username for the connector. */ username?: pulumi.Input; /** * Reference to the secret containing the username for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface KubernetesConnectorServiceAccount { /** * Reference to the secret containing the CA certificate for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ caCertRef?: pulumi.Input; /** * The URL of the Kubernetes cluster. */ masterUrl: pulumi.Input; /** * Reference to the secret containing the service account token for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ serviceAccountTokenRef: pulumi.Input; } interface KubernetesConnectorUsernamePassword { /** * The URL of the Kubernetes cluster. */ masterUrl: pulumi.Input; /** * Reference to the secret containing the password for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username for the connector. */ username?: pulumi.Input; /** * Reference to the secret containing the username for the connector. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface ManualFreezeCurrentOrUpcomingWindow { /** * End time of the freeze window */ endTime?: pulumi.Input; /** * Start time of the freeze window */ startTime?: pulumi.Input; } interface ManualFreezeFreezeWindow { /** * Duration of the freeze window */ duration?: pulumi.Input; /** * End Time of the freeze window */ endTime?: pulumi.Input; /** * Recurrence of the freeze window */ recurrences?: pulumi.Input[] | undefined>; /** * Start Time of the freeze window */ startTime?: pulumi.Input; /** * Time zone of the freeze window */ timeZone?: pulumi.Input; } interface ManualFreezeFreezeWindowRecurrence { /** * Used to filter resources on their attributes */ recurrenceSpecs?: pulumi.Input[] | undefined>; /** * Type of the recurrence */ type?: pulumi.Input; } interface ManualFreezeFreezeWindowRecurrenceRecurrenceSpec { /** * Time till which freeze window recurrs */ until?: pulumi.Input; /** * Every n months recurrence */ value?: pulumi.Input; } interface MonitoredServiceRequest { /** * Set of change sources for the monitored service. */ changeSources?: pulumi.Input[] | undefined>; /** * Dependencies of the monitored service. */ dependencies?: pulumi.Input[] | undefined>; /** * Description for the monitored service. */ description?: pulumi.Input; /** * Enable or disable the monitored service. * * @deprecated enabled field is deprecated */ enabled?: pulumi.Input; /** * Environment in which the service is deployed. */ environmentRef: pulumi.Input; /** * Environment reference list for the monitored service. */ environmentRefLists?: pulumi.Input[] | undefined>; /** * Set of health sources for the monitored service. */ healthSources?: pulumi.Input[] | undefined>; /** * Name for the monitored service. */ name: pulumi.Input; /** * Notification rule references for the monitored service. */ notificationRuleRefs?: pulumi.Input[] | undefined>; /** * Service reference for the monitored service. */ serviceRef: pulumi.Input; /** * Tags for the monitored service. comma-separated key value string pairs. */ tags?: pulumi.Input[] | undefined>; /** * Template reference for the monitored service. */ templateRef?: pulumi.Input; /** * Type of the monitored service. */ type: pulumi.Input; /** * Template version label for the monitored service. */ versionLabel?: pulumi.Input; } interface MonitoredServiceRequestChangeSource { /** * Category of the change source. */ category: pulumi.Input; /** * Enable or disable the change source. */ enabled?: pulumi.Input; /** * Identifier of the change source. */ identifier: pulumi.Input; /** * Name of the change source. */ name: pulumi.Input; /** * Specification of the change source. Depends on the type of the change source. */ spec?: pulumi.Input; /** * Type of the change source. */ type: pulumi.Input; } interface MonitoredServiceRequestDependency { /** * Dependency metadata for the monitored service. */ dependencyMetadata?: pulumi.Input; /** * Monitored service identifier of the dependency. */ monitoredServiceIdentifier: pulumi.Input; /** * Type of the service dependency. */ type: pulumi.Input; } interface MonitoredServiceRequestHealthSource { /** * Identifier of the health source. */ identifier: pulumi.Input; /** * Name of the health source. */ name: pulumi.Input; /** * Specification of the health source. Depends on the type of the health source. */ spec: pulumi.Input; /** * Type of the health source. */ type: pulumi.Input; /** * Version of the health source. */ version?: pulumi.Input; } interface MonitoredServiceRequestNotificationRuleRef { /** * Enable or disable notification rule reference for the monitored service. */ enabled: pulumi.Input; /** * Notification rule reference for the monitored service. */ notificationRuleRef: pulumi.Input; } interface NexusConnectorCredentials { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface NotificationRuleRequest { /** * Notification Rule conditions specification. */ conditions: pulumi.Input[]>; /** * Name for the Notification Rule. */ name: pulumi.Input; /** * Notification Method specifications. */ notificationMethod: pulumi.Input; /** * Type of the Notification Rule. */ type: pulumi.Input; } interface NotificationRuleRequestCondition { /** * Specification of the notification condition. Depends on the type of the notification condition. */ spec?: pulumi.Input; /** * Type of the condition. */ type: pulumi.Input; } interface NotificationRuleRequestNotificationMethod { /** * Specification of the notification method. Depends on the type of the notification method. */ spec?: pulumi.Input; /** * Type of the Notification Method. */ type: pulumi.Input; } interface OciHelmConnectorCredentials { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface OverridesGitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branch?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * If the repo is in harness code */ isHarnessCodeRepo?: pulumi.Input; /** * If the branch being created is new */ isNewBranch?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating override. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating override. */ lastObjectId?: pulumi.Input; /** * Load service yaml from catch */ loadFromCache?: pulumi.Input; /** * Load service yaml from fallback branch */ loadFromFallbackBranch?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: pulumi.Input; } interface PipelineCentralNotificationRuleCustomNotificationTemplateRef { templateRef: pulumi.Input; variables?: pulumi.Input[] | undefined>; versionLabel: pulumi.Input; } interface PipelineCentralNotificationRuleCustomNotificationTemplateRefVariable { name: pulumi.Input; type?: pulumi.Input; value: pulumi.Input; } interface PipelineCentralNotificationRuleNotificationCondition { conditionName: pulumi.Input; notificationEventConfigs: pulumi.Input[]>; } interface PipelineCentralNotificationRuleNotificationConditionNotificationEventConfig { entityIdentifiers?: pulumi.Input[] | undefined>; notificationEntity: pulumi.Input; /** * The pipeline event that triggers the notification. Supported values: `PIPELINE_START`, `PIPELINE_SUCCESS`, `PIPELINE_FAILED`, `STAGE_START`, `STAGE_SUCCESS`, `STAGE_FAILED`. */ notificationEvent: pulumi.Input; notificationEventDatas?: pulumi.Input[] | undefined>; } interface PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData { scopeIdentifiers?: pulumi.Input[] | undefined>; type?: pulumi.Input; } interface PipelineFiltersFilterProperties { /** * description of the pipline filter. */ description?: pulumi.Input; /** * Corresponding Entity of the filters. Currently supported types are {Connector, DelegateProfile, Delegate, PipelineSetup, PipelineExecution, Deployment, Audit, Template, EnvironmentGroup, FileStore, CCMRecommendation, Anomaly, Environment}. */ filterType: pulumi.Input; /** * module properties of the pipline filter. */ moduleProperties?: pulumi.Input; /** * Name of the pipeline filter. */ name?: pulumi.Input; /** * Pipeline identifiers to filter on. */ pipelineIdentifiers?: pulumi.Input[] | undefined>; /** * Name of the pipeline execution filter. */ pipelineName?: pulumi.Input; /** * Tags to associate with the pipeline. tags should be in the form of `{key:key1, value:key1value}` */ pipelineTags?: pulumi.Input; }>[] | undefined>; /** * Tags to associate with the resource. Tags should be in the form `name:value`. */ tags?: pulumi.Input[] | undefined>; } interface PipelineFiltersFilterPropertiesModuleProperties { /** * CD related properties to be filtered on. */ cd?: pulumi.Input; /** * CI related properties to be filtered on. */ ci?: pulumi.Input; } interface PipelineFiltersFilterPropertiesModulePropertiesCd { /** * Artifact display names of the CD pipeline. */ artifactDisplayNames?: pulumi.Input[] | undefined>; /** * Deployment type of the CD pipeline, eg. Kubernetes */ deploymentTypes?: pulumi.Input; /** * Environment identifier of the CD pipeline. */ environmentIdentifiers?: pulumi.Input[] | undefined>; /** * Environment names of the CD pipeline. */ environmentNames?: pulumi.Input[] | undefined>; /** * Deployment type of the CD pipeline, eg. Kubernetes */ serviceDefinitionTypes?: pulumi.Input; /** * Service identifiers of the CD pipeline. */ serviceIdentifiers?: pulumi.Input[] | undefined>; /** * Service names of the CD pipeline. */ serviceNames?: pulumi.Input[] | undefined>; } interface PipelineFiltersFilterPropertiesModulePropertiesCi { /** * Branch which was used while building. */ branch?: pulumi.Input; /** * Build type of the pipeline. Possible values: branch. */ buildType?: pulumi.Input; /** * CI execution info for the pipeline. */ ciExecutionInfo?: pulumi.Input; /** * name of the repository used in the pipeline. */ repoNames?: pulumi.Input; /** * Tags to associate with the CI pipeline resource. */ tag?: pulumi.Input; } interface PipelineFiltersFilterPropertiesModulePropertiesCiCiExecutionInfo { /** * Event for the ci execution, Possible values: pullRequest. */ event?: pulumi.Input; /** * The pull request details of the CI pipeline. */ pullRequest?: pulumi.Input; } interface PipelineFiltersFilterPropertiesModulePropertiesCiCiExecutionInfoPullRequest { /** * Source branch of the pull request. */ sourceBranch?: pulumi.Input; /** * Target branch of the pull request. */ targetBranch?: pulumi.Input; } interface PipelineGitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branchName?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * If the repo is harness code. */ isHarnessCodeRepo?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: pulumi.Input; } interface PipelineGitImportInfo { /** * Name of the branch. */ branchName?: pulumi.Input; /** * Identifier of the Harness Connector used for importing entity from Git To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * Force import from Git even if the file path is already imported. */ isForceImport?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; } interface PipelinePipelineImportRequest { /** * Description of the pipeline. */ pipelineDescription?: pulumi.Input; /** * Name of the pipeline. */ pipelineName?: pulumi.Input; } interface PolicySetPolicy { /** * Account Identifier of the account */ identifier: pulumi.Input; /** * Policy failure response - 'warning' for continuation, 'error' for exit */ severity: pulumi.Input; } interface PolicySetPolicyReference { /** * Unique identifier of the policy */ identifier: pulumi.Input; /** * Policy failure response - 'warning' for continuation, 'error' for exit */ severity: pulumi.Input; } interface PrometheusConnectorHeader { /** * Reference to the Harness secret containing the encrypted value. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ encryptedValueRef?: pulumi.Input; /** * Key. */ key: pulumi.Input; /** * Value. */ value?: pulumi.Input; /** * Encrypted value. */ valueEncrypted?: pulumi.Input; } interface ProviderSpec { /** * Client Id of the OAuth app to connect */ clientId?: pulumi.Input; /** * Client Secret Ref of the OAuth app to connect */ clientSecretRef?: pulumi.Input; /** * Delegate selectors to fetch the access token */ delegateSelectors?: pulumi.Input[] | undefined>; /** * Host domain of the provider. */ domain?: pulumi.Input; /** * Secret Manager Ref to store the access/refresh tokens */ secretManagerRef?: pulumi.Input; /** * The type of the provider entity. */ type: pulumi.Input; } interface RepoRuleBranchBypass { /** * Allow users with repository edit permission to bypass. */ repoOwners?: pulumi.Input; /** * List of user ids with who can bypass. */ userIds?: pulumi.Input[] | undefined>; } interface RepoRuleBranchPattern { /** * Should rule apply to default branch of the repository. */ defaultBranch?: pulumi.Input; /** * Globstar branch patterns on which rules will NOT be applied. */ excludes?: pulumi.Input[] | undefined>; /** * Globstar branch patterns on which rules will be applied. */ includes?: pulumi.Input[] | undefined>; } interface RepoRuleBranchPolicy { /** * Limit which merge strategies are available to merge a pull request(Any of squash, rebase, merge). */ allowMergeStrategies?: pulumi.Input[] | undefined>; /** * Only allow users with bypass permission to create matching branches. */ blockBranchCreation?: pulumi.Input; /** * Only allow users with bypass permission to delete matching branches. */ blockBranchDeletion?: pulumi.Input; /** * Automatically delete the source branch of a pull request after it is merged. */ deleteBranchOnMerge?: pulumi.Input; /** * Require approval on pull requests from one reviewer for each codeowner rule. */ requireCodeOwners?: pulumi.Input; /** * Require re-approval when there are new changes in the pull request. */ requireLatestCommitApproval?: pulumi.Input; /** * Require approval on pull requests from a minimum number of reviewers. */ requireMinimumApprovalCount?: pulumi.Input; /** * Require all request for changes have been resolved. */ requireNoChangeRequest?: pulumi.Input; /** * Do not allow any changes to matching branches without a pull request. */ requirePullRequest?: pulumi.Input; /** * All comments on a pull request must be resolved before it can be merged. */ requireResolveAllComments?: pulumi.Input; /** * Selected status checks must pass before a pull request can be merged. */ requireStatusChecks?: pulumi.Input[] | undefined>; } interface RepoSource { /** * The host URL for the import source. */ host?: pulumi.Input; /** * The password for authentication when importing. */ password?: pulumi.Input; /** * The full identifier of the repository on the SCM provider's platform. */ repo?: pulumi.Input; /** * The type of SCM provider (github, gitlab, bitbucket, stash, gitea, gogs) when importing. */ type?: pulumi.Input; /** * The username for authentication when importing. */ username?: pulumi.Input; } interface ResourceGroupIncludedScope { /** * Account Identifier of the account */ accountId?: pulumi.Input; /** * Can be one of these 2 EXCLUDING_CHILD_SCOPES or INCLUDING_CHILD_SCOPES */ filter: pulumi.Input; /** * Organization Identifier */ orgId?: pulumi.Input; /** * Project Identifier */ projectId?: pulumi.Input; } interface ResourceGroupResourceFilter { /** * Include all resource or not */ includeAllResources?: pulumi.Input; /** * Resources for a resource group */ resources?: pulumi.Input[] | undefined>; } interface ResourceGroupResourceFilterResource { /** * Used to filter resources on their attributes */ attributeFilters?: pulumi.Input[] | undefined>; /** * List of the identifiers */ identifiers?: pulumi.Input[] | undefined>; /** * Type of the resource */ resourceType: pulumi.Input; } interface ResourceGroupResourceFilterResourceAttributeFilter { /** * Name of the attribute. Valid values are `category`, `type`, `labels`, `tag` or `tags`. */ attributeName?: pulumi.Input; /** * Value of the attributes.Valid values for `category` are [ARTIFACTORY,CLOUD_COST,CLOUD_PROVIDER,CODE_REPO,MONITORING,SECRET_MANAGER,TICKETING], for `type` are [Production,PreProduction], for `labels`, it can be using the syntax 'label:value', for `tag` or `tags` it can be any string. */ attributeValues?: pulumi.Input[] | undefined>; } interface RoleAssignmentsPrincipal { /** * Identifier. */ identifier?: pulumi.Input; /** * Scope level. Valid values are 'account', 'organization', or 'project'. */ scopeLevel?: pulumi.Input; /** * Type. */ type: pulumi.Input; } interface RoleAssignmentsRoleReference { /** * Identifier. */ identifier?: pulumi.Input; /** * Scope level. Valid values are 'account', 'organization', or 'project'. */ scopeLevel?: pulumi.Input; } interface SecretFileAdditionalMetadata { values?: pulumi.Input[] | undefined>; } interface SecretFileAdditionalMetadataValue { /** * GCP Project ID (for GCP Secret Manager) */ gcpProjectId?: pulumi.Input; /** * KMS Key ID (for AWS Secret Manager) */ kmsKeyId?: pulumi.Input; /** * GCP region for the secret (for GCP Secret Manager) */ regions?: pulumi.Input; /** * Version of the secret (for AWS/Azure Secret Manager) */ version?: pulumi.Input; } interface SecretSshkeyKerberos { /** * Username to use for authentication. */ principal: pulumi.Input; /** * Reference to a secret containing the password to use for authentication. */ realm: pulumi.Input; /** * Method to generate tgt */ tgtGenerationMethod?: pulumi.Input; /** * Authenticate to App Dynamics using username and password. */ tgtKeyTabFilePathSpec?: pulumi.Input; /** * Authenticate to App Dynamics using username and password. */ tgtPasswordSpec?: pulumi.Input; } interface SecretSshkeyKerberosTgtKeyTabFilePathSpec { /** * key path */ keyPath?: pulumi.Input; } interface SecretSshkeyKerberosTgtPasswordSpec { /** * password. To reference a password at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a password at the account scope, prefix 'account` to the expression: account.{identifier} */ password?: pulumi.Input; } interface SecretSshkeySsh { /** * This specifies SSH credential type as Password, KeyPath or KeyReference */ credentialType: pulumi.Input; /** * SSH credential of type keyReference */ sshPasswordCredential?: pulumi.Input; /** * SSH credential of type keyPath */ sshkeyPathCredential?: pulumi.Input; /** * SSH credential of type keyReference */ sshkeyReferenceCredential?: pulumi.Input; } interface SecretSshkeySshSshPasswordCredential { /** * SSH Password. To reference a password at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a password at the account scope, prefix 'account` to the expression: account.{identifier} */ password: pulumi.Input; /** * SSH Username. */ userName: pulumi.Input; } interface SecretSshkeySshSshkeyPathCredential { /** * Encrypted Passphrase . To reference a encryptedPassphrase at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a encryptedPassPhrase at the account scope, prefix 'account` to the expression: account.{identifier} */ encryptedPassphrase?: pulumi.Input; /** * Path of the key file. */ keyPath: pulumi.Input; /** * SSH Username. */ userName: pulumi.Input; } interface SecretSshkeySshSshkeyReferenceCredential { /** * Encrypted Passphrase. To reference a encryptedPassphrase at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a encryptedPassPhrase at the account scope, prefix 'account` to the expression: account.{identifier} */ encryptedPassphrase?: pulumi.Input; /** * SSH key. To reference a key at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a key at the account scope, prefix 'account` to the expression: account.{identifier} */ key: pulumi.Input; /** * SSH Username. */ userName: pulumi.Input; } interface SecretTextAdditionalMetadata { values?: pulumi.Input[] | undefined>; } interface SecretTextAdditionalMetadataValue { /** * GCP Project ID (for GCP Secret Manager) */ gcpProjectId?: pulumi.Input; /** * KMS Key ID (for AWS Secret Manager) */ kmsKeyId?: pulumi.Input; /** * GCP region for the secret (for GCP Secret Manager) */ regions?: pulumi.Input; /** * Version of the secret (for AWS/Azure Secret Manager) */ version?: pulumi.Input; } interface SecretWinrmKerberos { /** * Kerberos principal. */ principal: pulumi.Input; /** * Kerberos realm. */ realm: pulumi.Input; /** * Skip certificate verification. */ skipCertCheck?: pulumi.Input; /** * Method to generate TGT (Ticket Granting Ticket). */ tgtGenerationMethod?: pulumi.Input; /** * TGT generation using key tab file. */ tgtKeyTabFilePathSpec?: pulumi.Input; /** * TGT generation using password. */ tgtPasswordSpec?: pulumi.Input; /** * Use no profile. */ useNoProfile?: pulumi.Input; /** * Use SSL/TLS for WinRM communication. */ useSsl?: pulumi.Input; } interface SecretWinrmKerberosTgtKeyTabFilePathSpec { /** * Path to the key tab file. */ keyPath: pulumi.Input; } interface SecretWinrmKerberosTgtPasswordSpec { /** * Reference to a secret containing the password. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account' to the expression: account.{identifier}. */ passwordRef: pulumi.Input; } interface SecretWinrmNtlm { /** * Domain name for NTLM authentication. */ domain?: pulumi.Input; /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account' to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Skip certificate verification. */ skipCertCheck?: pulumi.Input; /** * Use no profile. */ useNoProfile?: pulumi.Input; /** * Use SSL/TLS for WinRM communication. */ useSsl?: pulumi.Input; /** * Username to use for authentication. */ username: pulumi.Input; } interface ServiceGitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branch?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * If the repo is harness code */ isHarnessCodeRepo?: pulumi.Input; /** * If the branch being created is new */ isNewBranch?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: pulumi.Input; /** * Load service yaml from catch */ loadFromCache?: pulumi.Input; /** * Load service yaml from fallback branch */ loadFromFallbackBranch?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: pulumi.Input; } interface ServiceNowConnectorAuth { /** * Authenticate using adfs client credentials with certificate. */ adfs?: pulumi.Input; /** * Authentication types for Jira connector */ authType: pulumi.Input; /** * Authenticate using refresh token grant type. */ refreshToken?: pulumi.Input; /** * Authenticate using username password. */ usernamePassword?: pulumi.Input; } interface ServiceNowConnectorAuthAdfs { /** * asdf URL. */ adfsUrl: pulumi.Input; /** * Reference to a secret containing the certificate to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ certificateRef: pulumi.Input; /** * Reference to a secret containing the clientIdRef to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientIdRef: pulumi.Input; /** * Reference to a secret containing the privateKeyRef to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ privateKeyRef: pulumi.Input; /** * Reference to a secret containing the resourceIdRef to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ resourceIdRef: pulumi.Input; } interface ServiceNowConnectorAuthRefreshToken { /** * Reference to a secret containing the client id to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientIdRef: pulumi.Input; /** * Reference to a secret containing the client secret to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ clientSecretRef?: pulumi.Input; /** * Reference to a secret containing the refresh token to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ refreshTokenRef: pulumi.Input; /** * Scope string to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ scope?: pulumi.Input; /** * Token url to use for authentication. */ tokenUrl: pulumi.Input; } interface ServiceNowConnectorAuthUsernamePassword { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface ServiceOverridesV2GitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branch?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * If the repo is in harness code */ isHarnessCodeRepo?: pulumi.Input; /** * If the branch being created is new */ isNewBranch?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating override. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating override. */ lastObjectId?: pulumi.Input; /** * Load service yaml from catch */ loadFromCache?: pulumi.Input; /** * Load service yaml from fallback branch */ loadFromFallbackBranch?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. */ storeType?: pulumi.Input; } interface SloRequest { /** * Description for the SLO. */ description?: pulumi.Input; /** * Name for the SLO. */ name: pulumi.Input; /** * Notification rule references for the SLO. */ notificationRuleRefs?: pulumi.Input[] | undefined>; /** * SLO Target specification. */ sloTarget: pulumi.Input; /** * Specification of the SLO. */ spec: pulumi.Input; /** * Tags for the SLO. comma-separated key value string pairs. */ tags?: pulumi.Input[] | undefined>; /** * Type of the SLO. */ type: pulumi.Input; /** * User journey reference list for the SLO. */ userJourneyRefs: pulumi.Input[]>; } interface SloRequestNotificationRuleRef { /** * Enable or disable notification rule reference for the SLO. */ enabled: pulumi.Input; /** * Notification rule reference for the SLO. */ notificationRuleRef: pulumi.Input; } interface SloRequestSloTarget { /** * Target percentage for the SLO. */ sloTargetPercentage: pulumi.Input; /** * Specification of the SLO Target. */ spec: pulumi.Input; /** * Type of the SLO target. */ type: pulumi.Input; } interface SplunkConnectorBearerToken { /** * Reference to the Harness secret containing the Splunk bearer token. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ bearerTokenRef: pulumi.Input; } interface SplunkConnectorHecToken { /** * Reference to the Harness secret containing the Splunk HEC token. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ hecTokenRef: pulumi.Input; } interface SplunkConnectorNoAuthentication { } interface SplunkConnectorUsernamePassword { /** * Reference to a secret containing the password to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Username to use for authentication. */ username: pulumi.Input; } interface SpotConnectorPermanentToken { /** * Reference to the Harness secret containing the permanent api token. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ apiTokenRef: pulumi.Input; /** * Connect only using delegates with these tags. */ delegateSelectors?: pulumi.Input[] | undefined>; /** * Execute on delegate or not. */ executeOnDelegate?: pulumi.Input; /** * Spot account id. */ spotAccountId?: pulumi.Input; /** * Reference to the Harness secret containing the spot account id. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ spotAccountIdRef?: pulumi.Input; } interface TasConnectorCredentials { /** * Authenticate to Tas using manual details. */ tasManualDetails: pulumi.Input; /** * Type can be ManualConfig. */ type: pulumi.Input; } interface TasConnectorCredentialsTasManualDetails { /** * URL of the Tas server. */ endpointUrl: pulumi.Input; /** * Reference of the secret for the password. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ passwordRef: pulumi.Input; /** * Reference token for authentication. */ referenceToken?: pulumi.Input; /** * Username to use for authentication. */ username?: pulumi.Input; /** * Reference to a secret containing the username to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ usernameRef?: pulumi.Input; } interface TemplateFiltersFilterProperties { /** * Corresponding Entity of the filters. Currently supported types are {TemplateSetup, TemplateExecution, Template}. */ filterType: pulumi.Input; /** * Tags to associate with the resource. Tags should be in the form `name:value`. */ tags?: pulumi.Input[] | undefined>; } interface TemplateGitDetails { /** * Name of the default branch (this checks out a new branch titled by branch_name). */ baseBranch?: pulumi.Input; /** * Name of the branch. */ branchName?: pulumi.Input; /** * Commit message used for the merge commit. */ commitMessage?: pulumi.Input; /** * Identifier of the Harness Connector used for CRUD operations on the Entity. To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; /** * Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline. */ lastCommitId?: pulumi.Input; /** * Last object identifier (for Github). To be provided only when updating Pipeline. */ lastObjectId?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; /** * Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE. Important: If your Harness account has the default store type configured as REMOTE (via account-level Git Experience settings), you must explicitly set this field to INLINE within a git*details block to create inline templates. Omitting git*details or this field will cause the server to apply the account default (REMOTE), which will fail unless all required remote Git fields are also provided. */ storeType?: pulumi.Input; } interface TemplateGitImportDetails { /** * Name of the branch. */ branchName?: pulumi.Input; /** * Identifier of the Harness Connector used for importing entity from Git To reference a connector at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a connector at the account scope, prefix 'account` to the expression: account.{identifier}. */ connectorRef?: pulumi.Input; /** * File path of the Entity in the repository. */ filePath?: pulumi.Input; isForceImport?: pulumi.Input; /** * Name of the repository. */ repoName?: pulumi.Input; } interface TemplateTemplateImportRequest { /** * Description of the template. */ templateDescription?: pulumi.Input; /** * Name of the template. */ templateName?: pulumi.Input; /** * Version of the template. */ templateVersion?: pulumi.Input; } interface TerraformCloudConnectorCredentials { /** * API token credentials to use for authentication. */ apiToken: pulumi.Input; } interface TerraformCloudConnectorCredentialsApiToken { /** * Reference to a secret containing the API token to use for authentication. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}. */ apiTokenRef: pulumi.Input; } interface UserRoleBinding { /** * Managed Role of the user. */ managedRole?: pulumi.Input; /** * Resource Group Identifier of the user. */ resourceGroupIdentifier?: pulumi.Input; /** * Resource Group Name of the user. */ resourceGroupName?: pulumi.Input; /** * Role Identifier of the user. */ roleIdentifier?: pulumi.Input; /** * Role Name Identifier of the user. */ roleName?: pulumi.Input; } interface UsergroupNotificationConfig { /** * Group email. */ groupEmail?: pulumi.Input; /** * Url of Microsoft teams webhook. */ microsoftTeamsWebhookUrl?: pulumi.Input; /** * Pager duty key. */ pagerDutyKey?: pulumi.Input; /** * Send email to all the group members. */ sendEmailToAllUsers?: pulumi.Input; /** * Url of slack webhook. */ slackWebhookUrl?: pulumi.Input; /** * Can be one of EMAIL, SLACK, PAGERDUTY, MSTEAMS. */ type?: pulumi.Input; } interface VariablesSpec { /** * FixedValue of the variable */ fixedValue: pulumi.Input; /** * Type of Value of the Variable. For now only FIXED is supported */ valueType: pulumi.Input; } interface WorkspaceConnector { /** * Connector Ref is the reference to the connector */ connectorRef: pulumi.Input; /** * Type is the connector type of the connector. Supported types: aws, azure, gcp, vault */ type: pulumi.Input; } interface WorkspaceEnvironmentVariable { /** * Key is the identifier for the variable. Must be unique within the workspace. */ key: pulumi.Input; /** * Value is the value of the variable. For string value types this field should contain the value of the variable. For secret value types this should contain a reference to a valid harness secret. */ value: pulumi.Input; /** * Value type indicates the value type of the variable. Currently we support string and secret. */ valueType: pulumi.Input; } interface WorkspaceProvisionerConfig { /** * Programming language for AWS CDK (e.g., python, typescript) */ language: pulumi.Input; /** * Version of the programming language (e.g., 3.12 for Python) */ languageVersion: pulumi.Input; /** * Package manager to use (e.g., pip, npm) */ packageManager: pulumi.Input; /** * Version of the package manager (e.g., 25.3 for pip) */ packageManagerVersion: pulumi.Input; } interface WorkspaceTerraformVariable { /** * Key is the identifier for the variable. Must be unique within the workspace. */ key: pulumi.Input; /** * Value is the value of the variable. For string value types this field should contain the value of the variable. For secret value types this should contain a reference to a valid harness secret. */ value: pulumi.Input; /** * Value type indicates the value type of the variable. Currently we support string and secret. */ valueType: pulumi.Input; } interface WorkspaceTerraformVariableFile { /** * Repository is the name of the repository to fetch the code from. */ repository: pulumi.Input; /** * Repository branch is the name of the branch to fetch the variables from. This cannot be set if repository commit or sha is set */ repositoryBranch?: pulumi.Input; /** * Repository commit is tag to fetch the variables from. This cannot be set if repository branch or sha is set. */ repositoryCommit?: pulumi.Input; /** * Repository connector is the reference to the connector used to fetch the variables. */ repositoryConnector: pulumi.Input; /** * Repository path is the path in which the variables reside. */ repositoryPath?: pulumi.Input; /** * Repository commit is SHA to fetch the variables from. This cannot be set if repository branch or commit is set. */ repositorySha?: pulumi.Input; } } export declare namespace service { interface AmiVariable { /** * Name of the variable */ name: pulumi.Input; /** * Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT' */ type: pulumi.Input; /** * Value of the variable */ value: pulumi.Input; } interface CodedeployVariable { /** * Name of the variable */ name: pulumi.Input; /** * Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT' */ type: pulumi.Input; /** * Value of the variable */ value: pulumi.Input; } interface DiscoveryAgentConfig { /** * Docker image for the collector. */ collectorImage?: pulumi.Input; /** * Data collection configuration. */ datas?: pulumi.Input[] | undefined>; /** * List of image pull secrets. */ imagePullSecrets?: pulumi.Input[] | undefined>; /** * Kubernetes-specific configuration. */ kubernetes: pulumi.Input[]>; /** * Docker image for the log watcher. */ logWatcherImage?: pulumi.Input; /** * mTLS configuration. */ mtls?: pulumi.Input[] | undefined>; /** * Proxy configuration. */ proxies?: pulumi.Input[] | undefined>; /** * Whether to skip TLS verification. */ skipSecureVerify?: pulumi.Input; } interface DiscoveryAgentConfigData { /** * List of namespaces to exclude from discovery. */ blacklistedNamespaces?: pulumi.Input[] | undefined>; /** * Collection window in minutes. */ collectionWindowInMin?: pulumi.Input; /** * Cron schedule for data collection. */ crons?: pulumi.Input[] | undefined>; /** * Whether to enable batch resources. */ enableBatchResources?: pulumi.Input; /** * Whether to enable node agent. */ enableNodeAgent?: pulumi.Input; /** * Whether to enable orphaned pod detection. */ enableOrphanedPod?: pulumi.Input; /** * Namespace selector for the agent. */ namespaceSelector?: pulumi.Input; /** * Node selector for the node agent. */ nodeAgentSelector?: pulumi.Input; /** * List of namespaces to observe. */ observedNamespaces?: pulumi.Input[] | undefined>; } interface DiscoveryAgentConfigDataCron { /** * Cron expression for scheduling. */ expression?: pulumi.Input; } interface DiscoveryAgentConfigKubernete { /** * Annotations to add to all resources. */ annotations?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Whether to disable namespace creation. */ disableNamespaceCreation?: pulumi.Input; /** * The image pull policy. */ imagePullPolicy?: pulumi.Input; /** * Labels to add to all resources. */ labels?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Kubernetes namespace to use */ namespace: pulumi.Input; /** * Whether the agent is namespaced. */ namespaced?: pulumi.Input; /** * Node selector labels. */ nodeSelector?: pulumi.Input<{ [key: string]: pulumi.Input; } | undefined>; /** * Compute resource requirements for the agent container. */ resources?: pulumi.Input[] | undefined>; /** * The group ID to run as. */ runAsGroup?: pulumi.Input; /** * The user ID to run as. */ runAsUser?: pulumi.Input; /** * Service account to use */ serviceAccount?: pulumi.Input; /** * Tolerations for pod assignment. */ tolerations?: pulumi.Input[] | undefined>; } interface DiscoveryAgentConfigKuberneteResource { /** * Maximum amount of compute resources allowed. */ limits?: pulumi.Input[] | undefined>; /** * Minimum amount of compute resources required. */ requests?: pulumi.Input[] | undefined>; } interface DiscoveryAgentConfigKuberneteResourceLimit { /** * CPU limit in CPU units (e.g., 500m = 0.5 CPU, 2 = 2 CPUs). */ cpu?: pulumi.Input; /** * Memory limit in bytes (e.g., 128Mi, 1Gi). */ memory?: pulumi.Input; } interface DiscoveryAgentConfigKuberneteResourceRequest { /** * CPU request in CPU units (e.g., 100m = 0.1 CPU). */ cpu?: pulumi.Input; /** * Memory request in bytes (e.g., 128Mi, 1Gi). */ memory?: pulumi.Input; } interface DiscoveryAgentConfigKuberneteToleration { /** * Effect indicates the taint effect to match. */ effect: pulumi.Input; /** * The taint key that the toleration applies to. */ key: pulumi.Input; /** * Operator represents a key's relationship to the value. */ operator: pulumi.Input; /** * TolerationSeconds represents the period of time the toleration tolerates the taint. */ tolerationSeconds?: pulumi.Input; /** * The taint value the toleration matches to. */ value?: pulumi.Input; } interface DiscoveryAgentConfigMtl { /** * Path to the certificate file. */ certPath?: pulumi.Input; /** * Path to the key file. */ keyPath?: pulumi.Input; /** * Name of the Kubernetes secret containing the certificate and key. */ secretName?: pulumi.Input; /** * URL of the mTLS server. */ url?: pulumi.Input; } interface DiscoveryAgentConfigProxy { /** * HTTP proxy URL. */ httpProxy?: pulumi.Input; /** * HTTPS proxy URL. */ httpsProxy?: pulumi.Input; /** * Comma-separated list of hosts that should not use the proxy. */ noProxy?: pulumi.Input; /** * Proxy server URL. */ url?: pulumi.Input; } interface DiscoveryAgentInstallationDetail { /** * The account identifier for the installation. */ accountIdentifier?: pulumi.Input; /** * Details about the installed agent. */ agentDetails?: pulumi.Input[] | undefined>; /** * The ID of the installed agent. */ agentId?: pulumi.Input; /** * The timestamp when the installation was created. */ createdAt?: pulumi.Input; /** * The user who created the installation. */ createdBy?: pulumi.Input; /** * The ID of the delegate used for installation. */ delegateId?: pulumi.Input; /** * The ID of the delegate task for the installation. */ delegateTaskId?: pulumi.Input; /** * The status of the delegate task (e.g., 'SUCCESS'). */ delegateTaskStatus?: pulumi.Input; /** * The environment identifier for the installation. */ environmentIdentifier?: pulumi.Input; /** * The unique identifier of the installation. */ id?: pulumi.Input; /** * Whether the installation was triggered by a cron job. */ isCronTriggered?: pulumi.Input; /** * The timestamp when the log stream was created. */ logStreamCreatedAt?: pulumi.Input; /** * The ID of the log stream for the installation. */ logStreamId?: pulumi.Input; /** * The organization identifier for the installation. */ organizationIdentifier?: pulumi.Input; /** * The project identifier for the installation. */ projectIdentifier?: pulumi.Input; /** * Whether the installation has been removed. */ removed?: pulumi.Input; /** * Whether the installation has been stopped. */ stopped?: pulumi.Input; /** * The timestamp when the installation was last updated. */ updatedAt?: pulumi.Input; /** * The user who last updated the installation. */ updatedBy?: pulumi.Input; } interface DiscoveryAgentInstallationDetailAgentDetail { /** * Details about the cluster where the agent is installed. */ clusters?: pulumi.Input[] | undefined>; /** * The status of the agent installation. */ status?: pulumi.Input; } interface DiscoveryAgentInstallationDetailAgentDetailCluster { /** * The name of the cluster. */ name?: pulumi.Input; /** * The namespace where the agent is installed. */ namespace?: pulumi.Input; /** * The status of the cluster (e.g., 'Succeeded'). */ status?: pulumi.Input; /** * The UID of the cluster. */ uid?: pulumi.Input; } interface DiscoverySettingImageRegistry { /** * The account name for the image registry. */ account: pulumi.Input; /** * List of secrets for the image registry. */ secrets?: pulumi.Input[] | undefined>; /** * The server URL for the image registry. */ server: pulumi.Input; } interface EcsVariable { /** * Name of the variable */ name: pulumi.Input; /** * Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT' */ type: pulumi.Input; /** * Value of the variable */ value: pulumi.Input; } interface HelmVariable { /** * Name of the variable */ name: pulumi.Input; /** * Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT' */ type: pulumi.Input; /** * Value of the variable */ value: pulumi.Input; } interface KubernetesVariable { /** * Name of the variable */ name: pulumi.Input; /** * Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT' */ type: pulumi.Input; /** * Value of the variable */ value: pulumi.Input; } interface LambdaVariable { /** * Name of the variable */ name: pulumi.Input; /** * Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT' */ type: pulumi.Input; /** * Value of the variable */ value: pulumi.Input; } interface SshVariable { /** * Name of the variable */ name: pulumi.Input; /** * Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT' */ type: pulumi.Input; /** * Value of the variable */ value: pulumi.Input; } interface TanzuVariable { /** * Name of the variable */ name: pulumi.Input; /** * Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT' */ type: pulumi.Input; /** * Value of the variable */ value: pulumi.Input; } interface WinrmVariable { /** * Name of the variable */ name: pulumi.Input; /** * Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT' */ type: pulumi.Input; /** * Value of the variable */ value: pulumi.Input; } } //# sourceMappingURL=input.d.ts.map