{"name":"harness","displayName":"Harness","version":"0.11.4","description":"A Pulumi package for creating and managing Harness  resources.","keywords":["pulumi","harness"],"homepage":"https://www.pulumi.com","license":"Apache-2.0","attribution":"This Pulumi package is based on the [`harness` Terraform Provider](https://github.com/harness/terraform-provider-harness).","repository":"https://github.com/pulumi/pulumi-harness","logoUrl":"https://raw.githubusercontent.com/pulumi/pulumi-harness/main/assets/logo.png","pluginDownloadURL":"github://api.github.com/pulumi","publisher":"Pulumi","meta":{"moduleFormat":"(.*)(?:/[^/]*)"},"language":{"csharp":{"packageReferences":{"Pulumi":"3.*"},"compatibility":"tfbridge20","rootNamespace":"Pulumi","respectSchemaVersion":true},"go":{"importBasePath":"github.com/pulumi/pulumi-harness/sdk/go/harness","generateResourceContainerTypes":true,"generateExtraInputTypes":true,"respectSchemaVersion":true},"nodejs":{"packageName":"@pulumi/harness","packageDescription":"A Pulumi package for creating and managing Harness  resources.","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/harness/terraform-provider-harness)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-harness` repo](https://github.com/pulumi/pulumi-harness/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-harness` repo](https://github.com/harness/terraform-provider-harness/issues).","devDependencies":{"@types/mime":"^2.0.0","@types/node":"^10.0.0"},"compatibility":"tfbridge20","disableUnionOutputTypes":true,"respectSchemaVersion":true},"python":{"packageName":"pulumi_harness","readme":"\u003e This provider is a derived work of the [Terraform Provider](https://github.com/harness/terraform-provider-harness)\n\u003e distributed under [MPL 2.0](https://www.mozilla.org/en-US/MPL/2.0/). If you encounter a bug or missing feature,\n\u003e first check the [`pulumi-harness` repo](https://github.com/pulumi/pulumi-harness/issues); however, if that doesn't turn up anything,\n\u003e please consult the source [`terraform-provider-harness` repo](https://github.com/harness/terraform-provider-harness/issues).","compatibility":"tfbridge20","respectSchemaVersion":true,"pyproject":{"enabled":true}}},"config":{"variables":{"accountId":{"type":"string","description":"The Harness account id. This can also be set using the `HARNESS_ACCOUNT_ID` environment variable.","defaultInfo":{"environment":["HARNESS_ACCOUNT_ID"]}},"apiKey":{"type":"string","description":"The Harness API key. This can also be set using the `HARNESS_API_KEY` environment variable. For more information to create an API key in FirstGen, see https://docs.harness.io/article/smloyragsm-api-keys#create_an_api_key.","defaultInfo":{"environment":["HARNESS_API_KEY"]}},"endpoint":{"type":"string","description":"The URL of the Harness API endpoint. The default is `https://app.harness.io/gateway`. This can also be set using the `HARNESS_ENDPOINT` environment variable.","defaultInfo":{"environment":["HARNESS_ENDPOINT"]}},"platformApiKey":{"type":"string","description":"The API key for the Harness next gen platform. This can also be set using the `HARNESS_PLATFORM_API_KEY` environment variable. For more information to create an API key in NextGen, see https://docs.harness.io/article/tdoad7xrh9-add-and-manage-api-keys.","defaultInfo":{"environment":["HARNESS_PLATFORM_API_KEY"]}}}},"types":{"harness:autostopping/AwsProxyCertificates:AwsProxyCertificates":{"properties":{"certSecretId":{"type":"string","description":"Certificate secret ID\n"},"keySecretId":{"type":"string","description":"Private key secret ID\n"}},"type":"object","required":["certSecretId","keySecretId"]},"harness:autostopping/AzureProxyCertificates:AzureProxyCertificates":{"properties":{"certSecretId":{"type":"string","description":"ID of certificate secret uploaded to vault\n"},"keySecretId":{"type":"string","description":"ID of certificate key uploaded to vault\n"}},"type":"object","required":["certSecretId","keySecretId"]},"harness:autostopping/GcpProxyCertificates:GcpProxyCertificates":{"properties":{"certSecretId":{"type":"string","description":"Certificate secret ID\n"},"keySecretId":{"type":"string","description":"Private key secret ID\n"}},"type":"object","required":["certSecretId","keySecretId"]},"harness:autostopping/RuleEcsContainer:RuleEcsContainer":{"properties":{"cluster":{"type":"string","description":"Name of cluster in which service belong to\n"},"region":{"type":"string","description":"Region of cluster\n"},"service":{"type":"string","description":"Name of service to be onboarded\n"},"taskCount":{"type":"integer","description":"Desired number of tasks on warming up a rule\n"}},"type":"object","required":["cluster","region","service"]},"harness:autostopping/RuleEcsDepend:RuleEcsDepend":{"properties":{"delayInSec":{"type":"integer","description":"Number of seconds the rule should wait after warming up the dependent rule\n"},"ruleId":{"type":"integer","description":"Rule id of the dependent rule\n"}},"type":"object","required":["ruleId"]},"harness:autostopping/RuleEcsHttp:RuleEcsHttp":{"properties":{"proxyId":{"type":"string","description":"Id of the proxy\n"}},"type":"object","required":["proxyId"]},"harness:autostopping/RuleRdsDatabase:RuleRdsDatabase":{"properties":{"id":{"type":"string","description":"ID of the database\n"},"region":{"type":"string","description":"Region to which database belong to\n"}},"type":"object","required":["id","region"]},"harness:autostopping/RuleRdsDepend:RuleRdsDepend":{"properties":{"delayInSec":{"type":"integer","description":"Number of seconds the rule should wait after warming up the dependent rule\n"},"ruleId":{"type":"integer","description":"Rule id of the dependent rule\n"}},"type":"object","required":["ruleId"]},"harness:autostopping/RuleRdsTcp:RuleRdsTcp":{"properties":{"forwardRules":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleRdsTcpForwardRule:RuleRdsTcpForwardRule"},"description":"Additional tcp forwarding rules\n"},"proxyId":{"type":"string","description":"Id of the Proxy\n"}},"type":"object","required":["proxyId"]},"harness:autostopping/RuleRdsTcpForwardRule:RuleRdsTcpForwardRule":{"properties":{"connectOn":{"type":"integer","description":"Port to listen on the proxy\n"},"port":{"type":"integer","description":"Port to listen on the vm\n"}},"type":"object","required":["port"]},"harness:autostopping/RuleScaleGroupDepend:RuleScaleGroupDepend":{"properties":{"delayInSec":{"type":"integer","description":"Number of seconds the rule should wait after warming up the dependent rule\n"},"ruleId":{"type":"integer","description":"Rule id of the dependent rule\n"}},"type":"object","required":["ruleId"]},"harness:autostopping/RuleScaleGroupHttp:RuleScaleGroupHttp":{"properties":{"healths":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleScaleGroupHttpHealth:RuleScaleGroupHttpHealth"},"description":"Health Check Details\n"},"proxyId":{"type":"string","description":"Id of the proxy\n"},"routings":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleScaleGroupHttpRouting:RuleScaleGroupHttpRouting"},"description":"Routing configuration used to access the scaling group\n"}},"type":"object","required":["proxyId"]},"harness:autostopping/RuleScaleGroupHttpHealth:RuleScaleGroupHttpHealth":{"properties":{"path":{"type":"string","description":"API path to use for health check\n"},"port":{"type":"integer","description":"Health check port on the VM\n"},"protocol":{"type":"string","description":"Protocol can be http or https\n"},"statusCodeFrom":{"type":"integer","description":"Lower limit for acceptable status code\n"},"statusCodeTo":{"type":"integer","description":"Upper limit for acceptable status code\n"},"timeout":{"type":"integer","description":"Health check timeout\n"}},"type":"object","required":["port","protocol"]},"harness:autostopping/RuleScaleGroupHttpRouting:RuleScaleGroupHttpRouting":{"properties":{"action":{"type":"string","description":"Organization Identifier for the Entity\n"},"sourcePort":{"type":"integer","description":"Port on the proxy\n"},"sourceProtocol":{"type":"string","description":"Source protocol of the proxy can be http or https\n"},"targetPort":{"type":"integer","description":"Port on the VM\n"},"targetProtocol":{"type":"string","description":"Target protocol of the instance can be http or https\n"}},"type":"object","required":["sourceProtocol","targetProtocol"]},"harness:autostopping/RuleScaleGroupScaleGroup:RuleScaleGroupScaleGroup":{"properties":{"desired":{"type":"integer","description":"Desired capacity of the Scaling Group\n"},"id":{"type":"string","description":"ID of the Scaling Group\n"},"max":{"type":"integer","description":"Maximum capacity of the Scaling Group\n"},"min":{"type":"integer","description":"Minimum capacity of the Scaling Group\n"},"name":{"type":"string","description":"Name of the Scaling Group\n"},"onDemand":{"type":"integer","description":"On-demand capacity of the Scaling Group\n"},"region":{"type":"string","description":"Region of the Scaling Group\n"},"zone":{"type":"string","description":"Zone of the Scaling Group. Needed for GCP only\n"}},"type":"object","required":["desired","id","max","min","name","onDemand"]},"harness:autostopping/RuleVmDepend:RuleVmDepend":{"properties":{"delayInSec":{"type":"integer","description":"Number of seconds the rule should wait after warming up the dependent rule\n"},"ruleId":{"type":"integer","description":"Rule id of the dependent rule\n"}},"type":"object","required":["ruleId"]},"harness:autostopping/RuleVmFilter:RuleVmFilter":{"properties":{"regions":{"type":"array","items":{"type":"string"},"description":"Regions of instances that needs to be managed using the AutoStopping rules\n"},"tags":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmFilterTag:RuleVmFilterTag"},"description":"Tags of instances that needs to be managed using the AutoStopping rules\n"},"vmIds":{"type":"array","items":{"type":"string"},"description":"Ids of instances that needs to be managed using the AutoStopping rules\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Zones of instances that needs to be managed using the AutoStopping rules\n"}},"type":"object"},"harness:autostopping/RuleVmFilterTag:RuleVmFilterTag":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"]},"harness:autostopping/RuleVmHttp:RuleVmHttp":{"properties":{"healths":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmHttpHealth:RuleVmHttpHealth"},"description":"Health Check Details\n"},"proxyId":{"type":"string","description":"Id of the proxy\n"},"routings":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmHttpRouting:RuleVmHttpRouting"},"description":"Routing configuration used to access the instances\n"}},"type":"object","required":["proxyId"]},"harness:autostopping/RuleVmHttpHealth:RuleVmHttpHealth":{"properties":{"path":{"type":"string","description":"API path to use for health check\n"},"port":{"type":"integer","description":"Health check port on the VM\n"},"protocol":{"type":"string","description":"Protocol can be http or https\n"},"statusCodeFrom":{"type":"integer","description":"Lower limit for acceptable status code\n"},"statusCodeTo":{"type":"integer","description":"Upper limit for acceptable status code\n"},"timeout":{"type":"integer","description":"Health check timeout\n"}},"type":"object","required":["port","protocol"]},"harness:autostopping/RuleVmHttpRouting:RuleVmHttpRouting":{"properties":{"action":{"type":"string","description":"Organization Identifier for the Entity\n"},"sourcePort":{"type":"integer","description":"Port on the proxy\n"},"sourceProtocol":{"type":"string","description":"Source protocol of the proxy can be http or https\n"},"targetPort":{"type":"integer","description":"Port on the VM\n"},"targetProtocol":{"type":"string","description":"Target protocol of the instance can be http or https\n"}},"type":"object","required":["sourceProtocol","targetProtocol"]},"harness:autostopping/RuleVmTcp:RuleVmTcp":{"properties":{"forwardRules":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmTcpForwardRule:RuleVmTcpForwardRule"},"description":"Additional tcp forwarding rules\n"},"proxyId":{"type":"string","description":"Id of the Proxy\n"},"rdps":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmTcpRdp:RuleVmTcpRdp"},"description":"RDP configuration\n"},"sshes":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmTcpSsh:RuleVmTcpSsh"},"description":"SSH configuration\n"}},"type":"object","required":["proxyId"]},"harness:autostopping/RuleVmTcpForwardRule:RuleVmTcpForwardRule":{"properties":{"connectOn":{"type":"integer","description":"Port to listen on the proxy\n"},"port":{"type":"integer","description":"Port to listen on the vm\n"}},"type":"object","required":["port"]},"harness:autostopping/RuleVmTcpRdp:RuleVmTcpRdp":{"properties":{"connectOn":{"type":"integer","description":"Port to listen on the proxy\n"},"port":{"type":"integer","description":"Port to listen on the vm\n"}},"type":"object"},"harness:autostopping/RuleVmTcpSsh:RuleVmTcpSsh":{"properties":{"connectOn":{"type":"integer","description":"Port to listen on the proxy\n"},"port":{"type":"integer","description":"Port to listen on the vm\n"}},"type":"object"},"harness:autostopping/ScheduleRepeat:ScheduleRepeat":{"properties":{"days":{"type":"array","items":{"type":"string"},"description":"List of days on which schedule need to be active. Valid values are SUN, MON, TUE, WED, THU, FRI and SAT.\n"},"endTime":{"type":"string","description":"Ending time of schedule action on the day. Defaults to 24:00Hrs unless specified. Accepted format is HH:MM. Eg : 20:00 for 8pm\n"},"startTime":{"type":"string","description":"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\n"}},"type":"object","required":["days"]},"harness:autostopping/getAwsProxyCertificates:getAwsProxyCertificates":{"properties":{"certSecretId":{"type":"string","description":"Certificate secret ID\n"},"keySecretId":{"type":"string","description":"Private key secret ID\n"}},"type":"object","required":["certSecretId","keySecretId"]},"harness:autostopping/getAzureProxyCertificates:getAzureProxyCertificates":{"properties":{"certSecretId":{"type":"string","description":"ID of certificate secret uploaded to vault\n"},"keySecretId":{"type":"string","description":"ID of certificate key uploaded to vault\n"}},"type":"object","required":["certSecretId","keySecretId"]},"harness:autostopping/getGcpProxyCertificates:getGcpProxyCertificates":{"properties":{"certSecretId":{"type":"string","description":"Certificate secret ID\n"},"keySecretId":{"type":"string","description":"Private key secret ID\n"}},"type":"object","required":["certSecretId","keySecretId"]},"harness:autostopping/getRuleEcsContainer:getRuleEcsContainer":{"properties":{"cluster":{"type":"string","description":"Name of cluster in which service belong to\n"},"region":{"type":"string","description":"Region of cluster\n"},"service":{"type":"string","description":"Name of service to be onboarded\n"},"taskCount":{"type":"integer","description":"Desired number of tasks on warming up a rule\n"}},"type":"object","required":["cluster","region","service"]},"harness:autostopping/getRuleEcsDepend:getRuleEcsDepend":{"properties":{"delayInSec":{"type":"integer","description":"Number of seconds the rule should wait after warming up the dependent rule\n"},"ruleId":{"type":"integer","description":"Rule id of the dependent rule\n"}},"type":"object","required":["ruleId"]},"harness:autostopping/getRuleEcsHttp:getRuleEcsHttp":{"properties":{"proxyId":{"type":"string","description":"Id of the proxy\n"}},"type":"object","required":["proxyId"]},"harness:autostopping/getRuleRdsDatabase:getRuleRdsDatabase":{"properties":{"id":{"type":"string","description":"ID of the database\n"},"region":{"type":"string","description":"Region to which database belong to\n"}},"type":"object","required":["id","region"]},"harness:autostopping/getRuleRdsDepend:getRuleRdsDepend":{"properties":{"delayInSec":{"type":"integer","description":"Number of seconds the rule should wait after warming up the dependent rule\n"},"ruleId":{"type":"integer","description":"Rule id of the dependent rule\n"}},"type":"object","required":["ruleId"]},"harness:autostopping/getRuleRdsTcp:getRuleRdsTcp":{"properties":{"forwardRules":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleRdsTcpForwardRule:getRuleRdsTcpForwardRule"},"description":"Additional tcp forwarding rules\n"},"proxyId":{"type":"string","description":"Id of the Proxy\n"}},"type":"object","required":["proxyId"]},"harness:autostopping/getRuleRdsTcpForwardRule:getRuleRdsTcpForwardRule":{"properties":{"connectOn":{"type":"integer","description":"Port to listen on the proxy\n"},"port":{"type":"integer","description":"Port to listen on the vm\n"}},"type":"object","required":["port"]},"harness:autostopping/getRuleScaleGroupDepend:getRuleScaleGroupDepend":{"properties":{"delayInSec":{"type":"integer","description":"Number of seconds the rule should wait after warming up the dependent rule\n"},"ruleId":{"type":"integer","description":"Rule id of the dependent rule\n"}},"type":"object","required":["ruleId"]},"harness:autostopping/getRuleScaleGroupHttp:getRuleScaleGroupHttp":{"properties":{"healths":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleScaleGroupHttpHealth:getRuleScaleGroupHttpHealth"},"description":"Health Check Details\n"},"proxyId":{"type":"string","description":"Id of the proxy\n"},"routings":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleScaleGroupHttpRouting:getRuleScaleGroupHttpRouting"},"description":"Routing configuration used to access the scaling group\n"}},"type":"object","required":["proxyId"]},"harness:autostopping/getRuleScaleGroupHttpHealth:getRuleScaleGroupHttpHealth":{"properties":{"path":{"type":"string","description":"API path to use for health check\n"},"port":{"type":"integer","description":"Health check port on the VM\n"},"protocol":{"type":"string","description":"Protocol can be http or https\n"},"statusCodeFrom":{"type":"integer","description":"Lower limit for acceptable status code\n"},"statusCodeTo":{"type":"integer","description":"Upper limit for acceptable status code\n"},"timeout":{"type":"integer","description":"Health check timeout\n"}},"type":"object","required":["port","protocol"]},"harness:autostopping/getRuleScaleGroupHttpRouting:getRuleScaleGroupHttpRouting":{"properties":{"action":{"type":"string","description":"Organization Identifier for the Entity\n"},"sourcePort":{"type":"integer","description":"Port on the proxy\n"},"sourceProtocol":{"type":"string","description":"Source protocol of the proxy can be http or https\n"},"targetPort":{"type":"integer","description":"Port on the VM\n"},"targetProtocol":{"type":"string","description":"Target protocol of the instance can be http or https\n"}},"type":"object","required":["sourceProtocol","targetProtocol"]},"harness:autostopping/getRuleScaleGroupScaleGroup:getRuleScaleGroupScaleGroup":{"properties":{"desired":{"type":"integer","description":"Desired capacity of the Scaling Group\n"},"id":{"type":"string","description":"ID of the Scaling Group\n"},"max":{"type":"integer","description":"Maximum capacity of the Scaling Group\n"},"min":{"type":"integer","description":"Minimum capacity of the Scaling Group\n"},"name":{"type":"string","description":"Name of the Scaling Group\n"},"onDemand":{"type":"integer","description":"On-demand capacity of the Scaling Group\n"},"region":{"type":"string","description":"Region of the Scaling Group\n"},"zone":{"type":"string","description":"Zone of the Scaling Group. Needed for GCP only\n"}},"type":"object","required":["desired","id","max","min","name","onDemand"]},"harness:autostopping/getRuleVmDepend:getRuleVmDepend":{"properties":{"delayInSec":{"type":"integer","description":"Number of seconds the rule should wait after warming up the dependent rule\n"},"ruleId":{"type":"integer","description":"Rule id of the dependent rule\n"}},"type":"object","required":["ruleId"]},"harness:autostopping/getRuleVmFilter:getRuleVmFilter":{"properties":{"regions":{"type":"array","items":{"type":"string"},"description":"Regions of instances that needs to be managed using the AutoStopping rules\n"},"tags":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleVmFilterTag:getRuleVmFilterTag"},"description":"Tags of instances that needs to be managed using the AutoStopping rules\n"},"vmIds":{"type":"array","items":{"type":"string"},"description":"Ids of instances that needs to be managed using the AutoStopping rules\n"},"zones":{"type":"array","items":{"type":"string"},"description":"Zones of instances that needs to be managed using the AutoStopping rules\n"}},"type":"object"},"harness:autostopping/getRuleVmFilterTag:getRuleVmFilterTag":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"]},"harness:autostopping/getRuleVmHttp:getRuleVmHttp":{"properties":{"healths":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleVmHttpHealth:getRuleVmHttpHealth"},"description":"Health Check Details\n"},"proxyId":{"type":"string","description":"Id of the proxy\n"},"routings":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleVmHttpRouting:getRuleVmHttpRouting"},"description":"Routing configuration used to access the instances\n"}},"type":"object","required":["proxyId"]},"harness:autostopping/getRuleVmHttpHealth:getRuleVmHttpHealth":{"properties":{"path":{"type":"string","description":"API path to use for health check\n"},"port":{"type":"integer","description":"Health check port on the VM\n"},"protocol":{"type":"string","description":"Protocol can be http or https\n"},"statusCodeFrom":{"type":"integer","description":"Lower limit for acceptable status code\n"},"statusCodeTo":{"type":"integer","description":"Upper limit for acceptable status code\n"},"timeout":{"type":"integer","description":"Health check timeout\n"}},"type":"object","required":["port","protocol"]},"harness:autostopping/getRuleVmHttpRouting:getRuleVmHttpRouting":{"properties":{"action":{"type":"string","description":"Organization Identifier for the Entity\n"},"sourcePort":{"type":"integer","description":"Port on the proxy\n"},"sourceProtocol":{"type":"string","description":"Source protocol of the proxy can be http or https\n"},"targetPort":{"type":"integer","description":"Port on the VM\n"},"targetProtocol":{"type":"string","description":"Target protocol of the instance can be http or https\n"}},"type":"object","required":["sourceProtocol","targetProtocol"]},"harness:autostopping/getRuleVmTcp:getRuleVmTcp":{"properties":{"forwardRules":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleVmTcpForwardRule:getRuleVmTcpForwardRule"},"description":"Additional tcp forwarding rules\n"},"proxyId":{"type":"string","description":"Id of the Proxy\n"},"rdps":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleVmTcpRdp:getRuleVmTcpRdp"},"description":"RDP configuration\n"},"sshes":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleVmTcpSsh:getRuleVmTcpSsh"},"description":"SSH configuration\n"}},"type":"object","required":["proxyId"]},"harness:autostopping/getRuleVmTcpForwardRule:getRuleVmTcpForwardRule":{"properties":{"connectOn":{"type":"integer","description":"Port to listen on the proxy\n"},"port":{"type":"integer","description":"Port to listen on the vm\n"}},"type":"object","required":["port"]},"harness:autostopping/getRuleVmTcpRdp:getRuleVmTcpRdp":{"properties":{"connectOn":{"type":"integer","description":"Port to listen on the proxy\n"},"port":{"type":"integer","description":"Port to listen on the vm\n"}},"type":"object"},"harness:autostopping/getRuleVmTcpSsh:getRuleVmTcpSsh":{"properties":{"connectOn":{"type":"integer","description":"Port to listen on the proxy\n"},"port":{"type":"integer","description":"Port to listen on the vm\n"}},"type":"object"},"harness:autostopping/getScheduleRepeat:getScheduleRepeat":{"properties":{"days":{"type":"array","items":{"type":"string"},"description":"List of days on which schedule need to be active. Valid values are SUN, MON, TUE, WED, THU, FRI and SAT.\n"},"endTime":{"type":"string","description":"Ending time of schedule action on the day. Accepted format is HH:MM. Eg : 20:00 for 8pm\n"},"startTime":{"type":"string","description":"Starting time of schedule action on the day. Accepted format is HH:MM. Eg : 13:15 for 01:15pm\n"}},"type":"object","required":["days","endTime","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/ImageRegistryCustomImage:ImageRegistryCustomImage":{"properties":{"ddcr":{"type":"string"},"ddcrFault":{"type":"string"},"ddcrLib":{"type":"string"},"logWatcher":{"type":"string"}},"type":"object","language":{"nodejs":{"requiredOutputs":["ddcr","ddcrFault","ddcrLib","logWatcher"]}}},"harness:chaos/InfrastructureV2Env:InfrastructureV2Env":{"properties":{"key":{"type":"string","description":"Variable name from a ConfigMap or Secret. Required when\u003cspan pulumi-lang-nodejs=\" valueFrom \" pulumi-lang-dotnet=\" ValueFrom \" pulumi-lang-go=\" valueFrom \" pulumi-lang-python=\" value_from \" pulumi-lang-yaml=\" valueFrom \" pulumi-lang-java=\" valueFrom \"\u003e value_from \u003c/span\u003eis configMapKeyRef or secretKeyRef.\n"},"name":{"type":"string","description":"Name of the environment variable. Must be a C_IDENTIFIER.\n"},"value":{"type":"string","description":"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 \"\".\n"},"valueFrom":{"type":"string","description":"Source for the environment variable's value. Cannot be used if value is not empty.\n"}},"type":"object","required":["name"]},"harness:chaos/InfrastructureV2Identifier:InfrastructureV2Identifier":{"properties":{"accountIdentifier":{"type":"string","description":"Account identifier.\n"},"orgIdentifier":{"type":"string","description":"Organization identifier.\n"},"projectIdentifier":{"type":"string","description":"Project identifier.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["accountIdentifier","orgIdentifier","projectIdentifier"]}}},"harness:chaos/InfrastructureV2ImageRegistry:InfrastructureV2ImageRegistry":{"properties":{"createdAt":{"type":"string","description":"Timestamp when the registry was created.\n"},"customImages":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2ImageRegistryCustomImage:InfrastructureV2ImageRegistryCustomImage"},"description":"Custom image configurations. Required when use*custom*images is true.\n"},"identifiers":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2ImageRegistryIdentifier:InfrastructureV2ImageRegistryIdentifier"},"description":"Scoped identifiers for the registry.\n"},"infraId":{"type":"string","description":"ID of the infrastructure.\n"},"isDefault":{"type":"boolean","description":"Whether this is the default registry.\n"},"isOverrideAllowed":{"type":"boolean","description":"Whether override is allowed for this registry.\n"},"isPrivate":{"type":"boolean","description":"Whether the registry is private.\n"},"registryAccount":{"type":"string","description":"The account name for the container registry.\n"},"registryServer":{"type":"string","description":"The container image registry server URL (e.g., docker.io, gcr.io).\n"},"secretName":{"type":"string","description":"Name of the Kubernetes secret containing registry credentials.\n"},"updatedAt":{"type":"string","description":"Timestamp when the registry was last updated.\n"},"useCustomImages":{"type":"boolean","description":"Whether to use custom images instead of default ones.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["createdAt","customImages","identifiers","infraId","isDefault","isOverrideAllowed","isPrivate","registryAccount","registryServer","updatedAt","useCustomImages"]}}},"harness:chaos/InfrastructureV2ImageRegistryCustomImage:InfrastructureV2ImageRegistryCustomImage":{"properties":{"ddcr":{"type":"string","description":"Custom image for ddcr.\n"},"ddcrFault":{"type":"string","description":"Custom image for ddcr-fault.\n"},"ddcrLib":{"type":"string","description":"Custom image for ddcr-lib.\n"},"logWatcher":{"type":"string","description":"Custom image for log-watcher.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["ddcr","ddcrFault","ddcrLib","logWatcher"]}}},"harness:chaos/InfrastructureV2ImageRegistryIdentifier:InfrastructureV2ImageRegistryIdentifier":{"properties":{"accountIdentifier":{"type":"string","description":"Harness account identifier.\n"},"orgIdentifier":{"type":"string","description":"Harness organization identifier.\n"},"projectIdentifier":{"type":"string","description":"Harness project identifier.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["accountIdentifier","orgIdentifier","projectIdentifier"]}}},"harness:chaos/InfrastructureV2Mtls:InfrastructureV2Mtls":{"properties":{"certPath":{"type":"string","description":"Path to the certificate file for mTLS\n"},"keyPath":{"type":"string","description":"Path to the private key file for mTLS\n"},"secretName":{"type":"string","description":"Name of the Kubernetes secret containing mTLS certificates\n"},"url":{"type":"string","description":"URL for the mTLS endpoint\n"}},"type":"object"},"harness:chaos/InfrastructureV2Proxy:InfrastructureV2Proxy":{"properties":{"httpProxy":{"type":"string","description":"HTTP proxy URL.\n"},"httpsProxy":{"type":"string","description":"HTTPS proxy URL.\n"},"noProxy":{"type":"string","description":"List of hosts that should not use proxy.\n"},"url":{"type":"string","description":"Proxy URL.\n"}},"type":"object","required":["url"]},"harness:chaos/InfrastructureV2Toleration:InfrastructureV2Toleration":{"properties":{"effect":{"type":"string","description":"Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\n"},"key":{"type":"string","description":"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.\n"},"operator":{"type":"string","description":"Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.\n"},"tolerationSeconds":{"type":"integer","description":"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.\n"},"value":{"type":"string","description":"Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.\n"}},"type":"object","required":["effect","key","operator"]},"harness:chaos/InfrastructureV2Volume:InfrastructureV2Volume":{"properties":{"name":{"type":"string","description":"Name of the volume. Must be a DNS_LABEL and unique within the pod.\n"},"sizeLimit":{"type":"string","description":"Size limit of the volume. Example: '10Gi', '100Mi'\n"}},"type":"object","required":["name"]},"harness:chaos/InfrastructureV2VolumeMount:InfrastructureV2VolumeMount":{"properties":{"mountPath":{"type":"string","description":"Path within the container at which the volume should be mounted. Must not contain ':'.\n"},"mountPropagation":{"type":"string","description":"Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used.\n"},"name":{"type":"string","description":"This must match the Name of a Volume.\n"},"readOnly":{"type":"boolean","description":"Mounted read-only if true, read-write otherwise.\n"},"subPath":{"type":"string","description":"Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.\n"},"subPathExpr":{"type":"string","description":"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.\n"}},"type":"object","required":["mountPath","name"]},"harness:chaos/SecurityGovernanceConditionFaultSpec:SecurityGovernanceConditionFaultSpec":{"properties":{"faults":{"type":"array","items":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionFaultSpecFault:SecurityGovernanceConditionFaultSpecFault"},"description":"List of fault specifications\n"},"operator":{"type":"string","description":"Operator for comparing faults (EQUAL*TO or NOT*EQUAL_TO)\n"}},"type":"object","required":["faults","operator"]},"harness:chaos/SecurityGovernanceConditionFaultSpecFault:SecurityGovernanceConditionFaultSpecFault":{"properties":{"faultType":{"type":"string","description":"Type of the fault (FAULT or FAULT_GROUP)\n"},"name":{"type":"string","description":"Name of the fault\n"}},"type":"object","required":["faultType","name"]},"harness:chaos/SecurityGovernanceConditionK8sSpec:SecurityGovernanceConditionK8sSpec":{"properties":{"applicationSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionK8sSpecApplicationSpec:SecurityGovernanceConditionK8sSpecApplicationSpec","description":"Application specification\n"},"chaosServiceAccountSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec:SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec","description":"Chaos service account specification\n"},"infraSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionK8sSpecInfraSpec:SecurityGovernanceConditionK8sSpecInfraSpec","description":"Infrastructure specification\n"}},"type":"object"},"harness:chaos/SecurityGovernanceConditionK8sSpecApplicationSpec:SecurityGovernanceConditionK8sSpecApplicationSpec":{"properties":{"operator":{"type":"string","description":"Operator for application matching (EQUAL*TO or NOT*EQUAL_TO)\n"},"workloads":{"type":"array","items":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionK8sSpecApplicationSpecWorkload:SecurityGovernanceConditionK8sSpecApplicationSpecWorkload"},"description":"List of workloads to include/exclude\n"}},"type":"object","required":["operator"]},"harness:chaos/SecurityGovernanceConditionK8sSpecApplicationSpecWorkload:SecurityGovernanceConditionK8sSpecApplicationSpecWorkload":{"properties":{"applicationMapId":{"type":"string","description":"ID for the application map\n"},"kind":{"type":"string","description":"Kind of the workload (e.g., deployment, statefulset)\n"},"label":{"type":"string","description":"Label selector for the workload\n"},"namespace":{"type":"string","description":"Namespace of the workload\n"},"services":{"type":"array","items":{"type":"string"},"description":"List of services associated with the workload\n"}},"type":"object","required":["namespace"]},"harness:chaos/SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec:SecurityGovernanceConditionK8sSpecChaosServiceAccountSpec":{"properties":{"operator":{"type":"string","description":"Operator for service account matching (EQUAL*TO or NOT*EQUAL_TO)\n"},"serviceAccounts":{"type":"array","items":{"type":"string"},"description":"List of service accounts to include/exclude\n"}},"type":"object","required":["operator","serviceAccounts"]},"harness:chaos/SecurityGovernanceConditionK8sSpecInfraSpec:SecurityGovernanceConditionK8sSpecInfraSpec":{"properties":{"infraIds":{"type":"array","items":{"type":"string"},"description":"List of infrastructure IDs to apply the condition to\n"},"operator":{"type":"string","description":"Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)\n"}},"type":"object","required":["infraIds","operator"]},"harness:chaos/SecurityGovernanceConditionMachineSpec:SecurityGovernanceConditionMachineSpec":{"properties":{"infraSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionMachineSpecInfraSpec:SecurityGovernanceConditionMachineSpecInfraSpec","description":"Infrastructure specification\n"}},"type":"object"},"harness:chaos/SecurityGovernanceConditionMachineSpecInfraSpec:SecurityGovernanceConditionMachineSpecInfraSpec":{"properties":{"infraIds":{"type":"array","items":{"type":"string"},"description":"List of infrastructure IDs to apply the condition to\n"},"operator":{"type":"string","description":"Operator for comparing infrastructure IDs (EQUAL*TO or NOT*EQUAL_TO)\n"}},"type":"object","required":["infraIds","operator"]},"harness:chaos/SecurityGovernanceRuleTimeWindow:SecurityGovernanceRuleTimeWindow":{"properties":{"duration":{"type":"string"},"endTime":{"type":"integer"},"recurrence":{"$ref":"#/types/harness:chaos/SecurityGovernanceRuleTimeWindowRecurrence:SecurityGovernanceRuleTimeWindowRecurrence"},"startTime":{"type":"integer"},"timeZone":{"type":"string"}},"type":"object","required":["startTime","timeZone"],"language":{"nodejs":{"requiredOutputs":["duration","endTime","startTime","timeZone"]}}},"harness:chaos/SecurityGovernanceRuleTimeWindowRecurrence:SecurityGovernanceRuleTimeWindowRecurrence":{"properties":{"type":{"type":"string"},"until":{"type":"integer"},"value":{"type":"integer"}},"type":"object","required":["type","until"]},"harness:chaos/getImageRegistryCustomImage:getImageRegistryCustomImage":{"properties":{"ddcr":{"type":"string"},"ddcrFault":{"type":"string"},"ddcrLib":{"type":"string"},"logWatcher":{"type":"string"}},"type":"object","required":["ddcr","ddcrFault","ddcrLib","logWatcher"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getInfrastructureV2ImageRegistry:getInfrastructureV2ImageRegistry":{"properties":{"createdAt":{"type":"string","description":"Timestamp when the registry was created.\n"},"customImages":{"type":"array","items":{"$ref":"#/types/harness:chaos/getInfrastructureV2ImageRegistryCustomImage:getInfrastructureV2ImageRegistryCustomImage"},"description":"Custom image configurations. Required when use*custom*images is true.\n"},"identifiers":{"type":"array","items":{"$ref":"#/types/harness:chaos/getInfrastructureV2ImageRegistryIdentifier:getInfrastructureV2ImageRegistryIdentifier"},"description":"Scoped identifiers for the registry.\n"},"infraId":{"type":"string","description":"ID of the infrastructure.\n"},"isDefault":{"type":"boolean","description":"Whether this is the default registry.\n"},"isOverrideAllowed":{"type":"boolean","description":"Whether override is allowed for this registry.\n"},"isPrivate":{"type":"boolean","description":"Whether the registry is private.\n"},"registryAccount":{"type":"string","description":"The account name for the container registry.\n"},"registryServer":{"type":"string","description":"The container image registry server URL (e.g., docker.io, gcr.io).\n"},"secretName":{"type":"string","description":"Name of the Kubernetes secret containing registry credentials.\n"},"updatedAt":{"type":"string","description":"Timestamp when the registry was last updated.\n"},"useCustomImages":{"type":"boolean","description":"Whether to use custom images instead of default ones.\n"}},"type":"object","required":["createdAt","customImages","identifiers","infraId","isDefault","isOverrideAllowed","isPrivate","registryAccount","registryServer","updatedAt","useCustomImages"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getInfrastructureV2ImageRegistryCustomImage:getInfrastructureV2ImageRegistryCustomImage":{"properties":{"ddcr":{"type":"string","description":"Custom image for ddcr.\n"},"ddcrFault":{"type":"string","description":"Custom image for ddcr-fault.\n"},"ddcrLib":{"type":"string","description":"Custom image for ddcr-lib.\n"},"logWatcher":{"type":"string","description":"Custom image for log-watcher.\n"}},"type":"object","required":["ddcr","ddcrFault","ddcrLib","logWatcher"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getInfrastructureV2ImageRegistryIdentifier:getInfrastructureV2ImageRegistryIdentifier":{"properties":{"accountIdentifier":{"type":"string","description":"Harness account identifier.\n"},"orgIdentifier":{"type":"string","description":"Harness organization identifier.\n"},"projectIdentifier":{"type":"string","description":"Harness project identifier.\n"}},"type":"object","required":["accountIdentifier","orgIdentifier","projectIdentifier"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getInfrastructureV2Mtls:getInfrastructureV2Mtls":{"properties":{"certPath":{"type":"string","description":"Path to the certificate file for mTLS\n"},"keyPath":{"type":"string","description":"Path to the private key file for mTLS\n"},"secretName":{"type":"string","description":"Name of the Kubernetes secret containing mTLS certificates\n"},"url":{"type":"string","description":"URL for the mTLS endpoint\n"}},"type":"object"},"harness:chaos/getInfrastructureV2Proxy:getInfrastructureV2Proxy":{"properties":{"httpProxy":{"type":"string","description":"HTTP proxy URL.\n"},"httpsProxy":{"type":"string","description":"HTTPS proxy URL.\n"},"noProxy":{"type":"string","description":"List of hosts that should not use proxy.\n"},"url":{"type":"string","description":"Proxy URL.\n"}},"type":"object","required":["url"]},"harness:chaos/getInfrastructureV2Toleration:getInfrastructureV2Toleration":{"properties":{"effect":{"type":"string","description":"Effect indicates the taint effect to match. When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute.\n"},"key":{"type":"string","description":"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.\n"},"operator":{"type":"string","description":"Operator represents a key's relationship to the value. Valid operators are Exists and Equal. Defaults to Equal.\n"},"tolerationSeconds":{"type":"integer","description":"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.\n"},"value":{"type":"string","description":"Value is the taint value the toleration matches to. If the operator is Exists, the value should be empty, otherwise just a regular string.\n"}},"type":"object","required":["effect","key","operator"]},"harness:chaos/getInfrastructureV2Volume:getInfrastructureV2Volume":{"properties":{"name":{"type":"string","description":"Name of the volume. Must be a DNS_LABEL and unique within the pod.\n"},"sizeLimit":{"type":"string","description":"Size limit of the volume. Example: '10Gi', '100Mi'\n"}},"type":"object","required":["name"]},"harness:chaos/getInfrastructureV2VolumeMount:getInfrastructureV2VolumeMount":{"properties":{"mountPath":{"type":"string","description":"Path within the container at which the volume should be mounted. Must not contain ':'.\n"},"mountPropagation":{"type":"string","description":"Determines how mounts are propagated from the host to container and the other way around. When not set, MountPropagationNone is used.\n"},"name":{"type":"string","description":"This must match the Name of a Volume.\n"},"readOnly":{"type":"boolean","description":"Mounted read-only if true, read-write otherwise.\n"},"subPath":{"type":"string","description":"Path within the volume from which the container's volume should be mounted. Mutually exclusive with sub*path*expr.\n"},"subPathExpr":{"type":"string","description":"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.\n"}},"type":"object","required":["mountPath","name"]},"harness:chaos/getSecurityGovernanceConditionFaultSpec:getSecurityGovernanceConditionFaultSpec":{"properties":{"faults":{"type":"array","items":{"$ref":"#/types/harness:chaos/getSecurityGovernanceConditionFaultSpecFault:getSecurityGovernanceConditionFaultSpecFault"},"description":"List of fault specifications\n"},"operator":{"type":"string","description":"Operator for the fault specification\n"}},"type":"object","required":["faults","operator"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getSecurityGovernanceConditionFaultSpecFault:getSecurityGovernanceConditionFaultSpecFault":{"properties":{"faultType":{"type":"string","description":"Type of the fault\n"},"name":{"type":"string","description":"Name of the fault\n"}},"type":"object","required":["faultType","name"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getSecurityGovernanceConditionK8sSpec:getSecurityGovernanceConditionK8sSpec":{"properties":{"infraSpecs":{"type":"array","items":{"$ref":"#/types/harness:chaos/getSecurityGovernanceConditionK8sSpecInfraSpec:getSecurityGovernanceConditionK8sSpecInfraSpec"},"description":"Infrastructure specification\n"}},"type":"object","required":["infraSpecs"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getSecurityGovernanceConditionK8sSpecInfraSpec:getSecurityGovernanceConditionK8sSpecInfraSpec":{"properties":{"infraIds":{"type":"array","items":{"type":"string"},"description":"List of infrastructure IDs\n"},"operator":{"type":"string","description":"Operator for comparing infrastructure IDs\n"}},"type":"object","required":["infraIds","operator"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getSecurityGovernanceConditionMachineSpec:getSecurityGovernanceConditionMachineSpec":{"properties":{"infraSpecs":{"type":"array","items":{"$ref":"#/types/harness:chaos/getSecurityGovernanceConditionMachineSpecInfraSpec:getSecurityGovernanceConditionMachineSpecInfraSpec"},"description":"Infrastructure specification\n"}},"type":"object","required":["infraSpecs"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getSecurityGovernanceConditionMachineSpecInfraSpec:getSecurityGovernanceConditionMachineSpecInfraSpec":{"properties":{"infraIds":{"type":"array","items":{"type":"string"},"description":"List of infrastructure IDs\n"},"operator":{"type":"string","description":"Operator for comparing infrastructure IDs\n"}},"type":"object","required":["infraIds","operator"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getSecurityGovernanceRuleTimeWindow:getSecurityGovernanceRuleTimeWindow":{"properties":{"duration":{"type":"string","description":"Duration of the time window (e.g., '30m', '2h').\n"},"endTime":{"type":"integer","description":"End time of the time window in milliseconds since epoch.\n"},"recurrences":{"type":"array","items":{"$ref":"#/types/harness:chaos/getSecurityGovernanceRuleTimeWindowRecurrence:getSecurityGovernanceRuleTimeWindowRecurrence"},"description":"Recurrence configuration for the time window.\n"},"startTime":{"type":"integer","description":"Start time of the time window in milliseconds since epoch.\n"},"timeZone":{"type":"string","description":"Time zone for the time window.\n"}},"type":"object","required":["duration","endTime","recurrences","startTime","timeZone"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:chaos/getSecurityGovernanceRuleTimeWindowRecurrence:getSecurityGovernanceRuleTimeWindowRecurrence":{"properties":{"type":{"type":"string","description":"Type of recurrence (e.g., 'Daily', 'Weekly', 'Monthly').\n"},"until":{"type":"integer","description":"Unix timestamp in milliseconds until when the recurrence should continue.\n"},"value":{"type":"integer","description":"Recurrence value (e.g., interval for daily recurrence).\n"}},"type":"object","required":["type","until","value"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:cloudprovider/AwsAssumeCrossAccountRole:AwsAssumeCrossAccountRole":{"properties":{"externalId":{"type":"string","description":"If the administrator of the account to which the role belongs provided you with an external ID, then enter that value.\n"},"roleArn":{"type":"string","description":"This is an IAM role in the target deployment AWS account.\n"}},"type":"object","required":["roleArn"]},"harness:cloudprovider/AwsUsageScope:AwsUsageScope":{"properties":{"applicationId":{"type":"string","description":"Id of the application to scope to. If empty then this scope applies to all applications.\n"},"environmentFilterType":{"type":"string","description":"Type of environment filter applied. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentId`\" pulumi-lang-dotnet=\"`EnvironmentId`\" pulumi-lang-go=\"`environmentId`\" pulumi-lang-python=\"`environment_id`\" pulumi-lang-yaml=\"`environmentId`\" pulumi-lang-java=\"`environmentId`\"\u003e`environment_id`\u003c/span\u003e. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"},"environmentId":{"type":"string","description":"Id of the id of the specific environment to scope to. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentFilterType`\" pulumi-lang-dotnet=\"`EnvironmentFilterType`\" pulumi-lang-go=\"`environmentFilterType`\" pulumi-lang-python=\"`environment_filter_type`\" pulumi-lang-yaml=\"`environmentFilterType`\" pulumi-lang-java=\"`environmentFilterType`\"\u003e`environment_filter_type`\u003c/span\u003e.\n"}},"type":"object"},"harness:cloudprovider/DatacenterUsageScope:DatacenterUsageScope":{"properties":{"applicationId":{"type":"string","description":"Id of the application to scope to. If empty then this scope applies to all applications.\n"},"environmentFilterType":{"type":"string","description":"Type of environment filter applied. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentId`\" pulumi-lang-dotnet=\"`EnvironmentId`\" pulumi-lang-go=\"`environmentId`\" pulumi-lang-python=\"`environment_id`\" pulumi-lang-yaml=\"`environmentId`\" pulumi-lang-java=\"`environmentId`\"\u003e`environment_id`\u003c/span\u003e. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"},"environmentId":{"type":"string","description":"Id of the id of the specific environment to scope to. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentFilterType`\" pulumi-lang-dotnet=\"`EnvironmentFilterType`\" pulumi-lang-go=\"`environmentFilterType`\" pulumi-lang-python=\"`environment_filter_type`\" pulumi-lang-yaml=\"`environmentFilterType`\" pulumi-lang-java=\"`environmentFilterType`\"\u003e`environment_filter_type`\u003c/span\u003e.\n"}},"type":"object"},"harness:cloudprovider/GcpUsageScope:GcpUsageScope":{"properties":{"applicationId":{"type":"string","description":"Id of the application to scope to. If empty then this scope applies to all applications.\n"},"environmentFilterType":{"type":"string","description":"Type of environment filter applied. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentId`\" pulumi-lang-dotnet=\"`EnvironmentId`\" pulumi-lang-go=\"`environmentId`\" pulumi-lang-python=\"`environment_id`\" pulumi-lang-yaml=\"`environmentId`\" pulumi-lang-java=\"`environmentId`\"\u003e`environment_id`\u003c/span\u003e. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"},"environmentId":{"type":"string","description":"Id of the id of the specific environment to scope to. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentFilterType`\" pulumi-lang-dotnet=\"`EnvironmentFilterType`\" pulumi-lang-go=\"`environmentFilterType`\" pulumi-lang-python=\"`environment_filter_type`\" pulumi-lang-yaml=\"`environmentFilterType`\" pulumi-lang-java=\"`environmentFilterType`\"\u003e`environment_filter_type`\u003c/span\u003e.\n"}},"type":"object"},"harness:cloudprovider/KubernetesAuthentication:KubernetesAuthentication":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Delegate selectors to inherit the GCP credentials from.\n"},"oidc":{"$ref":"#/types/harness:cloudprovider/KubernetesAuthenticationOidc:KubernetesAuthenticationOidc","description":"Service account configuration for connecting to the Kubernetes cluster\n"},"serviceAccount":{"$ref":"#/types/harness:cloudprovider/KubernetesAuthenticationServiceAccount:KubernetesAuthenticationServiceAccount","description":"Username and password for authentication to the cluster\n"},"usernamePassword":{"$ref":"#/types/harness:cloudprovider/KubernetesAuthenticationUsernamePassword:KubernetesAuthenticationUsernamePassword","description":"Username and password for authentication to the cluster\n"}},"type":"object"},"harness:cloudprovider/KubernetesAuthenticationOidc:KubernetesAuthenticationOidc":{"properties":{"clientIdSecretName":{"type":"string","description":"Name of the Harness secret containing the client ID for the cluster.\n"},"clientSecretSecretName":{"type":"string","description":"Name of the Harness secret containing the client secret for the cluster.\n"},"identityProviderUrl":{"type":"string","description":"URL of the identity provider to use.\n"},"masterUrl":{"type":"string","description":"URL of the Kubernetes master to connect to.\n"},"passwordSecretName":{"type":"string","description":"Name of the Harness secret containing the password for the cluster.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Scopes to request from the identity provider.\n"},"username":{"type":"string","description":"Username for authentication to the cluster. This can be the username itself or the ID of a harness secret.\n"}},"type":"object","required":["clientIdSecretName","identityProviderUrl","masterUrl","passwordSecretName","username"]},"harness:cloudprovider/KubernetesAuthenticationServiceAccount:KubernetesAuthenticationServiceAccount":{"properties":{"caCertificateSecretName":{"type":"string","description":"Name of the Harness secret containing the CA certificate for the cluster.\n"},"masterUrl":{"type":"string","description":"URL of the Kubernetes master to connect to.\n"},"serviceAccountTokenSecretName":{"type":"string","description":"Name of the Harness secret containing the service account token for the cluster.\n"}},"type":"object","required":["masterUrl","serviceAccountTokenSecretName"]},"harness:cloudprovider/KubernetesAuthenticationUsernamePassword:KubernetesAuthenticationUsernamePassword":{"properties":{"masterUrl":{"type":"string","description":"URL of the Kubernetes master to connect to.\n"},"passwordSecretName":{"type":"string","description":"Name of the Harness secret containing the password for the cluster.\n"},"username":{"type":"string","description":"Username for authentication to the cluster\n"},"usernameSecretName":{"type":"string","description":"Name of the Harness secret containing the username for authentication to the cluster\n"}},"type":"object","required":["masterUrl","passwordSecretName"]},"harness:cloudprovider/KubernetesUsageScope:KubernetesUsageScope":{"properties":{"applicationId":{"type":"string","description":"Id of the application to scope to. If empty then this scope applies to all applications.\n"},"environmentFilterType":{"type":"string","description":"Type of environment filter applied. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentId`\" pulumi-lang-dotnet=\"`EnvironmentId`\" pulumi-lang-go=\"`environmentId`\" pulumi-lang-python=\"`environment_id`\" pulumi-lang-yaml=\"`environmentId`\" pulumi-lang-java=\"`environmentId`\"\u003e`environment_id`\u003c/span\u003e. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"},"environmentId":{"type":"string","description":"Id of the id of the specific environment to scope to. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentFilterType`\" pulumi-lang-dotnet=\"`EnvironmentFilterType`\" pulumi-lang-go=\"`environmentFilterType`\" pulumi-lang-python=\"`environment_filter_type`\" pulumi-lang-yaml=\"`environmentFilterType`\" pulumi-lang-java=\"`environmentFilterType`\"\u003e`environment_filter_type`\u003c/span\u003e.\n"}},"type":"object"},"harness:cluster/OrchestratorConfigBinpacking:OrchestratorConfigBinpacking":{"properties":{"disruption":{"$ref":"#/types/harness:cluster/OrchestratorConfigBinpackingDisruption:OrchestratorConfigBinpackingDisruption","description":"Harness disruption configuration\n"},"podEviction":{"$ref":"#/types/harness:cluster/OrchestratorConfigBinpackingPodEviction:OrchestratorConfigBinpackingPodEviction","description":"Harness Pod Evictor Configuration\n"}},"type":"object"},"harness:cluster/OrchestratorConfigBinpackingDisruption:OrchestratorConfigBinpackingDisruption":{"properties":{"budgets":{"type":"array","items":{"$ref":"#/types/harness:cluster/OrchestratorConfigBinpackingDisruptionBudget:OrchestratorConfigBinpackingDisruptionBudget"},"description":"Budgets for disruption\n"},"criteria":{"type":"string","description":"Criteria for considering a nodes for disruption\n"},"delay":{"type":"string","description":"Deletion delay\n"}},"type":"object"},"harness:cluster/OrchestratorConfigBinpackingDisruptionBudget:OrchestratorConfigBinpackingDisruptionBudget":{"properties":{"nodes":{"type":"string","description":"Number or percentage of Nodes to consider for disruption\n"},"reasons":{"type":"array","items":{"type":"string"},"description":"Reasons for disruption\n"},"schedule":{"$ref":"#/types/harness:cluster/OrchestratorConfigBinpackingDisruptionBudgetSchedule:OrchestratorConfigBinpackingDisruptionBudgetSchedule","description":"Schedule for disruption budget\n"}},"type":"object","required":["nodes"]},"harness:cluster/OrchestratorConfigBinpackingDisruptionBudgetSchedule:OrchestratorConfigBinpackingDisruptionBudgetSchedule":{"properties":{"duration":{"type":"string","description":"Duration for disruption budget\n"},"frequency":{"type":"string","description":"Frequency for disruption budget\n"}},"type":"object","required":["duration","frequency"]},"harness:cluster/OrchestratorConfigBinpackingPodEviction:OrchestratorConfigBinpackingPodEviction":{"properties":{"threshold":{"$ref":"#/types/harness:cluster/OrchestratorConfigBinpackingPodEvictionThreshold:OrchestratorConfigBinpackingPodEvictionThreshold","description":"Minimum Threshold for considering a node as underutilized\n"}},"type":"object","required":["threshold"]},"harness:cluster/OrchestratorConfigBinpackingPodEvictionThreshold:OrchestratorConfigBinpackingPodEvictionThreshold":{"properties":{"cpu":{"type":"number","description":"CPU percentage for considering a node as underutilized\n"},"memory":{"type":"number","description":"Memory percentage for considering a node as underutilized\n"}},"type":"object","required":["cpu","memory"]},"harness:cluster/OrchestratorConfigCommitmentIntegration:OrchestratorConfigCommitmentIntegration":{"properties":{"enabled":{"type":"boolean","description":"Flag to enable Commitment Integration\n"},"masterAccountId":{"type":"string","description":"Master AWS account id for commitment integration\n"}},"type":"object","required":["enabled","masterAccountId"]},"harness:cluster/OrchestratorConfigDistribution:OrchestratorConfigDistribution":{"properties":{"baseOndemandCapacity":{"type":"integer","description":"Number of minimum ondemand replicas required for workloads\n"},"ondemandReplicaPercentage":{"type":"number","description":"Percentage of on-demand replicas required for workloads\n"},"selector":{"type":"string","description":"Selector for choosing workloads for distribution\n"},"strategy":{"type":"string","description":"Strategy for choosing spot nodes for cluster\n"}},"type":"object","required":["ondemandReplicaPercentage"]},"harness:cluster/OrchestratorConfigNodePreferences:OrchestratorConfigNodePreferences":{"properties":{"reverseFallbackInterval":{"type":"string","description":"Reverse fallback interval\n"},"ttl":{"type":"string","description":"TTL for nodes\n"}},"type":"object"},"harness:cluster/OrchestratorConfigReplacementSchedule:OrchestratorConfigReplacementSchedule":{"properties":{"appliesTo":{"$ref":"#/types/harness:cluster/OrchestratorConfigReplacementScheduleAppliesTo:OrchestratorConfigReplacementScheduleAppliesTo","description":"Defines the scope of the replacement schedule\n"},"windowDetails":{"$ref":"#/types/harness:cluster/OrchestratorConfigReplacementScheduleWindowDetails:OrchestratorConfigReplacementScheduleWindowDetails"},"windowType":{"type":"string","description":"Window type for replacement schedule\n"}},"type":"object","required":["appliesTo","windowType"]},"harness:cluster/OrchestratorConfigReplacementScheduleAppliesTo:OrchestratorConfigReplacementScheduleAppliesTo":{"properties":{"consolidation":{"type":"boolean"},"harnessPodEviction":{"type":"boolean"},"reverseFallback":{"type":"boolean"}},"type":"object","required":["consolidation","harnessPodEviction","reverseFallback"]},"harness:cluster/OrchestratorConfigReplacementScheduleWindowDetails:OrchestratorConfigReplacementScheduleWindowDetails":{"properties":{"allDay":{"type":"boolean"},"days":{"type":"array","items":{"type":"string"},"description":"List of days on which schedule need to be active. Valid values are SUN, MON, TUE, WED, THU, FRI and SAT.\n"},"endTime":{"type":"string","description":"End time of schedule in the format HH:MM. Eg : 13:15 for 01:15pm\n"},"startTime":{"type":"string","description":"Start time of schedule in the format HH:MM. Eg : 13:15 for 01:15pm\n"},"timeZone":{"type":"string","description":"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.\n"}},"type":"object","required":["days","timeZone"]},"harness:cluster/getOrchestratorConfigBinpacking:getOrchestratorConfigBinpacking":{"properties":{"disruption":{"$ref":"#/types/harness:cluster/getOrchestratorConfigBinpackingDisruption:getOrchestratorConfigBinpackingDisruption","description":"Harness disruption configuration\n"},"podEviction":{"$ref":"#/types/harness:cluster/getOrchestratorConfigBinpackingPodEviction:getOrchestratorConfigBinpackingPodEviction","description":"Harness Pod Evictor Configuration\n"}},"type":"object"},"harness:cluster/getOrchestratorConfigBinpackingDisruption:getOrchestratorConfigBinpackingDisruption":{"properties":{"budgets":{"type":"array","items":{"$ref":"#/types/harness:cluster/getOrchestratorConfigBinpackingDisruptionBudget:getOrchestratorConfigBinpackingDisruptionBudget"},"description":"Budgets for disruption\n"},"criteria":{"type":"string","description":"Criteria for considering a nodes for disruption\n"},"delay":{"type":"string","description":"Deletion delay\n"}},"type":"object"},"harness:cluster/getOrchestratorConfigBinpackingDisruptionBudget:getOrchestratorConfigBinpackingDisruptionBudget":{"properties":{"nodes":{"type":"string","description":"Number or percentage of Nodes to consider for disruption\n"},"reasons":{"type":"array","items":{"type":"string"},"description":"Reasons for disruption\n"},"schedule":{"$ref":"#/types/harness:cluster/getOrchestratorConfigBinpackingDisruptionBudgetSchedule:getOrchestratorConfigBinpackingDisruptionBudgetSchedule","description":"Schedule for disruption budget\n"}},"type":"object","required":["nodes"]},"harness:cluster/getOrchestratorConfigBinpackingDisruptionBudgetSchedule:getOrchestratorConfigBinpackingDisruptionBudgetSchedule":{"properties":{"duration":{"type":"string","description":"Duration for disruption budget\n"},"frequency":{"type":"string","description":"Frequency for disruption budget\n"}},"type":"object","required":["duration","frequency"]},"harness:cluster/getOrchestratorConfigBinpackingPodEviction:getOrchestratorConfigBinpackingPodEviction":{"properties":{"threshold":{"$ref":"#/types/harness:cluster/getOrchestratorConfigBinpackingPodEvictionThreshold:getOrchestratorConfigBinpackingPodEvictionThreshold","description":"Minimum Threshold for considering a node as underutilized\n"}},"type":"object","required":["threshold"]},"harness:cluster/getOrchestratorConfigBinpackingPodEvictionThreshold:getOrchestratorConfigBinpackingPodEvictionThreshold":{"properties":{"cpu":{"type":"number","description":"CPU percentage for considering a node as underutilized\n"},"memory":{"type":"number","description":"Memory percentage for considering a node as underutilized\n"}},"type":"object","required":["cpu","memory"]},"harness:cluster/getOrchestratorConfigCommitmentIntegration:getOrchestratorConfigCommitmentIntegration":{"properties":{"enabled":{"type":"boolean","description":"Flag to enable Commitment Integration\n"},"masterAccountId":{"type":"string","description":"Master AWS account id for commitment integration\n"}},"type":"object","required":["enabled","masterAccountId"]},"harness:cluster/getOrchestratorConfigDistribution:getOrchestratorConfigDistribution":{"properties":{"baseOndemandCapacity":{"type":"integer","description":"Number of minimum ondemand replicas required for workloads\n"},"ondemandReplicaPercentage":{"type":"number","description":"Percentage of on-demand replicas required for workloads\n"},"selector":{"type":"string","description":"Selector for choosing workloads for distribution\n"},"strategy":{"type":"string","description":"Strategy for choosing spot nodes for cluster\n"}},"type":"object","required":["ondemandReplicaPercentage"]},"harness:cluster/getOrchestratorConfigNodePreferences:getOrchestratorConfigNodePreferences":{"properties":{"reverseFallbackInterval":{"type":"string","description":"Reverse fallback interval\n"},"ttl":{"type":"string","description":"TTL for nodes\n"}},"type":"object"},"harness:cluster/getOrchestratorConfigReplacementSchedule:getOrchestratorConfigReplacementSchedule":{"properties":{"appliesTo":{"$ref":"#/types/harness:cluster/getOrchestratorConfigReplacementScheduleAppliesTo:getOrchestratorConfigReplacementScheduleAppliesTo","description":"Defines the scope of the replacement schedule\n"},"windowDetails":{"$ref":"#/types/harness:cluster/getOrchestratorConfigReplacementScheduleWindowDetails:getOrchestratorConfigReplacementScheduleWindowDetails"},"windowType":{"type":"string","description":"Window type for replacement schedule\n"}},"type":"object","required":["appliesTo","windowType"]},"harness:cluster/getOrchestratorConfigReplacementScheduleAppliesTo:getOrchestratorConfigReplacementScheduleAppliesTo":{"properties":{"consolidation":{"type":"boolean"},"harnessPodEviction":{"type":"boolean"},"reverseFallback":{"type":"boolean"}},"type":"object","required":["consolidation","harnessPodEviction","reverseFallback"]},"harness:cluster/getOrchestratorConfigReplacementScheduleWindowDetails:getOrchestratorConfigReplacementScheduleWindowDetails":{"properties":{"allDay":{"type":"boolean"},"days":{"type":"array","items":{"type":"string"},"description":"List of days on which schedule need to be active. Valid values are SUN, MON, TUE, WED, THU, FRI and SAT.\n"},"endTime":{"type":"string","description":"End time of schedule in the format HH:MM. Eg : 13:15 for 01:15pm\n"},"startTime":{"type":"string","description":"Start time of schedule in the format HH:MM. Eg : 13:15 for 01:15pm\n"},"timeZone":{"type":"string","description":"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.\n"}},"type":"object","required":["days","timeZone"]},"harness:index/EncryptedTextUsageScope:EncryptedTextUsageScope":{"properties":{"applicationId":{"type":"string","description":"Id of the application to scope to. If empty then this scope applies to all applications.\n"},"environmentFilterType":{"type":"string","description":"Type of environment filter applied. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentId`\" pulumi-lang-dotnet=\"`EnvironmentId`\" pulumi-lang-go=\"`environmentId`\" pulumi-lang-python=\"`environment_id`\" pulumi-lang-yaml=\"`environmentId`\" pulumi-lang-java=\"`environmentId`\"\u003e`environment_id`\u003c/span\u003e. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"},"environmentId":{"type":"string","description":"Id of the id of the specific environment to scope to. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentFilterType`\" pulumi-lang-dotnet=\"`EnvironmentFilterType`\" pulumi-lang-go=\"`environmentFilterType`\" pulumi-lang-python=\"`environment_filter_type`\" pulumi-lang-yaml=\"`environmentFilterType`\" pulumi-lang-java=\"`environmentFilterType`\"\u003e`environment_filter_type`\u003c/span\u003e.\n"}},"type":"object"},"harness:index/EnvironmentVariableOverride:EnvironmentVariableOverride":{"properties":{"name":{"type":"string","description":"The name of the variable\n"},"serviceName":{"type":"string","description":"The name of the service\n"},"type":{"type":"string","description":"The type of the service variable. Valid values are `TEXT` and `ENCRYPTED_TEXT`\n"},"value":{"type":"string","description":"The value of the service variable\n"}},"type":"object","required":["name","type","value"]},"harness:index/GitConnectorCommitDetails:GitConnectorCommitDetails":{"properties":{"authorEmailId":{"type":"string","description":"The email id of the author\n"},"authorName":{"type":"string","description":"The name of the author\n"},"message":{"type":"string","description":"Commit message\n"}},"type":"object"},"harness:index/GitConnectorUsageScope:GitConnectorUsageScope":{"properties":{"applicationId":{"type":"string","description":"Id of the application to scope to. If empty then this scope applies to all applications.\n"},"environmentFilterType":{"type":"string","description":"Type of environment filter applied. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentId`\" pulumi-lang-dotnet=\"`EnvironmentId`\" pulumi-lang-go=\"`environmentId`\" pulumi-lang-python=\"`environment_id`\" pulumi-lang-yaml=\"`environmentId`\" pulumi-lang-java=\"`environmentId`\"\u003e`environment_id`\u003c/span\u003e. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"},"environmentId":{"type":"string","description":"Id of the id of the specific environment to scope to. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentFilterType`\" pulumi-lang-dotnet=\"`EnvironmentFilterType`\" pulumi-lang-go=\"`environmentFilterType`\" pulumi-lang-python=\"`environment_filter_type`\" pulumi-lang-yaml=\"`environmentFilterType`\" pulumi-lang-java=\"`environmentFilterType`\"\u003e`environment_filter_type`\u003c/span\u003e.\n"}},"type":"object"},"harness:index/InfrastructureDefinitionAwsAmi:InfrastructureDefinitionAwsAmi":{"properties":{"amiDeploymentType":{"type":"string","description":"The ami deployment type to use. Valid options are AWS_ASG, SPOTINST\n"},"asgIdentifiesWorkload":{"type":"boolean","description":"Flag to indicate whether the autoscaling group identifies the workload.\n"},"autoscalingGroupName":{"type":"string","description":"The name of the autoscaling group.\n"},"classicLoadbalancers":{"type":"array","items":{"type":"string"},"description":"The classic load balancers to use.\n"},"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"hostnameConvention":{"type":"string","description":"The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}\n"},"region":{"type":"string","description":"The region to deploy to.\n"},"spotinstCloudProviderName":{"type":"string","description":"The name of the SpotInst cloud provider to connect with.\n"},"spotinstConfigJson":{"type":"string","description":"The SpotInst configuration to use.\n"},"stageClassicLoadbalancers":{"type":"array","items":{"type":"string"},"description":"The staging classic load balancers to use.\n"},"stageTargetGroupArns":{"type":"array","items":{"type":"string"},"description":"The staging classic load balancers to use.\n"},"targetGroupArns":{"type":"array","items":{"type":"string"},"description":"The ARN's of the target groups.\n"},"useTrafficShift":{"type":"boolean","description":"Flag to enable traffic shifting.\n"}},"type":"object","required":["amiDeploymentType","cloudProviderName","region"]},"harness:index/InfrastructureDefinitionAwsEcs:InfrastructureDefinitionAwsEcs":{"properties":{"assignPublicIp":{"type":"boolean","description":"Flag to assign a public IP address.\n"},"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"clusterName":{"type":"string","description":"The name of the ECS cluster to use.\n"},"executionRole":{"type":"string","description":"The ARN of the role to use for execution.\n"},"launchType":{"type":"string","description":"The type of launch configuration to use. Valid options are FARGATE\n"},"region":{"type":"string","description":"The region to deploy to.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The security group ids to apply to the ecs service.\n"},"subnetIds":{"type":"array","items":{"type":"string"},"description":"The subnet ids to apply to the ecs service.\n"},"vpcId":{"type":"string","description":"The VPC ids to use when selecting the instances.\n"}},"type":"object","required":["cloudProviderName","clusterName","launchType","region"]},"harness:index/InfrastructureDefinitionAwsLambda:InfrastructureDefinitionAwsLambda":{"properties":{"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"iamRole":{"type":"string","description":"The IAM role to use.\n"},"region":{"type":"string","description":"The region to deploy to.\n"},"securityGroupIds":{"type":"array","items":{"type":"string"},"description":"The security group ids to apply to the ecs service.\n"},"subnetIds":{"type":"array","items":{"type":"string"},"description":"The subnet ids to apply to the ecs service.\n"},"vpcId":{"type":"string","description":"The VPC ids to use when selecting the instances.\n"}},"type":"object","required":["cloudProviderName","region"]},"harness:index/InfrastructureDefinitionAwsSsh:InfrastructureDefinitionAwsSsh":{"properties":{"autoscalingGroupName":{"type":"string","description":"The name of the autoscaling group.\n"},"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"desiredCapacity":{"type":"integer","description":"The desired capacity of the auto scaling group.\n"},"hostConnectionAttrsName":{"type":"string","description":"The name of the host connection attributes to use.\n"},"hostConnectionType":{"type":"string","description":"The type of host connection to use. Valid options are PRIVATE*DNS, PUBLIC*DNS, PRIVATE*IP, PUBLIC*IP\n"},"hostnameConvention":{"type":"string","description":"The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}\n"},"loadbalancerName":{"type":"string","description":"The name of the load balancer to use.\n"},"region":{"type":"string","description":"The region to deploy to.\n"},"tags":{"type":"array","items":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsSshTag:InfrastructureDefinitionAwsSshTag"},"description":"The tags to use when selecting the instances.\n"},"vpcIds":{"type":"array","items":{"type":"string"},"description":"The VPC ids to use when selecting the instances.\n"}},"type":"object","required":["cloudProviderName","hostConnectionType","region"]},"harness:index/InfrastructureDefinitionAwsSshTag:InfrastructureDefinitionAwsSshTag":{"properties":{"key":{"type":"string","description":"The key of the tag.\n"},"value":{"type":"string","description":"The value of the tag.\n"}},"type":"object","required":["key","value"]},"harness:index/InfrastructureDefinitionAwsWinrm:InfrastructureDefinitionAwsWinrm":{"properties":{"autoscalingGroupName":{"type":"string","description":"The name of the autoscaling group.\n"},"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"desiredCapacity":{"type":"integer","description":"The desired capacity of the autoscaling group.\n"},"hostConnectionAttrsName":{"type":"string","description":"The name of the host connection attributes to use.\n"},"hostConnectionType":{"type":"string","description":"The type of host connection to use. Valid options are PRIVATE*DNS, PUBLIC*DNS, PRIVATE*IP, PUBLIC*IP\n"},"hostnameConvention":{"type":"string","description":"The naming convention to use for the hostname. Defaults to ${host.ec2Instance.privateDnsName.split('.')[0]}\n"},"loadbalancerName":{"type":"string","description":"The name of the load balancer to use.\n"},"region":{"type":"string","description":"The region to deploy to.\n"}},"type":"object","required":["autoscalingGroupName","cloudProviderName","hostConnectionAttrsName","hostConnectionType","region"]},"harness:index/InfrastructureDefinitionAzureVmss:InfrastructureDefinitionAzureVmss":{"properties":{"authType":{"type":"string","description":"The type of authentication to use. Valid options are SSH*PUBLIC*KEY.\n"},"baseName":{"type":"string","description":"Base name.\n"},"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"deploymentType":{"type":"string","description":"The type of deployment. Valid options are NATIVE_VMSS\n"},"hostConnectionAttrsName":{"type":"string","description":"The name of the host connection attributes to use.\n"},"resourceGroupName":{"type":"string","description":"The name of the resource group.\n"},"subscriptionId":{"type":"string","description":"The unique id of the azure subscription.\n"},"username":{"type":"string","description":"The username to connect with.\n"}},"type":"object","required":["authType","baseName","cloudProviderName","deploymentType","resourceGroupName","subscriptionId","username"]},"harness:index/InfrastructureDefinitionAzureWebapp:InfrastructureDefinitionAzureWebapp":{"properties":{"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"resourceGroup":{"type":"string","description":"The name of the resource group.\n"},"subscriptionId":{"type":"string","description":"The unique id of the azure subscription.\n"}},"type":"object","required":["cloudProviderName","resourceGroup","subscriptionId"]},"harness:index/InfrastructureDefinitionCustom:InfrastructureDefinitionCustom":{"properties":{"deploymentTypeTemplateVersion":{"type":"string","description":"The template version\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:index/InfrastructureDefinitionCustomVariable:InfrastructureDefinitionCustomVariable"},"description":"Variables to be used in the service\n"}},"type":"object","required":["deploymentTypeTemplateVersion"]},"harness:index/InfrastructureDefinitionCustomVariable:InfrastructureDefinitionCustomVariable":{"properties":{"name":{"type":"string","description":"Name of the variable\n"},"value":{"type":"string","description":"Value of the variable\n"}},"type":"object","required":["name","value"]},"harness:index/InfrastructureDefinitionDatacenterSsh:InfrastructureDefinitionDatacenterSsh":{"properties":{"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"hostConnectionAttributesName":{"type":"string","description":"The name of the SSH connection attributes to use.\n"},"hostnames":{"type":"array","items":{"type":"string"},"description":"A list of hosts to deploy to.\n"}},"type":"object","required":["cloudProviderName","hostConnectionAttributesName","hostnames"]},"harness:index/InfrastructureDefinitionDatacenterWinrm:InfrastructureDefinitionDatacenterWinrm":{"properties":{"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"hostnames":{"type":"array","items":{"type":"string"},"description":"A list of hosts to deploy to.\n"},"winrmConnectionAttributesName":{"type":"string","description":"The name of the WinRM connection attributes to use.\n"}},"type":"object","required":["cloudProviderName","hostnames","winrmConnectionAttributesName"]},"harness:index/InfrastructureDefinitionKubernetes:InfrastructureDefinitionKubernetes":{"properties":{"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"namespace":{"type":"string","description":"The namespace in Kubernetes to deploy to.\n"},"releaseName":{"type":"string","description":"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}\n"}},"type":"object","required":["cloudProviderName","namespace","releaseName"]},"harness:index/InfrastructureDefinitionKubernetesGcp:InfrastructureDefinitionKubernetesGcp":{"properties":{"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"clusterName":{"type":"string","description":"The name of the cluster being deployed to.\n"},"namespace":{"type":"string","description":"The namespace in Kubernetes to deploy to.\n"},"releaseName":{"type":"string","description":"The naming convention of the release.\n"}},"type":"object","required":["cloudProviderName","clusterName","namespace","releaseName"]},"harness:index/InfrastructureDefinitionTanzu:InfrastructureDefinitionTanzu":{"properties":{"cloudProviderName":{"type":"string","description":"The name of the cloud provider to connect with.\n"},"organization":{"type":"string","description":"The PCF organization to use.\n"},"space":{"type":"string","description":"The PCF space to deploy to.\n"}},"type":"object","required":["cloudProviderName","organization","space"]},"harness:index/PlatformCcmFiltersFilterProperties:PlatformCcmFiltersFilterProperties":{"properties":{"filterType":{"type":"string","description":"Type of CCM filters.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. Tags should be in the form `name:value`.\n"}},"type":"object","required":["filterType"]},"harness:index/SshCredentialKerberosAuthentication:SshCredentialKerberosAuthentication":{"properties":{"port":{"type":"integer","description":"Port to use for Kerberos authentication\n","willReplaceOnChanges":true},"principal":{"type":"string","description":"Name of the principal for authentication\n","willReplaceOnChanges":true},"realm":{"type":"string","description":"Realm associated with the Kerberos authentication\n","willReplaceOnChanges":true},"tgtGenerationMethod":{"$ref":"#/types/harness:index/SshCredentialKerberosAuthenticationTgtGenerationMethod:SshCredentialKerberosAuthenticationTgtGenerationMethod","description":"TGT generation method\n","willReplaceOnChanges":true}},"type":"object","required":["port","principal","realm"]},"harness:index/SshCredentialKerberosAuthenticationTgtGenerationMethod:SshCredentialKerberosAuthenticationTgtGenerationMethod":{"properties":{"kerberosPasswordId":{"type":"string","description":"The id of the encrypted text secret\n","willReplaceOnChanges":true},"keyTabFilePath":{"type":"string","description":"The path to the key tab file\n","willReplaceOnChanges":true}},"type":"object"},"harness:index/SshCredentialSshAuthentication:SshCredentialSshAuthentication":{"properties":{"inlineSsh":{"$ref":"#/types/harness:index/SshCredentialSshAuthenticationInlineSsh:SshCredentialSshAuthenticationInlineSsh","description":"Inline SSH authentication configuration. Only ond of \u003cspan pulumi-lang-nodejs=\"`passphraseSecretId`\" pulumi-lang-dotnet=\"`PassphraseSecretId`\" pulumi-lang-go=\"`passphraseSecretId`\" pulumi-lang-python=\"`passphrase_secret_id`\" pulumi-lang-yaml=\"`passphraseSecretId`\" pulumi-lang-java=\"`passphraseSecretId`\"\u003e`passphrase_secret_id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sshKeyFileId`\" pulumi-lang-dotnet=\"`SshKeyFileId`\" pulumi-lang-go=\"`sshKeyFileId`\" pulumi-lang-python=\"`ssh_key_file_id`\" pulumi-lang-yaml=\"`sshKeyFileId`\" pulumi-lang-java=\"`sshKeyFileId`\"\u003e`ssh_key_file_id`\u003c/span\u003e should be used\n","willReplaceOnChanges":true},"port":{"type":"integer","description":"The port to connect to\n"},"serverPassword":{"$ref":"#/types/harness:index/SshCredentialSshAuthenticationServerPassword:SshCredentialSshAuthenticationServerPassword","description":"Server password authentication configuration\n","willReplaceOnChanges":true},"sshKeyFile":{"$ref":"#/types/harness:index/SshCredentialSshAuthenticationSshKeyFile:SshCredentialSshAuthenticationSshKeyFile","description":"Use ssh key file for authentication\n","willReplaceOnChanges":true},"username":{"type":"string","description":"The username to use when connecting to ssh\n"}},"type":"object","required":["port","username"]},"harness:index/SshCredentialSshAuthenticationInlineSsh:SshCredentialSshAuthenticationInlineSsh":{"properties":{"passphraseSecretId":{"type":"string","description":"The id of the encrypted secret to use\n"},"sshKeyFileId":{"type":"string","description":"The id of the secret containing the SSH key\n"}},"type":"object","required":["sshKeyFileId"]},"harness:index/SshCredentialSshAuthenticationServerPassword:SshCredentialSshAuthenticationServerPassword":{"properties":{"passwordSecretId":{"type":"string","description":"The id of the encrypted secret\n"}},"type":"object","required":["passwordSecretId"]},"harness:index/SshCredentialSshAuthenticationSshKeyFile:SshCredentialSshAuthenticationSshKeyFile":{"properties":{"passphraseSecretId":{"type":"string","description":"The id of the secret containing the password to use for the ssh key\n"},"path":{"type":"string","description":"The path to the key file on the delegate\n"}},"type":"object","required":["path"]},"harness:index/SshCredentialUsageScope:SshCredentialUsageScope":{"properties":{"applicationId":{"type":"string","description":"Id of the application to scope to. If empty then this scope applies to all applications.\n"},"environmentFilterType":{"type":"string","description":"Type of environment filter applied. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentId`\" pulumi-lang-dotnet=\"`EnvironmentId`\" pulumi-lang-go=\"`environmentId`\" pulumi-lang-python=\"`environment_id`\" pulumi-lang-yaml=\"`environmentId`\" pulumi-lang-java=\"`environmentId`\"\u003e`environment_id`\u003c/span\u003e. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"},"environmentId":{"type":"string","description":"Id of the id of the specific environment to scope to. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentFilterType`\" pulumi-lang-dotnet=\"`EnvironmentFilterType`\" pulumi-lang-go=\"`environmentFilterType`\" pulumi-lang-python=\"`environment_filter_type`\" pulumi-lang-yaml=\"`environmentFilterType`\" pulumi-lang-java=\"`environmentFilterType`\"\u003e`environment_filter_type`\u003c/span\u003e.\n"}},"type":"object"},"harness:index/UserGroupLdapSettings:UserGroupLdapSettings":{"properties":{"groupDn":{"type":"string","description":"The group DN of the LDAP user group.\n"},"groupName":{"type":"string","description":"The group name of the LDAP user group.\n"},"ssoProviderId":{"type":"string","description":"The ID of the SSO provider.\n"}},"type":"object"},"harness:index/UserGroupNotificationSettings:UserGroupNotificationSettings":{"properties":{"groupEmailAddresses":{"type":"array","items":{"type":"string"},"description":"The email addresses of the user group.\n"},"microsoftTeamsWebhookUrl":{"type":"string","description":"The Microsoft Teams webhook URL of the user group.\n"},"sendMailToNewMembers":{"type":"boolean","description":"Indicates whether an email is sent when a new user is added to the group.\n"},"sendNotificationsToMembers":{"type":"boolean","description":"Enable this setting to have notifications sent to the members of this group.\n"},"slackChannel":{"type":"string","description":"The Slack channel to send notifications to.\n"},"slackWebhookUrl":{"type":"string","description":"The Slack webhook URL to send notifications to.\n"}},"type":"object"},"harness:index/UserGroupPermissions:UserGroupPermissions":{"properties":{"accountPermissions":{"type":"array","items":{"type":"string"},"description":"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\n"},"appPermissions":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissions:UserGroupPermissionsAppPermissions","description":"Application specific permissions\n"}},"type":"object"},"harness:index/UserGroupPermissionsAppPermissions:UserGroupPermissionsAppPermissions":{"properties":{"alls":{"type":"array","items":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissionsAll:UserGroupPermissionsAppPermissionsAll"},"description":"The permission to perform actions against all resources.\n"},"deployments":{"type":"array","items":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissionsDeployment:UserGroupPermissionsAppPermissionsDeployment"},"description":"Permission configuration to perform actions against deployments.\n"},"environments":{"type":"array","items":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissionsEnvironment:UserGroupPermissionsAppPermissionsEnvironment"},"description":"Permission configuration to perform actions against workflows.\n"},"pipelines":{"type":"array","items":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissionsPipeline:UserGroupPermissionsAppPermissionsPipeline"},"description":"Permission configuration to perform actions against pipelines.\n"},"provisioners":{"type":"array","items":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissionsProvisioner:UserGroupPermissionsAppPermissionsProvisioner"},"description":"Permission configuration to perform actions against provisioners.\n"},"services":{"type":"array","items":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissionsService:UserGroupPermissionsAppPermissionsService"},"description":"Permission configuration to perform actions against services.\n"},"templates":{"type":"array","items":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissionsTemplate:UserGroupPermissionsAppPermissionsTemplate"},"description":"Permission configuration to perform actions against templates.\n"},"workflows":{"type":"array","items":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissionsWorkflow:UserGroupPermissionsAppPermissionsWorkflow"},"description":"Permission configuration to perform actions against workflows.\n"}},"type":"object"},"harness:index/UserGroupPermissionsAppPermissionsAll:UserGroupPermissionsAppPermissionsAll":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE, EXECUTE*WORKFLOW, EXECUTE*PIPELINE, ROLLBACK_WORKFLOW\n"},"appIds":{"type":"array","items":{"type":"string"},"description":"The application IDs to which the permission applies. Leave empty to apply to all applications.\n"}},"type":"object","required":["actions"]},"harness:index/UserGroupPermissionsAppPermissionsDeployment:UserGroupPermissionsAppPermissionsDeployment":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"The actions allowed to be performed. Valid options are READ, EXECUTE*WORKFLOW, EXECUTE*PIPELINE, ROLLBACK*WORKFLOW, ABORT*WORKFLOW\n"},"appIds":{"type":"array","items":{"type":"string"},"description":"The application IDs to which the permission applies. Leave empty to apply to all applications.\n"},"envIds":{"type":"array","items":{"type":"string"},"description":"The environment IDs to which the permission applies. Leave empty to apply to all environments.\n"},"filters":{"type":"array","items":{"type":"string"},"description":"The filters to apply to the action. Valid options are: NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"}},"type":"object","required":["actions"]},"harness:index/UserGroupPermissionsAppPermissionsEnvironment:UserGroupPermissionsAppPermissionsEnvironment":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE\n"},"appIds":{"type":"array","items":{"type":"string"},"description":"The application IDs to which the permission applies. Leave empty to apply to all applications.\n"},"envIds":{"type":"array","items":{"type":"string"},"description":"The environment IDs to which the permission applies. Leave empty to apply to all environments.\n"},"filters":{"type":"array","items":{"type":"string"},"description":"The filters to apply to the action. Valid options are: NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"}},"type":"object","required":["actions"]},"harness:index/UserGroupPermissionsAppPermissionsPipeline:UserGroupPermissionsAppPermissionsPipeline":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"The actions allowed to be performed. Valid options are [CREATE READ UPDATE DELETE]\n"},"appIds":{"type":"array","items":{"type":"string"},"description":"The application IDs to which the permission applies. Leave empty to apply to all applications.\n"},"envIds":{"type":"array","items":{"type":"string"},"description":"The environment IDs to which the permission applies. Leave empty to apply to all environments.\n"},"filters":{"type":"array","items":{"type":"string"},"description":"The filters to apply to the action. Valid options are: NON*PRODUCTION*PIPELINES, PRODUCTION_PIPELINES.\n"}},"type":"object","required":["actions"]},"harness:index/UserGroupPermissionsAppPermissionsProvisioner:UserGroupPermissionsAppPermissionsProvisioner":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE\n"},"appIds":{"type":"array","items":{"type":"string"},"description":"The application IDs to which the permission applies. Leave empty to apply to all applications.\n"},"provisionerIds":{"type":"array","items":{"type":"string"},"description":"The provisioner IDs to which the permission applies. Leave empty to apply to all provisioners.\n"}},"type":"object","required":["actions"]},"harness:index/UserGroupPermissionsAppPermissionsService:UserGroupPermissionsAppPermissionsService":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE\n"},"appIds":{"type":"array","items":{"type":"string"},"description":"The application IDs to which the permission applies. Leave empty to apply to all applications.\n"},"serviceIds":{"type":"array","items":{"type":"string"},"description":"The service IDs to which the permission applies. Leave empty to apply to all services.\n"}},"type":"object","required":["actions"]},"harness:index/UserGroupPermissionsAppPermissionsTemplate:UserGroupPermissionsAppPermissionsTemplate":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE\n"},"appIds":{"type":"array","items":{"type":"string"},"description":"The application IDs to which the permission applies. Leave empty to apply to all applications.\n"},"templateIds":{"type":"array","items":{"type":"string"},"description":"The template IDs to which the permission applies. Leave empty to apply to all environments.\n"}},"type":"object","required":["actions"]},"harness:index/UserGroupPermissionsAppPermissionsWorkflow:UserGroupPermissionsAppPermissionsWorkflow":{"properties":{"actions":{"type":"array","items":{"type":"string"},"description":"The actions allowed to be performed. Valid options are CREATE, READ, UPDATE, DELETE\n"},"appIds":{"type":"array","items":{"type":"string"},"description":"The application IDs to which the permission applies. Leave empty to apply to all applications.\n"},"filters":{"type":"array","items":{"type":"string"},"description":"The filters to apply to the action. Valid options are: NON*PRODUCTION*WORKFLOWS, PRODUCTION*WORKFLOWS, WORKFLOW*TEMPLATES.\n"}},"type":"object","required":["actions"]},"harness:index/UserGroupSamlSettings:UserGroupSamlSettings":{"properties":{"groupName":{"type":"string","description":"The group name of the SAML user group.\n"},"ssoProviderId":{"type":"string","description":"The ID of the SSO provider.\n"}},"type":"object"},"harness:index/getEncryptedTextUsageScope:getEncryptedTextUsageScope":{"properties":{"applicationId":{"type":"string","description":"Id of the application to scope to. If empty then this scope applies to all applications.\n"},"environmentFilterType":{"type":"string","description":"Type of environment filter applied. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentId`\" pulumi-lang-dotnet=\"`EnvironmentId`\" pulumi-lang-go=\"`environmentId`\" pulumi-lang-python=\"`environment_id`\" pulumi-lang-yaml=\"`environmentId`\" pulumi-lang-java=\"`environmentId`\"\u003e`environment_id`\u003c/span\u003e. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"},"environmentId":{"type":"string","description":"Id of the id of the specific environment to scope to. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentFilterType`\" pulumi-lang-dotnet=\"`EnvironmentFilterType`\" pulumi-lang-go=\"`environmentFilterType`\" pulumi-lang-python=\"`environment_filter_type`\" pulumi-lang-yaml=\"`environmentFilterType`\" pulumi-lang-java=\"`environmentFilterType`\"\u003e`environment_filter_type`\u003c/span\u003e.\n"}},"type":"object"},"harness:index/getEnvironmentVariableOverride:getEnvironmentVariableOverride":{"properties":{"name":{"type":"string","description":"The name of the variable\n"},"serviceName":{"type":"string","description":"The name of the service\n"},"type":{"type":"string","description":"The type of the service variable. Valid values are `TEXT` and `ENCRYPTED_TEXT`\n"},"value":{"type":"string","description":"The value of the service variable\n"}},"type":"object","required":["name","serviceName","type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:index/getGitConnectorCommitDetail:getGitConnectorCommitDetail":{"properties":{"authorEmailId":{"type":"string","description":"The email id of the author.\n"},"authorName":{"type":"string","description":"The name of the author.\n"},"message":{"type":"string","description":"Commit message.\n"}},"type":"object","required":["authorEmailId","authorName","message"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:index/getSecretManagerUsageScope:getSecretManagerUsageScope":{"properties":{"applicationId":{"type":"string","description":"Id of the application to scope to. If empty then this scope applies to all applications.\n"},"environmentFilterType":{"type":"string","description":"Type of environment filter applied. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentId`\" pulumi-lang-dotnet=\"`EnvironmentId`\" pulumi-lang-go=\"`environmentId`\" pulumi-lang-python=\"`environment_id`\" pulumi-lang-yaml=\"`environmentId`\" pulumi-lang-java=\"`environmentId`\"\u003e`environment_id`\u003c/span\u003e. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"},"environmentId":{"type":"string","description":"Id of the id of the specific environment to scope to. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentFilterType`\" pulumi-lang-dotnet=\"`EnvironmentFilterType`\" pulumi-lang-go=\"`environmentFilterType`\" pulumi-lang-python=\"`environment_filter_type`\" pulumi-lang-yaml=\"`environmentFilterType`\" pulumi-lang-java=\"`environmentFilterType`\"\u003e`environment_filter_type`\u003c/span\u003e.\n"}},"type":"object"},"harness:index/getSshCredentialUsageScope:getSshCredentialUsageScope":{"properties":{"applicationId":{"type":"string","description":"Id of the application to scope to. If empty then this scope applies to all applications.\n"},"environmentFilterType":{"type":"string","description":"Type of environment filter applied. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentId`\" pulumi-lang-dotnet=\"`EnvironmentId`\" pulumi-lang-go=\"`environmentId`\" pulumi-lang-python=\"`environment_id`\" pulumi-lang-yaml=\"`environmentId`\" pulumi-lang-java=\"`environmentId`\"\u003e`environment_id`\u003c/span\u003e. Valid options are NON*PRODUCTION*ENVIRONMENTS, PRODUCTION_ENVIRONMENTS.\n"},"environmentId":{"type":"string","description":"Id of the id of the specific environment to scope to. Cannot be used with \u003cspan pulumi-lang-nodejs=\"`environmentFilterType`\" pulumi-lang-dotnet=\"`EnvironmentFilterType`\" pulumi-lang-go=\"`environmentFilterType`\" pulumi-lang-python=\"`environment_filter_type`\" pulumi-lang-yaml=\"`environmentFilterType`\" pulumi-lang-java=\"`environmentFilterType`\"\u003e`environment_filter_type`\u003c/span\u003e.\n"}},"type":"object"},"harness:index/getTriggerCondition:getTriggerCondition":{"properties":{"onWebhooks":{"type":"array","items":{"$ref":"#/types/harness:index/getTriggerConditionOnWebhook:getTriggerConditionOnWebhook"},"description":"On webhook.\n"},"triggerConditionType":{"type":"string","description":"Trigger condition.\n"}},"type":"object","required":["onWebhooks","triggerConditionType"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:index/getTriggerConditionOnWebhook:getTriggerConditionOnWebhook":{"properties":{"webhookDetails":{"type":"array","items":{"$ref":"#/types/harness:index/getTriggerConditionOnWebhookWebhookDetail:getTriggerConditionOnWebhookWebhookDetail"},"description":"Webhook details.\n"}},"type":"object","required":["webhookDetails"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:index/getTriggerConditionOnWebhookWebhookDetail:getTriggerConditionOnWebhookWebhookDetail":{"properties":{"header":{"type":"string","description":"Header.\n"},"method":{"type":"string","description":"Method.\n"},"payload":{"type":"string","description":"Payload.\n"},"webhookToken":{"type":"string","description":"Webhook token.\n"},"webhookUrl":{"type":"string","description":"Webhook URL.\n"}},"type":"object","required":["header","method","payload","webhookToken","webhookUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/AppDynamicsConnectorApiToken:AppDynamicsConnectorApiToken":{"properties":{"clientId":{"type":"string","description":"The client id used for connecting to App Dynamics.\n"},"clientSecretRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["clientId","clientSecretRef"]},"harness:platform/AppDynamicsConnectorUsernamePassword:AppDynamicsConnectorUsernamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"}},"type":"object","required":["passwordRef","username"]},"harness:platform/ArtifactoryConnectorCredentials:ArtifactoryConnectorCredentials":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/AwsCCConnectorCrossAccountAccess:AwsCCConnectorCrossAccountAccess":{"properties":{"externalId":{"type":"string","description":"The external id of the role to use for cross-account access. This is a random unique value to provide additional secure authentication.\n"},"roleArn":{"type":"string","description":"The ARN of the role to use for cross-account access.\n"}},"type":"object","required":["externalId","roleArn"]},"harness:platform/AwsConnectorCrossAccountAccess:AwsConnectorCrossAccountAccess":{"properties":{"externalId":{"type":"string","description":"If the administrator of the account to which the role belongs provided you with an external ID, then enter that value.\n"},"roleArn":{"type":"string","description":"The Amazon Resource Name (ARN) of the role that you want to assume. This is an IAM role in the target AWS account.\n"}},"type":"object","required":["roleArn"]},"harness:platform/AwsConnectorEqualJitterBackoffStrategy:AwsConnectorEqualJitterBackoffStrategy":{"properties":{"baseDelay":{"type":"integer","description":"Base delay.\n"},"maxBackoffTime":{"type":"integer","description":"Max BackOff Time.\n"},"retryCount":{"type":"integer","description":"Retry Count.\n"}},"type":"object"},"harness:platform/AwsConnectorFixedDelayBackoffStrategy:AwsConnectorFixedDelayBackoffStrategy":{"properties":{"fixedBackoff":{"type":"integer","description":"Fixed Backoff.\n"},"retryCount":{"type":"integer","description":"Retry Count.\n"}},"type":"object"},"harness:platform/AwsConnectorFullJitterBackoffStrategy:AwsConnectorFullJitterBackoffStrategy":{"properties":{"baseDelay":{"type":"integer","description":"Base delay.\n"},"maxBackoffTime":{"type":"integer","description":"Max BackOff Time.\n"},"retryCount":{"type":"integer","description":"Retry Count.\n"}},"type":"object"},"harness:platform/AwsConnectorInheritFromDelegate:AwsConnectorInheritFromDelegate":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"region":{"type":"string","description":"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}.\n"}},"type":"object","required":["delegateSelectors"]},"harness:platform/AwsConnectorIrsa:AwsConnectorIrsa":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"region":{"type":"string","description":"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}.\n"}},"type":"object","required":["delegateSelectors"]},"harness:platform/AwsConnectorManual:AwsConnectorManual":{"properties":{"accessKey":{"type":"string","description":"AWS access key.\n"},"accessKeyRef":{"type":"string","description":"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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Connect only use delegates with these tags.\n"},"region":{"type":"string","description":"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}.\n"},"secretKeyRef":{"type":"string","description":"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}.\n"},"sessionTokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["secretKeyRef"]},"harness:platform/AwsConnectorOidcAuthentication:AwsConnectorOidcAuthentication":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"iamRoleArn":{"type":"string","description":"The IAM Role to assume the credentials from.\n"},"region":{"type":"string","description":"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}.\n"}},"type":"object","required":["iamRoleArn"]},"harness:platform/AwsKmsConnectorCredentials:AwsKmsConnectorCredentials":{"properties":{"assumeRole":{"$ref":"#/types/harness:platform/AwsKmsConnectorCredentialsAssumeRole:AwsKmsConnectorCredentialsAssumeRole","description":"Connect using STS assume role.\n"},"inheritFromDelegate":{"type":"boolean","description":"Inherit the credentials from from the delegate.\n"},"manual":{"$ref":"#/types/harness:platform/AwsKmsConnectorCredentialsManual:AwsKmsConnectorCredentialsManual","description":"Specify the AWS key and secret used for authenticating.\n"},"oidcAuthentication":{"$ref":"#/types/harness:platform/AwsKmsConnectorCredentialsOidcAuthentication:AwsKmsConnectorCredentialsOidcAuthentication","description":"Connect using OIDC authentication.\n"}},"type":"object"},"harness:platform/AwsKmsConnectorCredentialsAssumeRole:AwsKmsConnectorCredentialsAssumeRole":{"properties":{"duration":{"type":"integer","description":"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.\n"},"externalId":{"type":"string","description":"If the administrator of the account to which the role belongs provided you with an external ID, then enter that value.\n"},"roleArn":{"type":"string","description":"The ARN of the role to assume.\n"}},"type":"object","required":["duration","roleArn"]},"harness:platform/AwsKmsConnectorCredentialsManual:AwsKmsConnectorCredentialsManual":{"properties":{"accessKeyRef":{"type":"string","description":"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}.\n"},"secretKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["accessKeyRef","secretKeyRef"]},"harness:platform/AwsKmsConnectorCredentialsOidcAuthentication:AwsKmsConnectorCredentialsOidcAuthentication":{"properties":{"iamRoleArn":{"type":"string","description":"The ARN of the IAM role to assume.\n"}},"type":"object","required":["iamRoleArn"]},"harness:platform/AwsSecretManagerConnectorCredentials:AwsSecretManagerConnectorCredentials":{"properties":{"assumeRole":{"$ref":"#/types/harness:platform/AwsSecretManagerConnectorCredentialsAssumeRole:AwsSecretManagerConnectorCredentialsAssumeRole","description":"Connect using STS assume role.\n"},"inheritFromDelegate":{"type":"boolean","description":"Inherit the credentials from from the delegate.\n"},"manual":{"$ref":"#/types/harness:platform/AwsSecretManagerConnectorCredentialsManual:AwsSecretManagerConnectorCredentialsManual","description":"Specify the AWS key and secret used for authenticating.\n"},"oidcAuthentication":{"$ref":"#/types/harness:platform/AwsSecretManagerConnectorCredentialsOidcAuthentication:AwsSecretManagerConnectorCredentialsOidcAuthentication","description":"Authentication using harness oidc.\n"}},"type":"object"},"harness:platform/AwsSecretManagerConnectorCredentialsAssumeRole:AwsSecretManagerConnectorCredentialsAssumeRole":{"properties":{"duration":{"type":"integer","description":"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.\n"},"externalId":{"type":"string","description":"If the administrator of the account to which the role belongs provided you with an external ID, then enter that value.\n"},"roleArn":{"type":"string","description":"The ARN of the role to assume.\n"}},"type":"object","required":["duration","roleArn"]},"harness:platform/AwsSecretManagerConnectorCredentialsManual:AwsSecretManagerConnectorCredentialsManual":{"properties":{"accessKeyPlainText":{"type":"string","description":"The plain text AWS access key.\n"},"accessKeyRef":{"type":"string","description":"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}.\n"},"secretKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["secretKeyRef"]},"harness:platform/AwsSecretManagerConnectorCredentialsOidcAuthentication:AwsSecretManagerConnectorCredentialsOidcAuthentication":{"properties":{"iamRoleArn":{"type":"string","description":"The IAM role ARN.\n"}},"type":"object","required":["iamRoleArn"]},"harness:platform/AzureCloudCostConnectorBillingExportSpec2:AzureCloudCostConnectorBillingExportSpec2":{"properties":{"billingType":{"type":"string","description":"Billing type.\n"},"containerName":{"type":"string","description":"Name of the container.\n"},"directoryName":{"type":"string","description":"Name of the directory.\n"},"reportName":{"type":"string","description":"Name of the report.\n"},"storageAccountName":{"type":"string","description":"Name of the storage account.\n"},"subscriptionId":{"type":"string","description":"Subsription Id.\n"}},"type":"object","required":["billingType","containerName","directoryName","reportName","storageAccountName","subscriptionId"]},"harness:platform/AzureCloudCostConnectorBillingExportSpec:AzureCloudCostConnectorBillingExportSpec":{"properties":{"billingType":{"type":"string","description":"Billing type.\n"},"containerName":{"type":"string","description":"Name of the container.\n"},"directoryName":{"type":"string","description":"Name of the directory.\n"},"reportName":{"type":"string","description":"Name of the report.\n"},"storageAccountName":{"type":"string","description":"Name of the storage account.\n"},"subscriptionId":{"type":"string","description":"Subsription Id.\n"}},"type":"object","required":["billingType","containerName","directoryName","reportName","storageAccountName","subscriptionId"]},"harness:platform/AzureCloudProviderConnectorCredentials:AzureCloudProviderConnectorCredentials":{"properties":{"azureInheritFromDelegateDetails":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetails:AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetails","description":"Authenticate to Azure Cloud Provider using details inheriting from delegate.\n"},"azureManualDetails":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentialsAzureManualDetails:AzureCloudProviderConnectorCredentialsAzureManualDetails","description":"Authenticate to Azure Cloud Provider using manual details.\n"},"azureOidcSpec":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentialsAzureOidcSpec:AzureCloudProviderConnectorCredentialsAzureOidcSpec","description":"Authenticate to Azure Cloud Provider using OIDC.\n"},"type":{"type":"string","description":"Type can be InheritFromDelegate, ManualConfig or OidcAuthentication\n"}},"type":"object","required":["type"]},"harness:platform/AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetails:AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetails":{"properties":{"auth":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuth:AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuth","description":"Auth to authenticate to Azure Cloud Provider using details inheriting from delegate.\n"}},"type":"object"},"harness:platform/AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuth:AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuth":{"properties":{"azureMsiAuthUa":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUa:AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUa","description":"Azure UserAssigned MSI auth details.\n"},"type":{"type":"string","description":"Type can either be SystemAssignedManagedIdentity or UserAssignedManagedIdentity.\n"}},"type":"object","required":["type"]},"harness:platform/AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUa:AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUa":{"properties":{"clientId":{"type":"string","description":"Client Id of the ManagedIdentity resource.\n"}},"type":"object"},"harness:platform/AzureCloudProviderConnectorCredentialsAzureManualDetails:AzureCloudProviderConnectorCredentialsAzureManualDetails":{"properties":{"applicationId":{"type":"string","description":"Application ID of the Azure App.\n"},"auth":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentialsAzureManualDetailsAuth:AzureCloudProviderConnectorCredentialsAzureManualDetailsAuth","description":"Contains Azure auth details.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory (AAD) directory ID where you created your application.\n"}},"type":"object"},"harness:platform/AzureCloudProviderConnectorCredentialsAzureManualDetailsAuth:AzureCloudProviderConnectorCredentialsAzureManualDetailsAuth":{"properties":{"azureClientKeyCert":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCert:AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCert","description":"Azure client key certificate details.\n"},"azureClientSecretKey":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKey:AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKey","description":"Azure Client Secret Key details.\n"},"type":{"type":"string","description":"Type can either be Certificate or Secret.\n"}},"type":"object"},"harness:platform/AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCert:AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCert":{"properties":{"certificateRef":{"type":"string","description":"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}.\n"}},"type":"object"},"harness:platform/AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKey:AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKey":{"properties":{"secretRef":{"type":"string","description":"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}.\n"}},"type":"object"},"harness:platform/AzureCloudProviderConnectorCredentialsAzureOidcSpec:AzureCloudProviderConnectorCredentialsAzureOidcSpec":{"properties":{"applicationId":{"type":"string","description":"Application ID of the Azure App.\n"},"audience":{"type":"string","description":"The Azure Audience.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory (AAD) directory ID where you created your application.\n"}},"type":"object"},"harness:platform/BitbucketConnectorApiAuthentication:BitbucketConnectorApiAuthentication":{"properties":{"tokenRef":{"type":"string","description":"Personal access token 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}.\n"},"username":{"type":"string","description":"The username used for connecting to the api.\n"},"usernameRef":{"type":"string","description":"The name of the Harness secret containing the username. 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}.\n"}},"type":"object","required":["tokenRef"]},"harness:platform/BitbucketConnectorCredentials:BitbucketConnectorCredentials":{"properties":{"http":{"$ref":"#/types/harness:platform/BitbucketConnectorCredentialsHttp:BitbucketConnectorCredentialsHttp","description":"Authenticate using Username and password over http(s) for the connection.\n"},"ssh":{"$ref":"#/types/harness:platform/BitbucketConnectorCredentialsSsh:BitbucketConnectorCredentialsSsh","description":"Authenticate using SSH for the connection.\n"}},"type":"object"},"harness:platform/BitbucketConnectorCredentialsHttp:BitbucketConnectorCredentialsHttp":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object"},"harness:platform/BitbucketConnectorCredentialsSsh:BitbucketConnectorCredentialsSsh":{"properties":{"sshKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["sshKeyRef"]},"harness:platform/CentralNotificationChannelChannel:CentralNotificationChannelChannel":{"properties":{"apiKey":{"type":"string"},"datadogUrls":{"type":"array","items":{"type":"string"}},"delegateSelectors":{"type":"array","items":{"type":"string"}},"emailIds":{"type":"array","items":{"type":"string"}},"executeOnDelegate":{"type":"boolean"},"headers":{"type":"array","items":{"$ref":"#/types/harness:platform/CentralNotificationChannelChannelHeader:CentralNotificationChannelChannelHeader"}},"msTeamKeys":{"type":"array","items":{"type":"string"}},"pagerDutyIntegrationKeys":{"type":"array","items":{"type":"string"}},"slackWebhookUrls":{"type":"array","items":{"type":"string"}},"userGroups":{"type":"array","items":{"$ref":"#/types/harness:platform/CentralNotificationChannelChannelUserGroup:CentralNotificationChannelChannelUserGroup"}},"webhookUrls":{"type":"array","items":{"type":"string"}}},"type":"object"},"harness:platform/CentralNotificationChannelChannelHeader:CentralNotificationChannelChannelHeader":{"properties":{"key":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["key","value"]},"harness:platform/CentralNotificationChannelChannelUserGroup:CentralNotificationChannelChannelUserGroup":{"properties":{"identifier":{"type":"string"}},"type":"object","required":["identifier"]},"harness:platform/CentralNotificationRuleCustomNotificationTemplateRef:CentralNotificationRuleCustomNotificationTemplateRef":{"properties":{"templateRef":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/types/harness:platform/CentralNotificationRuleCustomNotificationTemplateRefVariable:CentralNotificationRuleCustomNotificationTemplateRefVariable"}},"versionLabel":{"type":"string"}},"type":"object","required":["templateRef","versionLabel"]},"harness:platform/CentralNotificationRuleCustomNotificationTemplateRefVariable:CentralNotificationRuleCustomNotificationTemplateRefVariable":{"properties":{"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["name","value"]},"harness:platform/CentralNotificationRuleNotificationCondition:CentralNotificationRuleNotificationCondition":{"properties":{"conditionName":{"type":"string"},"notificationEventConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/CentralNotificationRuleNotificationConditionNotificationEventConfig:CentralNotificationRuleNotificationConditionNotificationEventConfig"}}},"type":"object","required":["conditionName","notificationEventConfigs"]},"harness:platform/CentralNotificationRuleNotificationConditionNotificationEventConfig:CentralNotificationRuleNotificationConditionNotificationEventConfig":{"properties":{"entityIdentifiers":{"type":"array","items":{"type":"string"}},"notificationEntity":{"type":"string"},"notificationEvent":{"type":"string"},"notificationEventData":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["notificationEntity","notificationEvent"]},"harness:platform/ConnectorAzureArtifactsCredentials:ConnectorAzureArtifactsCredentials":{"properties":{"tokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["tokenRef"]},"harness:platform/ConnectorAzureRepoApiAuthentication:ConnectorAzureRepoApiAuthentication":{"properties":{"tokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["tokenRef"]},"harness:platform/ConnectorAzureRepoCredentials:ConnectorAzureRepoCredentials":{"properties":{"http":{"$ref":"#/types/harness:platform/ConnectorAzureRepoCredentialsHttp:ConnectorAzureRepoCredentialsHttp","description":"Authenticate using Username and token over http(s) for the connection.\n"},"ssh":{"$ref":"#/types/harness:platform/ConnectorAzureRepoCredentialsSsh:ConnectorAzureRepoCredentialsSsh","description":"Authenticate using SSH for the connection.\n"}},"type":"object"},"harness:platform/ConnectorAzureRepoCredentialsHttp:ConnectorAzureRepoCredentialsHttp":{"properties":{"tokenRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["tokenRef"]},"harness:platform/ConnectorAzureRepoCredentialsSsh:ConnectorAzureRepoCredentialsSsh":{"properties":{"sshKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["sshKeyRef"]},"harness:platform/ConnectorCustomSecretManagerTemplateInput:ConnectorCustomSecretManagerTemplateInput":{"properties":{"environmentVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorCustomSecretManagerTemplateInputEnvironmentVariable:ConnectorCustomSecretManagerTemplateInputEnvironmentVariable"}}},"type":"object"},"harness:platform/ConnectorCustomSecretManagerTemplateInputEnvironmentVariable:ConnectorCustomSecretManagerTemplateInputEnvironmentVariable":{"properties":{"default":{"type":"boolean"},"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["name","type","value"]},"harness:platform/ConnectorCustomhealthsourceHeader:ConnectorCustomhealthsourceHeader":{"properties":{"encryptedValueRef":{"type":"string","description":"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}.\n"},"key":{"type":"string","description":"Key.\n"},"value":{"type":"string","description":"Value.\n"},"valueEncrypted":{"type":"boolean","description":"Encrypted value.\n"}},"type":"object","required":["key"]},"harness:platform/ConnectorCustomhealthsourceParam:ConnectorCustomhealthsourceParam":{"properties":{"encryptedValueRef":{"type":"string","description":"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}.\n"},"key":{"type":"string","description":"Key.\n"},"value":{"type":"string","description":"Value.\n"},"valueEncrypted":{"type":"boolean","description":"Encrypted value.\n"}},"type":"object","required":["key"]},"harness:platform/ConnectorGcpKmsManual:ConnectorGcpKmsManual":{"properties":{"credentials":{"type":"string","description":"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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to connect with.\n"}},"type":"object","required":["credentials"]},"harness:platform/ConnectorGcpKmsOidcAuthentication:ConnectorGcpKmsOidcAuthentication":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"gcpProjectId":{"type":"string","description":"The project number of the GCP project that is used to create the workload identity.\n"},"providerId":{"type":"string","description":"The OIDC provider ID value configured in GCP.\n"},"serviceAccountEmail":{"type":"string","description":"The service account linked to workload identity pool while setting GCP workload identity provider.\n"},"workloadPoolId":{"type":"string","description":"The workload pool ID value created in GCP.\n"}},"type":"object","required":["gcpProjectId","providerId","serviceAccountEmail","workloadPoolId"]},"harness:platform/ConnectorJdbcCredentials:ConnectorJdbcCredentials":{"properties":{"authType":{"type":"string","description":"Authentication types for JDBC connector\n"},"keyPair":{"$ref":"#/types/harness:platform/ConnectorJdbcCredentialsKeyPair:ConnectorJdbcCredentialsKeyPair","description":"Authenticate using key pair.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"serviceAccount":{"$ref":"#/types/harness:platform/ConnectorJdbcCredentialsServiceAccount:ConnectorJdbcCredentialsServiceAccount","description":"Authenticate using service account.\n"},"username":{"type":"string","description":"The username to use for the database server.\n"},"usernamePassword":{"$ref":"#/types/harness:platform/ConnectorJdbcCredentialsUsernamePassword:ConnectorJdbcCredentialsUsernamePassword","description":"Authenticate using username password.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object"},"harness:platform/ConnectorJdbcCredentialsKeyPair:ConnectorJdbcCredentialsKeyPair":{"properties":{"privateKeyFileRef":{"type":"string","description":"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}.\n"},"privateKeyPassphraseRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["privateKeyFileRef"]},"harness:platform/ConnectorJdbcCredentialsServiceAccount:ConnectorJdbcCredentialsServiceAccount":{"properties":{"tokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["tokenRef"]},"harness:platform/ConnectorJdbcCredentialsUsernamePassword:ConnectorJdbcCredentialsUsernamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/ConnectorPdcHost:ConnectorPdcHost":{"properties":{"attributes":{"type":"object","additionalProperties":{"type":"string"},"description":"attributes for current host\n"},"hostname":{"type":"string","description":"hostname\n"}},"type":"object","required":["hostname"]},"harness:platform/ConnectorRancherBearerToken:ConnectorRancherBearerToken":{"properties":{"bearerTokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["bearerTokenRef"]},"harness:platform/DbSchemaChangelogScript:DbSchemaChangelogScript":{"properties":{"command":{"type":"string","description":"Script to clone changeSets\n"},"image":{"type":"string","description":"The fully-qualified name (FQN) of the image\n"},"location":{"type":"string","description":"Path to changeLog file\n"},"shell":{"type":"string","description":"Type of the shell. For example Sh or Bash\n"},"toml":{"type":"string","description":"Config file, to define various settings and properties for managing database schema change\n"}},"type":"object"},"harness:platform/DbSchemaSchemaSource:DbSchemaSchemaSource":{"properties":{"archivePath":{"type":"string","description":"If connector type is artifactory, path to the archive file which contains the changeLog\n"},"connector":{"type":"string","description":"Connector to repository at which to find details about the database schema\n"},"location":{"type":"string","description":"The path within the specified repository at which to find details about the database schema\n"},"repo":{"type":"string","description":"If connector url is of account, which repository to connect to using the connector\n"},"toml":{"type":"string","description":"Config file, to define various settings and properties for managing database schema change\n"}},"type":"object","required":["connector","location"]},"harness:platform/DefaultNotificationTemplateSetEventTemplateConfigurationSet:DefaultNotificationTemplateSetEventTemplateConfigurationSet":{"properties":{"notificationEvents":{"type":"array","items":{"type":"string"},"description":"List of notification events like PIPELINE_START\n"},"template":{"$ref":"#/types/harness:platform/DefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate:DefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate","description":"Template reference configuration\n"}},"type":"object","required":["notificationEvents","template"]},"harness:platform/DefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate:DefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate":{"properties":{"templateRef":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/types/harness:platform/DefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable:DefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable"},"description":"List of variables passed to the template\n"},"versionLabel":{"type":"string"}},"type":"object","required":["templateRef","versionLabel"]},"harness:platform/DefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable:DefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable":{"properties":{"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["name","type","value"]},"harness:platform/DockerConnectorCredentials:DockerConnectorCredentials":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"The username to use for the docker registry.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/ElasticsearchConnectorApiToken:ElasticsearchConnectorApiToken":{"properties":{"clientId":{"type":"string","description":"The API Key id used for connecting to ElasticSearch.\n"},"clientSecretRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["clientId","clientSecretRef"]},"harness:platform/ElasticsearchConnectorNoAuthentication:ElasticsearchConnectorNoAuthentication":{"type":"object"},"harness:platform/ElasticsearchConnectorUsernamePassword:ElasticsearchConnectorUsernamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"}},"type":"object","required":["passwordRef","username"]},"harness:platform/EnvironmentClustersMappingCluster:EnvironmentClustersMappingCluster":{"properties":{"agentIdentifier":{"type":"string","description":"agent identifier of the cluster (include scope prefix)\n"},"identifier":{"type":"string","description":"identifier of the cluster\n"},"name":{"type":"string","description":"name of the cluster\n"},"scope":{"type":"string","description":"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\n"}},"type":"object"},"harness:platform/EnvironmentGitDetails:EnvironmentGitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branch":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"importFromGit":{"type":"boolean","description":"import environment from git\n"},"isForceImport":{"type":"boolean","description":"force import environment from remote even if same file path already exist\n"},"isHarnesscodeRepo":{"type":"boolean","description":"If the gitProvider is HarnessCode\n"},"isNewBranch":{"type":"boolean","description":"If a new branch creation is requested.\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating Pipeline.\n"},"loadFromCache":{"type":"string","description":"If the Entity is to be fetched from cache\n"},"loadFromFallbackBranch":{"type":"boolean","description":"If the Entity is to be fetched from fallbackBranch\n"},"parentEntityConnectorRef":{"type":"string","description":"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}.\n"},"parentEntityRepoName":{"type":"string","description":"Name of the repository where parent entity lies.\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["baseBranch","branch","commitMessage","connectorRef","filePath","importFromGit","isForceImport","isHarnesscodeRepo","isNewBranch","lastCommitId","lastObjectId","loadFromCache","loadFromFallbackBranch","parentEntityConnectorRef","parentEntityRepoName","repoName","storeType"]}}},"harness:platform/FeatureFlagEnvironment:FeatureFlagEnvironment":{"properties":{"addTargetRules":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagEnvironmentAddTargetRule:FeatureFlagEnvironmentAddTargetRule"},"description":"The targeting rules for the flag\n"},"defaultOffVariation":{"type":"string","description":"Default variation to be served when flag is 'off'\n"},"defaultOnVariation":{"type":"string","description":"Default variation to be served when flag is 'on'\n"},"identifier":{"type":"string","description":"Identifier of the Environment\n"},"state":{"type":"string","description":"State of the flag in this environment. Possible values are 'on' and 'off'\n"}},"type":"object","required":["identifier"],"language":{"nodejs":{"requiredOutputs":["addTargetRules","defaultOffVariation","defaultOnVariation","identifier","state"]}}},"harness:platform/FeatureFlagEnvironmentAddTargetRule:FeatureFlagEnvironmentAddTargetRule":{"properties":{"targets":{"type":"array","items":{"type":"string"},"description":"The targets that should be served this variation\n"},"variation":{"type":"string","description":"The identifier of the variation\n"}},"type":"object"},"harness:platform/FeatureFlagTag:FeatureFlagTag":{"properties":{"identifier":{"type":"string","description":"The identifier of the tag\n"}},"type":"object","required":["identifier"]},"harness:platform/FeatureFlagTargetGroupRule:FeatureFlagTargetGroupRule":{"properties":{"attribute":{"type":"string","description":"The attribute to use in the clause.  This can be any target attribute\n"},"id":{"type":"string","description":"The rule ID. Gets auto-generated by the system\n"},"negate":{"type":"boolean","description":"Is the operation negated?\n"},"op":{"type":"string","description":"The type of operation such as equals, starts_with, contains\n"},"values":{"type":"array","items":{"type":"string"},"description":"The values that are compared against the operator\n"}},"type":"object","required":["attribute","op","values"],"language":{"nodejs":{"requiredOutputs":["attribute","id","negate","op","values"]}}},"harness:platform/FeatureFlagVariation:FeatureFlagVariation":{"properties":{"description":{"type":"string","description":"The description of the variation\n"},"identifier":{"type":"string","description":"The identifier of the variation\n"},"name":{"type":"string","description":"The user friendly name of the variation\n"},"value":{"type":"string","description":"The value of the variation\n"}},"type":"object","required":["description","identifier","name","value"]},"harness:platform/FileStoreFileCreatedBy:FileStoreFileCreatedBy":{"properties":{"email":{"type":"string","description":"User email\n"},"name":{"type":"string","description":"User name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["email","name"]}}},"harness:platform/FileStoreFileLastModifiedBy:FileStoreFileLastModifiedBy":{"properties":{"email":{"type":"string","description":"User email\n"},"name":{"type":"string","description":"User name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["email","name"]}}},"harness:platform/FileStoreFolderCreatedBy:FileStoreFolderCreatedBy":{"properties":{"email":{"type":"string","description":"User email\n"},"name":{"type":"string","description":"User name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["email","name"]}}},"harness:platform/FileStoreFolderLastModifiedBy:FileStoreFolderLastModifiedBy":{"properties":{"email":{"type":"string","description":"User email\n"},"name":{"type":"string","description":"User name\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["email","name"]}}},"harness:platform/FiltersFilterProperties:FiltersFilterProperties":{"properties":{"filterType":{"type":"string","description":"Corresponding Entity of the filter. Currently supported types are {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. Tags should be in the form `name:value`.\n"}},"type":"object","required":["filterType"]},"harness:platform/GcpCloudCostConnectorBillingExportSpec:GcpCloudCostConnectorBillingExportSpec":{"properties":{"dataSetId":{"type":"string","description":"Data Set Id.\n"},"tableId":{"type":"string","description":"Table Id.\n"}},"type":"object","required":["dataSetId","tableId"]},"harness:platform/GcpConnectorInheritFromDelegate:GcpConnectorInheritFromDelegate":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"}},"type":"object","required":["delegateSelectors"]},"harness:platform/GcpConnectorManual:GcpConnectorManual":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to connect with.\n"},"secretKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["secretKeyRef"]},"harness:platform/GcpConnectorOidcAuthentication:GcpConnectorOidcAuthentication":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"gcpProjectId":{"type":"string","description":"The project number of the GCP project that is used to create the workload identity.\n"},"providerId":{"type":"string","description":"The OIDC provider ID value configured in GCP.\n"},"serviceAccountEmail":{"type":"string","description":"The service account linked to workload identity pool while setting GCP workload identity provider.\n"},"workloadPoolId":{"type":"string","description":"The workload pool ID value created in GCP.\n"}},"type":"object","required":["gcpProjectId","providerId","serviceAccountEmail","workloadPoolId"]},"harness:platform/GcpSecretManagerConnectorOidcAuthentication:GcpSecretManagerConnectorOidcAuthentication":{"properties":{"gcpProjectId":{"type":"string","description":"The project number of the GCP project that is used to create the workload identity.\n"},"providerId":{"type":"string","description":"The OIDC provider ID value configured in GCP.\n"},"serviceAccountEmail":{"type":"string","description":"The service account linked to workload identity pool while setting GCP workload identity provider.\n"},"workloadPoolId":{"type":"string","description":"The workload pool ID value created in GCP.\n"}},"type":"object","required":["gcpProjectId","providerId","serviceAccountEmail","workloadPoolId"]},"harness:platform/GitConnectorCredentials:GitConnectorCredentials":{"properties":{"http":{"$ref":"#/types/harness:platform/GitConnectorCredentialsHttp:GitConnectorCredentialsHttp","description":"Authenticate using Username and password over http(s) for the connection.\n"},"ssh":{"$ref":"#/types/harness:platform/GitConnectorCredentialsSsh:GitConnectorCredentialsSsh","description":"Authenticate using SSH for the connection.\n"}},"type":"object"},"harness:platform/GitConnectorCredentialsHttp:GitConnectorCredentialsHttp":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/GitConnectorCredentialsSsh:GitConnectorCredentialsSsh":{"properties":{"sshKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["sshKeyRef"]},"harness:platform/GitOpsAgentMetadata:GitOpsAgentMetadata":{"properties":{"highAvailability":{"type":"boolean","description":"Indicates if the agent is deployed in HA mode.\n"},"isNamespaced":{"type":"boolean","description":"Indicates if the agent is namespaced.\n"},"namespace":{"type":"string","description":"The kubernetes namespace where the agent should be installed.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplication:GitOpsApplicationsApplication":{"properties":{"metadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationMetadata:GitOpsApplicationsApplicationMetadata"},"description":"Metadata corresponding to the resources. This includes all the objects a user must create.\n"},"specs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpec:GitOpsApplicationsApplicationSpec"},"description":"Specifications of the GitOps application. This includes the repository URL, application definition, source, destination and sync policy.\n"}},"type":"object","required":["metadatas"]},"harness:platform/GitOpsApplicationsApplicationMetadata:GitOpsApplicationsApplicationMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations are unstructured key value pairs corresponding to a resource. External tools set these to store and retrieve arbitrary metadata.\n"},"clusterName":{"type":"string","description":"Name of the cluster corresponding to the object. API server ignores this if set in any create or update request.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"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.\n"},"generateName":{"type":"string","description":"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.\n"},"generation":{"type":"string","description":"A sequence number representing a specific generation of the desired state. This is a read-only value populated by the system.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"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.\n"},"name":{"type":"string","description":"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.\n"},"namespace":{"type":"string","description":"Namespace of the GitOps application. An empty namespace is equivalent to the namespace of the GitOps agent.\n"},"ownerReferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationMetadataOwnerReference:GitOpsApplicationsApplicationMetadataOwnerReference"},"description":"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.\n"},"uid":{"type":"string","description":"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.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["annotations","clusterName","finalizers","generation","labels","namespace","ownerReferences","uid"]}}},"harness:platform/GitOpsApplicationsApplicationMetadataOwnerReference:GitOpsApplicationsApplicationMetadataOwnerReference":{"properties":{"apiVersion":{"type":"string","description":"API version of the referent.\n"},"blockOwnerDeletion":{"type":"boolean","description":"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.\n"},"controller":{"type":"boolean","description":"Indicates if the reference points to the managing controller.\n"},"kind":{"type":"string","description":"Kind of the referent.\n"},"name":{"type":"string","description":"Name of the referent.\n"},"uid":{"type":"string","description":"UID of the referent.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["apiVersion","blockOwnerDeletion","controller","kind","name","uid"]}}},"harness:platform/GitOpsApplicationsApplicationSpec:GitOpsApplicationsApplicationSpec":{"properties":{"destinations":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecDestination:GitOpsApplicationsApplicationSpecDestination"},"description":"Information about the GitOps application's destination.\n"},"project":{"type":"string","description":"The ArgoCD project name corresponding to this GitOps application. Value must match mappings of ArgoCD projects to harness project.\n"},"revisionHistoryLimit":{"type":"string","description":"Revision history limit for the application.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSource:GitOpsApplicationsApplicationSpecSource"},"description":"Contains all information about the source of the GitOps application.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSource:GitOpsApplicationsApplicationSpecSource"},"description":"List of sources for the GitOps application. Multi Source support\n"},"syncPolicies":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSyncPolicy:GitOpsApplicationsApplicationSpecSyncPolicy"},"description":"Controls when a sync will be performed in response to updates in git.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["project"]}}},"harness:platform/GitOpsApplicationsApplicationSpecDestination:GitOpsApplicationsApplicationSpecDestination":{"properties":{"name":{"type":"string","description":"URL of the target cluster and must be set to the kubernetes control plane API.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster server for the GitOps application.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitOpsApplicationsApplicationSpecSource:GitOpsApplicationsApplicationSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name, and must be specified for the GitOps applications sourced from a helm repo.\n"},"directories":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourceDirectory:GitOpsApplicationsApplicationSpecSourceDirectory"},"description":"Options for applications of type plain YAML or Jsonnet.\n"},"helms":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourceHelm:GitOpsApplicationsApplicationSpecSourceHelm"},"description":"Helm specific options.\n"},"ksonnets":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourceKsonnet:GitOpsApplicationsApplicationSpecSourceKsonnet"},"description":"Ksonnet specific options.\n"},"kustomizes":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourceKustomize:GitOpsApplicationsApplicationSpecSourceKustomize"},"description":"Options specific to a GitOps application source specific to Kustomize.\n"},"name":{"type":"string","description":"Name is used to refer to a source and is displayed in the UI. It is used in multi-source Applications.\n"},"path":{"type":"string","description":"Directory path within the git repository, and is only valid for the GitOps applications sourced from git.\n"},"plugins":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourcePlugin:GitOpsApplicationsApplicationSpecSourcePlugin"},"description":"Options specific to config management plugins.\n"},"ref":{"type":"string","description":"Reference name to be used in other source spec, used for multi-source applications.\n"},"repoUrl":{"type":"string","description":"URL to the repository (git or helm) that contains the GitOps application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object","required":["repoUrl","targetRevision"]},"harness:platform/GitOpsApplicationsApplicationSpecSourceDirectory:GitOpsApplicationsApplicationSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation.\n"},"include":{"type":"string","description":"Glob pattern to match paths against that should be explicitly included during manifest generation.\n"},"jsonnets":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourceDirectoryJsonnet:GitOpsApplicationsApplicationSpecSourceDirectoryJsonnet"},"description":"Options specific to applications of type Jsonnet.\n"},"recurse":{"type":"boolean","description":"Indicates to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSourceDirectoryJsonnet:GitOpsApplicationsApplicationSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourceDirectoryJsonnetExtVar:GitOpsApplicationsApplicationSpecSourceDirectoryJsonnetExtVar"},"description":"List of jsonnet external variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourceDirectoryJsonnetTla:GitOpsApplicationsApplicationSpecSourceDirectoryJsonnetTla"},"description":"List of jsonnet top-level arguments(TLAS).\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSourceDirectoryJsonnetExtVar:GitOpsApplicationsApplicationSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Code of the external variables of jsonnet application.\n"},"name":{"type":"string","description":"Name of the external variables of jsonnet application.\n"},"value":{"type":"string","description":"Value of the external variables of jsonnet application.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSourceDirectoryJsonnetTla:GitOpsApplicationsApplicationSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Code of the TLAS of the jsonnet application.\n"},"name":{"type":"string","description":"Name of the TLAS of the jsonnet application.\n"},"value":{"type":"string","description":"Value of the TLAS of the jsonnet application.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSourceHelm:GitOpsApplicationsApplicationSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourceHelmFileParameter:GitOpsApplicationsApplicationSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourceHelmParameter:GitOpsApplicationsApplicationSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSourceHelmFileParameter:GitOpsApplicationsApplicationSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitOpsApplicationsApplicationSpecSourceHelmParameter:GitOpsApplicationsApplicationSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSourceKsonnet:GitOpsApplicationsApplicationSpecSourceKsonnet":{"properties":{"environment":{"type":"string","description":"Ksonnet application environment name.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourceKsonnetParameter:GitOpsApplicationsApplicationSpecSourceKsonnetParameter"},"description":"List of ksonnet component parameter override values.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSourceKsonnetParameter:GitOpsApplicationsApplicationSpecSourceKsonnetParameter":{"properties":{"component":{"type":"string","description":"Component of the parameter of the ksonnet application.\n"},"name":{"type":"string","description":"Name of the parameter of the ksonnet application.\n"},"value":{"type":"string","description":"Value of the parameter of the ksonnet application.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSourceKustomize:GitOpsApplicationsApplicationSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix prepended to resources for kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for kustomize apps.\n"},"version":{"type":"string","description":"Version of kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSourcePlugin:GitOpsApplicationsApplicationSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSourcePluginEnv:GitOpsApplicationsApplicationSpecSourcePluginEnv"},"description":"Entry in the GitOps application's environment.\n"},"name":{"type":"string","description":"Name of the plugin.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSourcePluginEnv:GitOpsApplicationsApplicationSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the variable, usually expressed in uppercase.\n"},"value":{"type":"string","description":"Value of the variable.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSyncPolicy:GitOpsApplicationsApplicationSpecSyncPolicy":{"properties":{"automateds":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSyncPolicyAutomated:GitOpsApplicationsApplicationSpecSyncPolicyAutomated"},"description":"Controls the behavior of an automated sync.\n"},"retries":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSyncPolicyRetry:GitOpsApplicationsApplicationSpecSyncPolicyRetry"},"description":"Contains information about the strategy to apply when a sync failed.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"Options allow you to specify whole app sync-options.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSyncPolicyAutomated:GitOpsApplicationsApplicationSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Indicates to allows apps to have zero live resources (default: false).\n"},"prune":{"type":"boolean","description":"Indicates whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync (default: false).\n"},"selfHeal":{"type":"boolean","description":"Indicates whether to revert resources back to their desired state upon modification in the cluster (default: false).\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSyncPolicyRetry:GitOpsApplicationsApplicationSpecSyncPolicyRetry":{"properties":{"backoffs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplicationSpecSyncPolicyRetryBackoff:GitOpsApplicationsApplicationSpecSyncPolicyRetryBackoff"},"description":"Backoff strategy to use on subsequent retries for failing syncs.\n"},"limit":{"type":"string","description":"Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitOpsApplicationsApplicationSpecSyncPolicyRetryBackoff:GitOpsApplicationsApplicationSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Amount to back off. Default unit is seconds, but could also be a duration (e.g. \"2m\", \"1h\").\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed of the backoff strategy.\n"}},"type":"object"},"harness:platform/GitOpsClusterRequest:GitOpsClusterRequest":{"properties":{"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequestCluster:GitOpsClusterRequestCluster"},"description":"GitOps cluster details.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the GitOps cluster. These can be used to search or filter the GitOps agents.\n"},"updatedFields":{"type":"array","items":{"type":"string"},"description":"Fields which are updated.\n"},"upsert":{"type":"boolean","description":"Indicates if the GitOps cluster should be updated if existing and inserted if not.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["updatedFields"]}}},"harness:platform/GitOpsClusterRequestCluster:GitOpsClusterRequestCluster":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations for cluster secret metadata.\n"},"clusterResources":{"type":"boolean","description":"Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode.\n"},"configs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequestClusterConfig:GitOpsClusterRequestClusterConfig"},"description":"GitOps cluster config.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequestClusterInfo:GitOpsClusterRequestClusterInfo"},"description":"Information about cluster cache and state.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels for cluster secret metadata.\n"},"name":{"type":"string","description":"Name of the cluster. If omitted, the server address will be used.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"List of namespaces which are accessible in that cluster. Cluster level resources will be ignored if namespace list is not empty.\n"},"project":{"type":"string","description":"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.\n"},"refreshRequestedAts":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequestClusterRefreshRequestedAt:GitOpsClusterRequestClusterRefreshRequestedAt"},"description":"Time when cluster cache refresh has been requested.\n"},"server":{"type":"string","description":"API server URL of the kubernetes cluster.\n"},"shard":{"type":"string","description":"Shard number to be managed by a specific application controller pod. Calculated on the fly by the application controller if not specified.\n"}},"type":"object","required":["configs","server"],"language":{"nodejs":{"requiredOutputs":["configs","infos","namespaces","project","refreshRequestedAts","server"]}}},"harness:platform/GitOpsClusterRequestClusterConfig:GitOpsClusterRequestClusterConfig":{"properties":{"awsClusterName":{"type":"string","description":"AWS Cluster name. If set then AWS CLI EKS token command will be used to access cluster.\n"},"bearerToken":{"type":"string","description":"Bearer authentication token the cluster.\n","secret":true},"clusterConnectionType":{"type":"string","description":"Identifies the authentication method used to connect to the cluster.\n"},"disableCompression":{"type":"boolean","description":"DisableCompression bypasses automatic GZip compression requests to to the cluster's API server. Corresponds to running kubectl with --disable-compression\n"},"execProviderConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequestClusterConfigExecProviderConfig:GitOpsClusterRequestClusterConfigExecProviderConfig"},"description":"Configuration for an exec provider.\n"},"password":{"type":"string","description":"Password of the server of the cluster.\n","secret":true},"proxyUrl":{"type":"string","description":"The URL to the proxy to be used for all requests send to the cluster's API server\n"},"roleARN":{"type":"string","description":"Optional role ARN. If set then used for AWS IAM Authenticator.\n"},"tlsClientConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequestClusterConfigTlsClientConfig:GitOpsClusterRequestClusterConfigTlsClientConfig"},"description":"Settings to enable transport layer security.\n"},"username":{"type":"string","description":"Username of the server of the cluster.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["bearerToken"]}}},"harness:platform/GitOpsClusterRequestClusterConfigExecProviderConfig:GitOpsClusterRequestClusterConfigExecProviderConfig":{"properties":{"apiVersion":{"type":"string","description":"Preferred input version of the ExecInfo.\n"},"args":{"type":"array","items":{"type":"string"},"description":"Arguments to pass to the command when executing it.\n"},"command":{"type":"string","description":"Command to execute.\n"},"env":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional environment variables to expose to the process.\n"},"installHint":{"type":"string","description":"Message displayed when the executable is not found.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["args"]}}},"harness:platform/GitOpsClusterRequestClusterConfigTlsClientConfig:GitOpsClusterRequestClusterConfigTlsClientConfig":{"properties":{"caData":{"type":"string","description":"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.\n"},"certData":{"type":"string","description":"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.\n","secret":true},"insecure":{"type":"boolean","description":"Indicates if the TLS connection to the cluster should be insecure.\n"},"keyData":{"type":"string","description":"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.\n","secret":true},"serverName":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitOpsClusterRequestClusterInfo:GitOpsClusterRequestClusterInfo":{"properties":{"apiVersions":{"type":"array","items":{"type":"string"},"description":"List of API versions supported by the cluster.\n"},"applicationsCount":{"type":"string","description":"Number of applications managed by Argo CD on the cluster.\n"},"cacheInfos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequestClusterInfoCacheInfo:GitOpsClusterRequestClusterInfoCacheInfo"},"description":"Information about the cluster cache.\n"},"connectionStates":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequestClusterInfoConnectionState:GitOpsClusterRequestClusterInfoConnectionState"},"description":"Information about the connection to the cluster.\n"},"serverVersion":{"type":"string","description":"Kubernetes version of the cluster.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["apiVersions","cacheInfos","connectionStates","serverVersion"]}}},"harness:platform/GitOpsClusterRequestClusterInfoCacheInfo:GitOpsClusterRequestClusterInfoCacheInfo":{"properties":{"apisCount":{"type":"string","description":"Number of observed kubernetes API count.\n"},"lastCacheSyncTime":{"type":"string","description":"Time of most recent cache synchronization.\n"},"resourcesCount":{"type":"string","description":"Number of observed kubernetes resources.\n"}},"type":"object"},"harness:platform/GitOpsClusterRequestClusterInfoConnectionState:GitOpsClusterRequestClusterInfoConnectionState":{"properties":{"attemptedAts":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequestClusterInfoConnectionStateAttemptedAt:GitOpsClusterRequestClusterInfoConnectionStateAttemptedAt"},"description":"Time when cluster cache refresh has been requested.\n"},"message":{"type":"string","description":"Information about the connection status.\n"},"status":{"type":"string","description":"Current status indicator of the connection.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["attemptedAts","message","status"]}}},"harness:platform/GitOpsClusterRequestClusterInfoConnectionStateAttemptedAt:GitOpsClusterRequestClusterInfoConnectionStateAttemptedAt":{"properties":{"nanos":{"type":"integer","description":"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.\n"},"seconds":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitOpsClusterRequestClusterRefreshRequestedAt:GitOpsClusterRequestClusterRefreshRequestedAt":{"properties":{"nanos":{"type":"integer","description":"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.\n"},"seconds":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitOpsGnupgRequest:GitOpsGnupgRequest":{"properties":{"publickeys":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsGnupgRequestPublickey:GitOpsGnupgRequestPublickey"},"description":"Public key details.\n"},"upsert":{"type":"boolean","description":"Indicates if the GnuPG Key should be inserted if not present or updated if present.\n"}},"type":"object","required":["upsert"]},"harness:platform/GitOpsGnupgRequestPublickey:GitOpsGnupgRequestPublickey":{"properties":{"fingerprint":{"type":"string","description":"Fingerprint is the fingerprint of the key\n"},"keyData":{"type":"string","description":"KeyData holds the raw key data, in base64 encoded format.\n"},"keyId":{"type":"string","description":"KeyID specifies the key ID, in hexadecimal string format.\n"},"owner":{"type":"string","description":"Owner holds the owner identification, e.g. a name and e-mail address\n"},"subType":{"type":"string","description":"SubType holds the key's sub type\n"},"trust":{"type":"string","description":"Trust holds the level of trust assigned to this key\n"}},"type":"object","required":["keyData"],"language":{"nodejs":{"requiredOutputs":["fingerprint","keyData","keyId","owner","subType","trust"]}}},"harness:platform/GitOpsRepoCertRequest:GitOpsRepoCertRequest":{"properties":{"certificates":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepoCertRequestCertificate:GitOpsRepoCertRequestCertificate"},"description":"certificates details.\n"},"upsert":{"type":"boolean","description":"Indicates if the GitOps repository certificate should be updated if existing and inserted if not.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["certificates"]}}},"harness:platform/GitOpsRepoCertRequestCertificate:GitOpsRepoCertRequestCertificate":{"properties":{"items":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepoCertRequestCertificateItem:GitOpsRepoCertRequestCertificateItem"},"description":"List of certificates to be processed.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepoCertRequestCertificateMetadata:GitOpsRepoCertRequestCertificateMetadata"},"description":"metadata details\n"}},"type":"object"},"harness:platform/GitOpsRepoCertRequestCertificateItem:GitOpsRepoCertRequestCertificateItem":{"properties":{"certData":{"type":"string","description":"CertData contains the actual certificate data, dependent on the certificate type. The value should be base64 encoded\n"},"certInfo":{"type":"string","description":"CertInfo will hold additional certificate info, dependent on the certificate type .\n"},"certSubType":{"type":"string","description":"CertSubType specifies the sub type of the cert, i.e. ssh-rsa.\n"},"certType":{"type":"string","description":"CertType specifies the type of the certificate - currently one of https or ssh.\n"},"serverName":{"type":"string","description":"ServerName specifies the DNS name of the server this certificate is intended.\n"}},"type":"object"},"harness:platform/GitOpsRepoCertRequestCertificateMetadata:GitOpsRepoCertRequestCertificateMetadata":{"properties":{"continue":{"type":"string","description":"continue may be set if the user set a limit on the number of items returned.\n"},"remainingItemCount":{"type":"string","description":"subsequent items in the list.\n"},"resourceVersion":{"type":"string","description":"Identifies the server's internal version.\n"},"selfLink":{"type":"string","description":"selfLink is a URL representing this object.\n"}},"type":"object"},"harness:platform/GitOpsRepoCredCred:GitOpsRepoCredCred":{"properties":{"enableOci":{"type":"boolean","description":"Specifies whether helm-oci support should be enabled for this repo.\n"},"githubAppEnterpriseBaseUrl":{"type":"string","description":"Specifies the GitHub API URL for GitHub app authentication.\n"},"githubAppId":{"type":"string","description":"Specifies the Github App ID of the app used to access the repo for GitHub app authentication.\n","secret":true},"githubAppInstallationId":{"type":"string","description":"Specifies the ID of the installed GitHub App for GitHub app authentication.\n","secret":true},"githubAppPrivateKey":{"type":"string","description":"github*app*private_key specifies the private key PEM data for authentication via GitHub app.\n","secret":true},"password":{"type":"string","description":"Password or PAT to be used for authenticating the remote repository.\n","secret":true},"sshPrivateKey":{"type":"string","description":"SSH Key in PEM format for authenticating the repository. Used only for Git repository.\n","secret":true},"tlsClientCertData":{"type":"string","description":"Certificate in PEM format for authenticating at the repo server. This is used for mTLS.\n","secret":true},"tlsClientCertKey":{"type":"string","description":"Private key in PEM format for authenticating at the repo server. This is used for mTLS.\n","secret":true},"type":{"type":"string","description":"Type specifies the type of the repoCreds.Can be either 'git' or 'helm. 'git' is assumed if empty or absent\n"},"url":{"type":"string","description":"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\"\n","willReplaceOnChanges":true},"username":{"type":"string","description":"Username to be used for authenticating the remote repository.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["githubAppId","githubAppInstallationId","githubAppPrivateKey","password","sshPrivateKey","tlsClientCertData","tlsClientCertKey"]}}},"harness:platform/GitOpsRepositoryEcrGen:GitOpsRepositoryEcrGen":{"properties":{"jwtAuth":{"$ref":"#/types/harness:platform/GitOpsRepositoryEcrGenJwtAuth:GitOpsRepositoryEcrGenJwtAuth","description":"JWT authentication specific configuration.\n"},"region":{"type":"string","description":"AWS region.\n"},"secretRef":{"$ref":"#/types/harness:platform/GitOpsRepositoryEcrGenSecretRef:GitOpsRepositoryEcrGenSecretRef","description":"Secret reference to the AWS credentials.\n"}},"type":"object"},"harness:platform/GitOpsRepositoryEcrGenJwtAuth:GitOpsRepositoryEcrGenJwtAuth":{"properties":{"audiences":{"type":"array","items":{"type":"string"},"description":"Audience specifies the \u003cspan pulumi-lang-nodejs=\"`aud`\" pulumi-lang-dotnet=\"`Aud`\" pulumi-lang-go=\"`aud`\" pulumi-lang-python=\"`aud`\" pulumi-lang-yaml=\"`aud`\" pulumi-lang-java=\"`aud`\"\u003e`aud`\u003c/span\u003e 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\n"},"name":{"type":"string","description":"The name of the ServiceAccount resource being referred to.\n"},"namespace":{"type":"string","description":"Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults to the namespace of the referent.\n"}},"type":"object"},"harness:platform/GitOpsRepositoryEcrGenSecretRef:GitOpsRepositoryEcrGenSecretRef":{"properties":{"awsAccessKeyId":{"type":"string","description":"AWS access key id.\n"},"awsSecretAccessKey":{"type":"string","description":"AWS secret access key.\n","secret":true},"awsSessionToken":{"type":"string","description":"AWS session token.\n","secret":true}},"type":"object"},"harness:platform/GitOpsRepositoryGcrGen:GitOpsRepositoryGcrGen":{"properties":{"accessKey":{"type":"string","description":"GCP access key.\n","secret":true},"projectId":{"type":"string","description":"GCP project id.\n"},"workloadIdentity":{"$ref":"#/types/harness:platform/GitOpsRepositoryGcrGenWorkloadIdentity:GitOpsRepositoryGcrGenWorkloadIdentity","description":"GCP workload identity.\n"}},"type":"object"},"harness:platform/GitOpsRepositoryGcrGenWorkloadIdentity:GitOpsRepositoryGcrGenWorkloadIdentity":{"properties":{"clusterLocation":{"type":"string","description":"Cluster location.\n"},"clusterName":{"type":"string","description":"Cluster name.\n"},"clusterProjectId":{"type":"string","description":"Cluster project id.\n"},"serviceAccountRef":{"$ref":"#/types/harness:platform/GitOpsRepositoryGcrGenWorkloadIdentityServiceAccountRef:GitOpsRepositoryGcrGenWorkloadIdentityServiceAccountRef","description":"Service account reference.\n"}},"type":"object"},"harness:platform/GitOpsRepositoryGcrGenWorkloadIdentityServiceAccountRef:GitOpsRepositoryGcrGenWorkloadIdentityServiceAccountRef":{"properties":{"audiences":{"type":"array","items":{"type":"string"},"description":"Audience specifies the \u003cspan pulumi-lang-nodejs=\"`aud`\" pulumi-lang-dotnet=\"`Aud`\" pulumi-lang-go=\"`aud`\" pulumi-lang-python=\"`aud`\" pulumi-lang-yaml=\"`aud`\" pulumi-lang-java=\"`aud`\"\u003e`aud`\u003c/span\u003e 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\n"},"name":{"type":"string","description":"The name of the ServiceAccount resource being referred to.\n"},"namespace":{"type":"string","description":"Namespace of the resource being referred to. Ignored if referent is not cluster-scoped. cluster-scoped defaults to the namespace of the referent.\n"}},"type":"object"},"harness:platform/GitOpsRepositoryRepo:GitOpsRepositoryRepo":{"properties":{"connectionType":{"type":"string","description":"Identifies the authentication method used to connect to the repository. Possible values: \"HTTPS\" \"SSH\" \"GITHUB\" \"HTTPS*ANONYMOUS\", \"GITHUB*ENTERPRISE\".\n"},"enableLfs":{"type":"boolean","description":"Indicates if git-lfs support must be enabled for this repo. This is valid only for Git repositories.\n"},"enableOci":{"type":"boolean","description":"Indicates if helm-oci support must be enabled for this repo.\n"},"githubAppEnterpriseBaseUrl":{"type":"string","description":"Base URL of GitHub Enterprise installation. If left empty, this defaults to https://api.github.com.\n"},"githubAppId":{"type":"string","description":"Id of the GitHub app used to access the repo.\n","secret":true},"githubAppInstallationId":{"type":"string","description":"Installation id of the GitHub app used to access the repo.\n","secret":true},"githubAppPrivateKey":{"type":"string","description":"GitHub app private key PEM data.\n","secret":true},"inheritedCreds":{"type":"boolean","description":"Indicates if the credentials were inherited from a repository credential.\n"},"insecure":{"type":"boolean","description":"Indicates if the connection to the repository ignores any errors when verifying TLS certificates or SSH host keys.\n"},"insecureIgnoreHostKey":{"type":"boolean","description":"Indicates if InsecureIgnoreHostKey should be used. Insecure is favored used only for git repos. Deprecated.\n"},"name":{"type":"string","description":"Name to be used for this repo. Only used with Helm repos.\n"},"password":{"type":"string","description":"Password or PAT to be used for authenticating the remote repository.\n","secret":true},"project":{"type":"string","description":"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.\n"},"proxy":{"type":"string","description":"The HTTP/HTTPS proxy used to access the repo.\n"},"repo":{"type":"string","description":"URL to the remote repository.\n","willReplaceOnChanges":true},"sshPrivateKey":{"type":"string","description":"SSH Key in PEM format for authenticating the repository. Used only for Git repository.\n","secret":true},"tlsClientCertData":{"type":"string","description":"Certificate in PEM format for authenticating at the repo server. This is used for mTLS. The value should be base64 encoded.\n","secret":true},"tlsClientCertKey":{"type":"string","description":"Private key in PEM format for authenticating at the repo server. This is used for mTLS. The value should be base64 encoded.\n","secret":true},"type_":{"type":"string","description":"Type specifies the type of the repo. Can be either \"git\" or \"helm. \"git\" is assumed if empty or absent.\n"},"username":{"type":"string","description":"Username to be used for authenticating the remote repository.\n"}},"type":"object","required":["connectionType","repo"],"language":{"nodejs":{"requiredOutputs":["connectionType","githubAppId","githubAppInstallationId","githubAppPrivateKey","inheritedCreds","password","project","repo","sshPrivateKey","tlsClientCertData","tlsClientCertKey","type_"]}}},"harness:platform/GitOpsRepositoryUpdateMask:GitOpsRepositoryUpdateMask":{"properties":{"paths":{"type":"array","items":{"type":"string"},"description":"The set of field mask paths.\n"}},"type":"object"},"harness:platform/GithubConnectorApiAuthentication:GithubConnectorApiAuthentication":{"properties":{"githubApp":{"$ref":"#/types/harness:platform/GithubConnectorApiAuthenticationGithubApp:GithubConnectorApiAuthenticationGithubApp","description":"Configuration for using the github app for interacting with the github api.\n"},"tokenRef":{"type":"string","description":"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}.\n"}},"type":"object"},"harness:platform/GithubConnectorApiAuthenticationGithubApp:GithubConnectorApiAuthenticationGithubApp":{"properties":{"applicationId":{"type":"string","description":"Enter the GitHub App ID from the GitHub App General tab.\n"},"applicationIdRef":{"type":"string","description":"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}.\n"},"installationId":{"type":"string","description":"Enter the Installation ID located in the URL of the installed GitHub App.\n"},"installationIdRef":{"type":"string","description":"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}.\n"},"privateKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["privateKeyRef"]},"harness:platform/GithubConnectorCredentials:GithubConnectorCredentials":{"properties":{"http":{"$ref":"#/types/harness:platform/GithubConnectorCredentialsHttp:GithubConnectorCredentialsHttp","description":"Authenticate using Username and password over http(s) for the connection.\n"},"ssh":{"$ref":"#/types/harness:platform/GithubConnectorCredentialsSsh:GithubConnectorCredentialsSsh","description":"Authenticate using SSH for the connection.\n"}},"type":"object"},"harness:platform/GithubConnectorCredentialsHttp:GithubConnectorCredentialsHttp":{"properties":{"anonymouses":{"type":"array","items":{"$ref":"#/types/harness:platform/GithubConnectorCredentialsHttpAnonymouse:GithubConnectorCredentialsHttpAnonymouse"},"description":"Configuration for using the github http anonymous for interacting with the github api.\n"},"githubApp":{"$ref":"#/types/harness:platform/GithubConnectorCredentialsHttpGithubApp:GithubConnectorCredentialsHttpGithubApp","description":"Configuration for using the github app for interacting with the github api.\n"},"tokenRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object"},"harness:platform/GithubConnectorCredentialsHttpAnonymouse:GithubConnectorCredentialsHttpAnonymouse":{"type":"object"},"harness:platform/GithubConnectorCredentialsHttpGithubApp:GithubConnectorCredentialsHttpGithubApp":{"properties":{"applicationId":{"type":"string","description":"Enter the GitHub App ID from the GitHub App General tab.\n"},"applicationIdRef":{"type":"string","description":"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}.\n"},"installationId":{"type":"string","description":"Enter the Installation ID located in the URL of the installed GitHub App.\n"},"installationIdRef":{"type":"string","description":"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}.\n"},"privateKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["privateKeyRef"]},"harness:platform/GithubConnectorCredentialsSsh:GithubConnectorCredentialsSsh":{"properties":{"sshKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["sshKeyRef"]},"harness:platform/GitlabConnectorApiAuthentication:GitlabConnectorApiAuthentication":{"properties":{"tokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["tokenRef"]},"harness:platform/GitlabConnectorCredentials:GitlabConnectorCredentials":{"properties":{"http":{"$ref":"#/types/harness:platform/GitlabConnectorCredentialsHttp:GitlabConnectorCredentialsHttp","description":"Authenticate using Username and password over http(s) for the connection.\n"},"ssh":{"$ref":"#/types/harness:platform/GitlabConnectorCredentialsSsh:GitlabConnectorCredentialsSsh","description":"Authenticate using SSH for the connection.\n"}},"type":"object"},"harness:platform/GitlabConnectorCredentialsHttp:GitlabConnectorCredentialsHttp":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"tokenRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object"},"harness:platform/GitlabConnectorCredentialsSsh:GitlabConnectorCredentialsSsh":{"properties":{"sshKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["sshKeyRef"]},"harness:platform/GitopsAppProjectProject:GitopsAppProjectProject":{"properties":{"metadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectMetadata:GitopsAppProjectProjectMetadata"},"description":"K8s object metadata for the Argo project.\n"},"specs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpec:GitopsAppProjectProjectSpec"},"description":"Specification details for the Argo project.\n"}},"type":"object","required":["metadatas","specs"]},"harness:platform/GitopsAppProjectProjectMetadata:GitopsAppProjectProjectMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations associated with the GitOps project.\n"},"clusterName":{"type":"string","description":"Name of the cluster associated with the GitOps project.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"Finalizers associated with the GitOps project.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels associated with the GitOps project.\n"},"managedFields":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectMetadataManagedField:GitopsAppProjectProjectMetadataManagedField"},"description":"Managed fields associated with the GitOps project.\n"},"name":{"type":"string","description":"Name of the GitOps project.\n"},"namespace":{"type":"string","description":"Namespace of the GitOps project. This must be the same as the namespace where the agent is installed\n"},"resourceVersion":{"type":"string","description":"Resource Version for the GitOps project\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["annotations","managedFields","resourceVersion"]}}},"harness:platform/GitopsAppProjectProjectMetadataManagedField:GitopsAppProjectProjectMetadataManagedField":{"properties":{"apiVersion":{"type":"string","description":"API version of the operation performed.\n"},"fieldsType":{"type":"string","description":"Type of the fields in the GitOps project.\n"},"fieldsV1":{"type":"object","additionalProperties":{"type":"string"},"description":"Raw fields associated with the GitOps project.\n"},"manager":{"type":"string","description":"Manager responsible for the operation.\n"},"operation":{"type":"string","description":"Operation type performed on the GitOps project.\n"},"subresource":{"type":"string","description":"Subresource associated with the GitOps project.\n"},"time":{"type":"object","additionalProperties":{"type":"string"},"description":"Timestamp of the operation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["apiVersion","fieldsType","fieldsV1","manager","operation","subresource","time"]}}},"harness:platform/GitopsAppProjectProjectSpec:GitopsAppProjectProjectSpec":{"properties":{"clusterResourceBlacklists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecClusterResourceBlacklist:GitopsAppProjectProjectSpecClusterResourceBlacklist"},"description":"Cluster resource blacklist for the GitOps project.\n"},"clusterResourceWhitelists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecClusterResourceWhitelist:GitopsAppProjectProjectSpecClusterResourceWhitelist"},"description":"Cluster resource whitelist for the Argo project.\n"},"description":{"type":"string","description":"Description of the Argo project.\n"},"destinations":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecDestination:GitopsAppProjectProjectSpecDestination"},"description":"Allowed destinations for applications in this Argo project.\n"},"namespaceResourceBlacklists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecNamespaceResourceBlacklist:GitopsAppProjectProjectSpecNamespaceResourceBlacklist"},"description":"Namespace resource blacklist for the Argo project.\n"},"namespaceResourceWhitelists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecNamespaceResourceWhitelist:GitopsAppProjectProjectSpecNamespaceResourceWhitelist"},"description":"Namespace resource whitelist for the GitOps project.\n"},"orphanedResources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecOrphanedResource:GitopsAppProjectProjectSpecOrphanedResource"},"description":"OrphanedResources specifies if agent should monitor orphaned resources of apps in this project\n"},"permitOnlyProjectScopedClusters":{"type":"boolean","description":"This option determines whether destinations can only reference clusters which are argo project-scoped\n"},"roles":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecRole:GitopsAppProjectProjectSpecRole"},"description":"Roles associated with the Argo project.\n"},"signatureKeys":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecSignatureKey:GitopsAppProjectProjectSpecSignatureKey"},"description":"Signature keys for the GitOps project.\n"},"sourceNamespaces":{"type":"array","items":{"type":"string"},"description":"Source namespaces defines the namespaces application resources are allowed to be created in.\n"},"sourceRepos":{"type":"array","items":{"type":"string"},"description":"Allowed Source repositories for the Argo project.\n"},"syncWindows":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecSyncWindow:GitopsAppProjectProjectSpecSyncWindow"},"description":"Synchronization windows for the GitOps project.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["syncWindows"]}}},"harness:platform/GitopsAppProjectProjectSpecClusterResourceBlacklist:GitopsAppProjectProjectSpecClusterResourceBlacklist":{"properties":{"group":{"type":"string","description":"Group of the cluster resource blacklist.\n"},"kind":{"type":"string","description":"Kind of the cluster resource blacklist.\n"}},"type":"object"},"harness:platform/GitopsAppProjectProjectSpecClusterResourceWhitelist:GitopsAppProjectProjectSpecClusterResourceWhitelist":{"properties":{"group":{"type":"string","description":"Group of the cluster resource whitelist.\n"},"kind":{"type":"string","description":"Kind of the cluster resource whitelist.\n"}},"type":"object"},"harness:platform/GitopsAppProjectProjectSpecDestination:GitopsAppProjectProjectSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the destination cluster.\n"},"namespace":{"type":"string","description":"Permitted Namespaces for deployment in the destination cluster.\n"},"server":{"type":"string","description":"Server URL of the destination cluster.\n"}},"type":"object"},"harness:platform/GitopsAppProjectProjectSpecNamespaceResourceBlacklist:GitopsAppProjectProjectSpecNamespaceResourceBlacklist":{"properties":{"group":{"type":"string","description":"Group of the namespace resource blacklist.\n"},"kind":{"type":"string","description":"Kind of the namespace resource blacklist.\n"}},"type":"object"},"harness:platform/GitopsAppProjectProjectSpecNamespaceResourceWhitelist:GitopsAppProjectProjectSpecNamespaceResourceWhitelist":{"properties":{"group":{"type":"string","description":"Group of the namespace resource whitelist.\n"},"kind":{"type":"string","description":"Kind of the namespace resource whitelist.\n"}},"type":"object"},"harness:platform/GitopsAppProjectProjectSpecOrphanedResource:GitopsAppProjectProjectSpecOrphanedResource":{"properties":{"ignores":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecOrphanedResourceIgnore:GitopsAppProjectProjectSpecOrphanedResourceIgnore"},"description":"List of ignored orphaned resources.\n"},"warn":{"type":"boolean","description":"Whether to warn about orphaned resources.\n"}},"type":"object"},"harness:platform/GitopsAppProjectProjectSpecOrphanedResourceIgnore:GitopsAppProjectProjectSpecOrphanedResourceIgnore":{"properties":{"group":{"type":"string","description":"Group of the ignored orphaned resource.\n"},"kind":{"type":"string","description":"Kind of the ignored orphaned resource.\n"},"name":{"type":"string","description":"Name of the ignored orphaned resource.\n"}},"type":"object"},"harness:platform/GitopsAppProjectProjectSpecRole:GitopsAppProjectProjectSpecRole":{"properties":{"description":{"type":"string","description":"Description of the role.\n"},"groups":{"type":"array","items":{"type":"string"},"description":"Groups associated with the role.\n"},"jwtTokens":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProjectSpecRoleJwtToken:GitopsAppProjectProjectSpecRoleJwtToken"},"description":"JWT tokens associated with the role.\n"},"name":{"type":"string","description":"Name of the role.\n"},"policies":{"type":"array","items":{"type":"string"},"description":"Policies associated with the role. These are argo RBAC policies and may not necessarily reflect in harness.\n"}},"type":"object","required":["description","name"],"language":{"nodejs":{"requiredOutputs":["description","groups","name"]}}},"harness:platform/GitopsAppProjectProjectSpecRoleJwtToken:GitopsAppProjectProjectSpecRoleJwtToken":{"properties":{"exp":{"type":"string","description":"Expiration time of the JWT token.\n"},"iat":{"type":"string","description":"Issued At time of the JWT token.\n"},"id":{"type":"string","description":"ID of the JWT token.\n"}},"type":"object"},"harness:platform/GitopsAppProjectProjectSpecSignatureKey:GitopsAppProjectProjectSpecSignatureKey":{"properties":{"keyId":{"type":"string","description":"ID of the signature key.\n"}},"type":"object"},"harness:platform/GitopsAppProjectProjectSpecSyncWindow:GitopsAppProjectProjectSpecSyncWindow":{"properties":{"applications":{"type":"array","items":{"type":"string"},"description":"Applications associated with synchronization window.\n"},"clusters":{"type":"array","items":{"type":"string"},"description":"Clusters associated with synchronization window.\n"},"duration":{"type":"string","description":"Duration of synchronization window.\n"},"kind":{"type":"string","description":"Kind of synchronization window.\n"},"manualSync":{"type":"boolean","description":"Whether manual synchronization is enabled.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"Namespaces associated with synchronization window.\n"},"schedule":{"type":"string","description":"Schedule of synchronization window.\n"},"timeZone":{"type":"string","description":"Time zone of synchronization window.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["applications","clusters","duration","kind","manualSync","namespaces","schedule","timeZone"]}}},"harness:platform/GitopsApplicationsetApplicationset:GitopsApplicationsetApplicationset":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetMetadata:GitopsApplicationsetApplicationsetMetadata","description":"Standard Kubernetes object metadata.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpec:GitopsApplicationsetApplicationsetSpec","description":"Spec of the GitOps applicationset. Includes the generators and template.\n"}},"type":"object","required":["metadata","spec"]},"harness:platform/GitopsApplicationsetApplicationsetMetadata:GitopsApplicationsetApplicationsetMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations are unstructured key value pairs corresponding to a resource. External tools set these to store and retrieve arbitrary metadata.\n"},"generation":{"type":"string","description":"A sequence number representing a specific generation of the desired state. This is a read-only value populated by the system.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"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.\n"},"name":{"type":"string","description":"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.\n"},"namespace":{"type":"string","description":"Namespace of the GitOps application. An empty namespace is equivalent to the namespace of the GitOps agent.\n"},"uid":{"type":"string","description":"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.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["annotations","generation","labels","namespace","uid"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpec:GitopsApplicationsetApplicationsetSpec":{"properties":{"generators":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGenerator:GitopsApplicationsetApplicationsetSpecGenerator"},"description":"Application set generators are responsible for generation of params, which are then rendered into the template: fields of the ApplicationSet resource.\n"},"goTemplate":{"type":"boolean","description":"Enable Go templating for the template field.\n"},"goTemplateOptions":{"type":"array","items":{"type":"string"},"description":"Optional list of go templating options, see https://pkg.go.dev/text/template#Template.Optional. This is only relevant if `goTemplate` is true\n"},"ignoreApplicationDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecIgnoreApplicationDifference:GitopsApplicationsetApplicationsetSpecIgnoreApplicationDifference"},"description":"Application Set ignoreApplicationDifferences\n"},"strategy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecStrategy:GitopsApplicationsetApplicationsetSpecStrategy","description":"[Progressive Sync](https://argo-cd.readthedocs.io/en/stable/operator-manual/applicationset/Progressive-Syncs/) strategy\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecSyncPolicy","description":"Application Set sync policy\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplate:GitopsApplicationsetApplicationsetSpecTemplate","description":"Application Set template. The template fields of the ApplicationSet spec are used to generate Gitops Applications.\n"}},"type":"object","required":["generators","template"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGenerator:GitopsApplicationsetApplicationsetSpecGenerator":{"properties":{"clusterDecisionResources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResource"},"description":"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.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorCluster"},"description":"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.\n"},"gits":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorGit"},"description":"[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).\n"},"lists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorList"},"description":"[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).\n"},"matrices":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrix:GitopsApplicationsetApplicationsetSpecGeneratorMatrix"},"description":"[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.\n"},"merges":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMerge:GitopsApplicationsetApplicationsetSpecGeneratorMerge"},"description":"[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.\n"},"pullRequests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorPullRequest"},"description":"[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.\n"},"scmProviders":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorScmProvider"},"description":"[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.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorSelector","description":"The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorCluster":{"properties":{"enabled":{"type":"boolean","description":"Boolean value defaulting to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to indicate that this block has been added thereby allowing all other attributes to be optional.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorClusterSelector","description":"Label selector used to narrow the scope of targeted clusters.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator.\n"}},"type":"object","required":["enabled"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResource":{"properties":{"configMapRef":{"type":"string","description":"ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings.\n"},"labelSelector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceLabelSelector","description":"Label selector used to find the resource defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e. Alternative to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Resource name of the kind, group and version, defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs which are passed directly as parameters to the template.\n"}},"type":"object","required":["configMapRef"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorClusterSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorClusterSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorClusterSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorGit":{"properties":{"directories":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorGitDirectory"},"description":"List of directories in the source repository to use when template the Application..\n"},"files":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorGitFile"},"description":"List of files in the source repository to use when template the Application.\n"},"pathParamPrefix":{"type":"string","description":"Prefix for all path-related parameter names.\n"},"repoUrl":{"type":"string","description":"URL to the repository to use.\n"},"revision":{"type":"string","description":"Revision of the source repository to use.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["repoUrl"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorGitDirectory":{"properties":{"exclude":{"type":"boolean","description":"Flag indicating whether or not the directory should be excluded when templating.\n"},"path":{"type":"string","description":"Path in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorGitFile":{"properties":{"path":{"type":"string","description":"Path to the file in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorList":{"properties":{"elements":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"List of key/value pairs to pass as parameters into the template.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorListTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["elements"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorListTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrix:GitopsApplicationsetApplicationsetSpecGeneratorMatrix":{"properties":{"generators":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGenerator"},"description":"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.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["generators"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGenerator":{"properties":{"clusterDecisionResources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResource"},"description":"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.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorCluster"},"description":"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.\n"},"gits":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGit"},"description":"[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).\n"},"lists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorList"},"description":"[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).\n"},"matrices":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrix:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrix"},"description":"[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.\n"},"merges":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMerge:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMerge"},"description":"[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.\n"},"pullRequests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequest"},"description":"[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.\n"},"scmProviders":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProvider"},"description":"[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.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorSelector","description":"The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorCluster":{"properties":{"enabled":{"type":"boolean","description":"Boolean value defaulting to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to indicate that this block has been added thereby allowing all other attributes to be optional.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterSelector","description":"Label selector used to narrow the scope of targeted clusters.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator.\n"}},"type":"object","required":["enabled"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResource":{"properties":{"configMapRef":{"type":"string","description":"ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings.\n"},"labelSelector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector","description":"Label selector used to find the resource defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e. Alternative to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Resource name of the kind, group and version, defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs which are passed directly as parameters to the template.\n"}},"type":"object","required":["configMapRef"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGit":{"properties":{"directories":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitDirectory"},"description":"List of directories in the source repository to use when template the Application..\n"},"files":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitFile"},"description":"List of files in the source repository to use when template the Application.\n"},"pathParamPrefix":{"type":"string","description":"Prefix for all path-related parameter names.\n"},"repoUrl":{"type":"string","description":"URL to the repository to use.\n"},"revision":{"type":"string","description":"Revision of the source repository to use.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["repoUrl"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitDirectory":{"properties":{"exclude":{"type":"boolean","description":"Flag indicating whether or not the directory should be excluded when templating.\n"},"path":{"type":"string","description":"Path in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitFile":{"properties":{"path":{"type":"string","description":"Path to the file in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorList":{"properties":{"elements":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"List of key/value pairs to pass as parameters into the template.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["elements"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrix:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrix":{"properties":{"generators":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGenerator"},"description":"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.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["generators"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGenerator":{"properties":{"clusterDecisionResources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResource"},"description":"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.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorCluster"},"description":"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.\n"},"gits":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGit"},"description":"[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).\n"},"lists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorList"},"description":"[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).\n"},"pullRequests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequest"},"description":"[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.\n"},"scmProviders":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProvider"},"description":"[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.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorSelector","description":"The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorCluster":{"properties":{"enabled":{"type":"boolean","description":"Boolean value defaulting to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to indicate that this block has been added thereby allowing all other attributes to be optional.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterSelector","description":"Label selector used to narrow the scope of targeted clusters.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator.\n"}},"type":"object","required":["enabled"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResource":{"properties":{"configMapRef":{"type":"string","description":"ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings.\n"},"labelSelector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector","description":"Label selector used to find the resource defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e. Alternative to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Resource name of the kind, group and version, defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs which are passed directly as parameters to the template.\n"}},"type":"object","required":["configMapRef"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGit":{"properties":{"directories":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitDirectory"},"description":"List of directories in the source repository to use when template the Application..\n"},"files":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitFile"},"description":"List of files in the source repository to use when template the Application.\n"},"pathParamPrefix":{"type":"string","description":"Prefix for all path-related parameter names.\n"},"repoUrl":{"type":"string","description":"URL to the repository to use.\n"},"revision":{"type":"string","description":"Revision of the source repository to use.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["repoUrl"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitDirectory":{"properties":{"exclude":{"type":"boolean","description":"Flag indicating whether or not the directory should be excluded when templating.\n"},"path":{"type":"string","description":"Path in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitFile":{"properties":{"path":{"type":"string","description":"Path to the file in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorList":{"properties":{"elements":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"List of key/value pairs to pass as parameters into the template.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["elements"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequest":{"properties":{"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServer","description":"Fetch pull requests from a repo hosted on a Bitbucket Server.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestFilter"},"description":"Filters allow selecting which pull requests to generate for.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitea","description":"Specify the repository from which to fetch the Gitea Pull requests.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGithub","description":"Specify the repository from which to fetch the GitHub Pull requests.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitlab","description":"Specify the project from which to fetch the GitLab merge requests.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 30min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServer":{"properties":{"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"},"repo":{"type":"string","description":"Repo name to scan.\n"}},"type":"object","required":["api","project","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitea":{"properties":{"api":{"type":"string","description":"The Gitea API URL to talk to.\n"},"insecure":{"type":"boolean","description":"Allow insecure tls, for self-signed certificates; default: false.\n"},"owner":{"type":"string","description":"Gitea org or user to scan.\n"},"repo":{"type":"string","description":"Gitea repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["api","owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGithub":{"properties":{"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret with permission to access pull requests.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"owner":{"type":"string","description":"GitHub org or user to scan.\n"},"repo":{"type":"string","description":"GitHub repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitlab":{"properties":{"api":{"type":"string","description":"The GitLab API URL to talk to. If blank, uses https://gitlab.com/.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"project":{"type":"string","description":"GitLab project to scan.\n"},"pullRequestState":{"type":"string","description":"additional MRs filter to get only those with a certain state. Default:  \"\" (all states).\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProvider":{"properties":{"azureDevops":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderAzureDevops","description":"Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization.\n"},"bitbucketCloud":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketCloud","description":"Uses the Bitbucket API V2 to scan a workspace in bitbucket.org.\n"},"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServer","description":"Use the Bitbucket Server API (1.0) to scan repos in a project.\n"},"cloneProtocol":{"type":"string","description":"Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderFilter"},"description":"Filters for which repos should be considered.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitea","description":"Gitea mode uses the Gitea API to scan organizations in your instance.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGithub","description":"Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlab","description":"Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderAzureDevops":{"properties":{"accessTokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef","description":"The Personal Access Token (PAT) to use when connecting.\n"},"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The URL to Azure DevOps. Defaults to https://dev.azure.com.\n"},"organization":{"type":"string","description":"Azure Devops organization. E.g. \"my-organization\".\n"},"teamProject":{"type":"string","description":"Azure Devops team project. E.g. \"my-team\".\n"}},"type":"object","required":["organization","teamProject"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketCloud":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"appPasswordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef","description":"The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/.\n"},"owner":{"type":"string","description":"Bitbucket workspace to scan.\n"},"user":{"type":"string","description":"Bitbucket user to use when authenticating. Should have a \"member\" role to be able to read all repositories and branches.\n"}},"type":"object","required":["owner","user"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServer":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"}},"type":"object","required":["api","project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"},"labelMatch":{"type":"string","description":"A regex which must match at least one label.\n"},"pathsDoNotExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must not exist.\n"},"pathsExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must exist.\n"},"repositoryMatch":{"type":"string","description":"A regex for repo names.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitea":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Gitea URL to talk to. For example https://gitea.mydomain.com/.\n"},"insecure":{"type":"boolean","description":"Allow self-signed TLS / Certificates.\n"},"owner":{"type":"string","description":"Gitea organization or user to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGithub":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT.\n"},"organization":{"type":"string","description":"GitHub org to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["organization"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlab":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The Gitlab API URL to talk to.\n"},"caRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlabCaRef","description":"Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances.\n"},"group":{"type":"string","description":"Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path.\n"},"includeSubgroups":{"type":"boolean","description":"Recurse through subgroups (true) or scan only the base group (false). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["group"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlabCaRef":{"properties":{"configMapName":{"type":"string","description":"Name of Kubernetes `ConfigMap`.\n"},"key":{"type":"string","description":"Key containing information in Kubernetes `ConfigMap`.\n"}},"type":"object","required":["configMapName","key"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMerge:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMerge":{"properties":{"generators":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGenerator"},"description":"Child generator. Generators are responsible for generating parameters, which are then combined by the parent merge generator.\n"},"mergeKeys":{"type":"array","items":{"type":"string"},"description":"Keys to merge into resulting parameter set.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["generators","mergeKeys"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGenerator":{"properties":{"clusterDecisionResources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResource"},"description":"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.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorCluster"},"description":"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.\n"},"gits":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGit"},"description":"[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).\n"},"lists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorList"},"description":"[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).\n"},"pullRequests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequest"},"description":"[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.\n"},"scmProviders":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProvider"},"description":"[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.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorSelector","description":"The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorCluster":{"properties":{"enabled":{"type":"boolean","description":"Boolean value defaulting to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to indicate that this block has been added thereby allowing all other attributes to be optional.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterSelector","description":"Label selector used to narrow the scope of targeted clusters.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator.\n"}},"type":"object","required":["enabled"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResource":{"properties":{"configMapRef":{"type":"string","description":"ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings.\n"},"labelSelector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceLabelSelector","description":"Label selector used to find the resource defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e. Alternative to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Resource name of the kind, group and version, defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs which are passed directly as parameters to the template.\n"}},"type":"object","required":["configMapRef"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGit":{"properties":{"directories":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitDirectory"},"description":"List of directories in the source repository to use when template the Application..\n"},"files":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitFile"},"description":"List of files in the source repository to use when template the Application.\n"},"pathParamPrefix":{"type":"string","description":"Prefix for all path-related parameter names.\n"},"repoUrl":{"type":"string","description":"URL to the repository to use.\n"},"revision":{"type":"string","description":"Revision of the source repository to use.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["repoUrl"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitDirectory":{"properties":{"exclude":{"type":"boolean","description":"Flag indicating whether or not the directory should be excluded when templating.\n"},"path":{"type":"string","description":"Path in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitFile":{"properties":{"path":{"type":"string","description":"Path to the file in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorList":{"properties":{"elements":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"List of key/value pairs to pass as parameters into the template.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["elements"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequest":{"properties":{"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServer","description":"Fetch pull requests from a repo hosted on a Bitbucket Server.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestFilter"},"description":"Filters allow selecting which pull requests to generate for.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitea","description":"Specify the repository from which to fetch the Gitea Pull requests.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGithub","description":"Specify the repository from which to fetch the GitHub Pull requests.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitlab","description":"Specify the project from which to fetch the GitLab merge requests.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 30min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServer":{"properties":{"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"},"repo":{"type":"string","description":"Repo name to scan.\n"}},"type":"object","required":["api","project","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitea":{"properties":{"api":{"type":"string","description":"The Gitea API URL to talk to.\n"},"insecure":{"type":"boolean","description":"Allow insecure tls, for self-signed certificates; default: false.\n"},"owner":{"type":"string","description":"Gitea org or user to scan.\n"},"repo":{"type":"string","description":"Gitea repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["api","owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGithub":{"properties":{"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret with permission to access pull requests.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"owner":{"type":"string","description":"GitHub org or user to scan.\n"},"repo":{"type":"string","description":"GitHub repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitlab":{"properties":{"api":{"type":"string","description":"The GitLab API URL to talk to. If blank, uses https://gitlab.com/.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"project":{"type":"string","description":"GitLab project to scan.\n"},"pullRequestState":{"type":"string","description":"additional MRs filter to get only those with a certain state. Default:  \"\" (all states).\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProvider":{"properties":{"azureDevops":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderAzureDevops","description":"Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization.\n"},"bitbucketCloud":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketCloud","description":"Uses the Bitbucket API V2 to scan a workspace in bitbucket.org.\n"},"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServer","description":"Use the Bitbucket Server API (1.0) to scan repos in a project.\n"},"cloneProtocol":{"type":"string","description":"Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderFilter"},"description":"Filters for which repos should be considered.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitea","description":"Gitea mode uses the Gitea API to scan organizations in your instance.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGithub","description":"Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlab","description":"Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderAzureDevops":{"properties":{"accessTokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef","description":"The Personal Access Token (PAT) to use when connecting.\n"},"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The URL to Azure DevOps. Defaults to https://dev.azure.com.\n"},"organization":{"type":"string","description":"Azure Devops organization. E.g. \"my-organization\".\n"},"teamProject":{"type":"string","description":"Azure Devops team project. E.g. \"my-team\".\n"}},"type":"object","required":["organization","teamProject"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketCloud":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"appPasswordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef","description":"The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/.\n"},"owner":{"type":"string","description":"Bitbucket workspace to scan.\n"},"user":{"type":"string","description":"Bitbucket user to use when authenticating. Should have a \"member\" role to be able to read all repositories and branches.\n"}},"type":"object","required":["owner","user"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServer":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"}},"type":"object","required":["api","project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"},"labelMatch":{"type":"string","description":"A regex which must match at least one label.\n"},"pathsDoNotExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must not exist.\n"},"pathsExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must exist.\n"},"repositoryMatch":{"type":"string","description":"A regex for repo names.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitea":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Gitea URL to talk to. For example https://gitea.mydomain.com/.\n"},"insecure":{"type":"boolean","description":"Allow self-signed TLS / Certificates.\n"},"owner":{"type":"string","description":"Gitea organization or user to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGithub":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT.\n"},"organization":{"type":"string","description":"GitHub org to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["organization"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlab":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The Gitlab API URL to talk to.\n"},"caRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlabCaRef","description":"Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances.\n"},"group":{"type":"string","description":"Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path.\n"},"includeSubgroups":{"type":"boolean","description":"Recurse through subgroups (true) or scan only the base group (false). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["group"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlabCaRef":{"properties":{"configMapName":{"type":"string","description":"Name of Kubernetes `ConfigMap`.\n"},"key":{"type":"string","description":"Key containing information in Kubernetes `ConfigMap`.\n"}},"type":"object","required":["configMapName","key"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequest":{"properties":{"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServer","description":"Fetch pull requests from a repo hosted on a Bitbucket Server.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestFilter"},"description":"Filters allow selecting which pull requests to generate for.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitea","description":"Specify the repository from which to fetch the Gitea Pull requests.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGithub","description":"Specify the repository from which to fetch the GitHub Pull requests.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitlab","description":"Specify the project from which to fetch the GitLab merge requests.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 30min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServer":{"properties":{"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"},"repo":{"type":"string","description":"Repo name to scan.\n"}},"type":"object","required":["api","project","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitea":{"properties":{"api":{"type":"string","description":"The Gitea API URL to talk to.\n"},"insecure":{"type":"boolean","description":"Allow insecure tls, for self-signed certificates; default: false.\n"},"owner":{"type":"string","description":"Gitea org or user to scan.\n"},"repo":{"type":"string","description":"Gitea repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["api","owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGithub":{"properties":{"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret with permission to access pull requests.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"owner":{"type":"string","description":"GitHub org or user to scan.\n"},"repo":{"type":"string","description":"GitHub repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitlab":{"properties":{"api":{"type":"string","description":"The GitLab API URL to talk to. If blank, uses https://gitlab.com/.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"project":{"type":"string","description":"GitLab project to scan.\n"},"pullRequestState":{"type":"string","description":"additional MRs filter to get only those with a certain state. Default:  \"\" (all states).\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProvider":{"properties":{"azureDevops":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderAzureDevops","description":"Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization.\n"},"bitbucketCloud":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketCloud","description":"Uses the Bitbucket API V2 to scan a workspace in bitbucket.org.\n"},"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServer","description":"Use the Bitbucket Server API (1.0) to scan repos in a project.\n"},"cloneProtocol":{"type":"string","description":"Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderFilter"},"description":"Filters for which repos should be considered.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitea","description":"Gitea mode uses the Gitea API to scan organizations in your instance.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGithub","description":"Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlab","description":"Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderAzureDevops":{"properties":{"accessTokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef","description":"The Personal Access Token (PAT) to use when connecting.\n"},"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The URL to Azure DevOps. Defaults to https://dev.azure.com.\n"},"organization":{"type":"string","description":"Azure Devops organization. E.g. \"my-organization\".\n"},"teamProject":{"type":"string","description":"Azure Devops team project. E.g. \"my-team\".\n"}},"type":"object","required":["organization","teamProject"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketCloud":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"appPasswordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef","description":"The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/.\n"},"owner":{"type":"string","description":"Bitbucket workspace to scan.\n"},"user":{"type":"string","description":"Bitbucket user to use when authenticating. Should have a \"member\" role to be able to read all repositories and branches.\n"}},"type":"object","required":["owner","user"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServer":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"}},"type":"object","required":["api","project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"},"labelMatch":{"type":"string","description":"A regex which must match at least one label.\n"},"pathsDoNotExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must not exist.\n"},"pathsExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must exist.\n"},"repositoryMatch":{"type":"string","description":"A regex for repo names.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitea":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Gitea URL to talk to. For example https://gitea.mydomain.com/.\n"},"insecure":{"type":"boolean","description":"Allow self-signed TLS / Certificates.\n"},"owner":{"type":"string","description":"Gitea organization or user to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGithub":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT.\n"},"organization":{"type":"string","description":"GitHub org to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["organization"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlab":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The Gitlab API URL to talk to.\n"},"caRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlabCaRef","description":"Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances.\n"},"group":{"type":"string","description":"Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path.\n"},"includeSubgroups":{"type":"boolean","description":"Recurse through subgroups (true) or scan only the base group (false). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["group"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlabCaRef":{"properties":{"configMapName":{"type":"string","description":"Name of Kubernetes `ConfigMap`.\n"},"key":{"type":"string","description":"Key containing information in Kubernetes `ConfigMap`.\n"}},"type":"object","required":["configMapName","key"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMerge:GitopsApplicationsetApplicationsetSpecGeneratorMerge":{"properties":{"generators":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMergeGenerator"},"description":"Child generator. Generators are responsible for generating parameters, which are then combined by the parent merge generator.\n"},"mergeKeys":{"type":"array","items":{"type":"string"},"description":"Keys to merge into resulting parameter set.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["generators","mergeKeys"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMergeGenerator":{"properties":{"clusterDecisionResources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResource"},"description":"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.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorCluster"},"description":"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.\n"},"gits":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGit"},"description":"[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).\n"},"lists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorList"},"description":"[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).\n"},"matrices":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrix:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrix"},"description":"[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.\n"},"merges":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMerge:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMerge"},"description":"[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.\n"},"pullRequests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequest"},"description":"[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.\n"},"scmProviders":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProvider"},"description":"[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.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorSelector","description":"The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorCluster":{"properties":{"enabled":{"type":"boolean","description":"Boolean value defaulting to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to indicate that this block has been added thereby allowing all other attributes to be optional.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterSelector","description":"Label selector used to narrow the scope of targeted clusters.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator.\n"}},"type":"object","required":["enabled"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResource":{"properties":{"configMapRef":{"type":"string","description":"ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings.\n"},"labelSelector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceLabelSelector","description":"Label selector used to find the resource defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e. Alternative to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Resource name of the kind, group and version, defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs which are passed directly as parameters to the template.\n"}},"type":"object","required":["configMapRef"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGit":{"properties":{"directories":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitDirectory"},"description":"List of directories in the source repository to use when template the Application..\n"},"files":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitFile"},"description":"List of files in the source repository to use when template the Application.\n"},"pathParamPrefix":{"type":"string","description":"Prefix for all path-related parameter names.\n"},"repoUrl":{"type":"string","description":"URL to the repository to use.\n"},"revision":{"type":"string","description":"Revision of the source repository to use.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["repoUrl"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitDirectory":{"properties":{"exclude":{"type":"boolean","description":"Flag indicating whether or not the directory should be excluded when templating.\n"},"path":{"type":"string","description":"Path in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitFile":{"properties":{"path":{"type":"string","description":"Path to the file in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorList":{"properties":{"elements":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"List of key/value pairs to pass as parameters into the template.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["elements"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrix:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrix":{"properties":{"generators":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGenerator"},"description":"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.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["generators"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGenerator":{"properties":{"clusterDecisionResources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResource"},"description":"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.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorCluster"},"description":"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.\n"},"gits":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGit"},"description":"[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).\n"},"lists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorList"},"description":"[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).\n"},"pullRequests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequest"},"description":"[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.\n"},"scmProviders":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProvider"},"description":"[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.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorSelector","description":"The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorCluster":{"properties":{"enabled":{"type":"boolean","description":"Boolean value defaulting to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to indicate that this block has been added thereby allowing all other attributes to be optional.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterSelector","description":"Label selector used to narrow the scope of targeted clusters.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator.\n"}},"type":"object","required":["enabled"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResource":{"properties":{"configMapRef":{"type":"string","description":"ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings.\n"},"labelSelector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector","description":"Label selector used to find the resource defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e. Alternative to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Resource name of the kind, group and version, defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs which are passed directly as parameters to the template.\n"}},"type":"object","required":["configMapRef"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGit":{"properties":{"directories":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitDirectory"},"description":"List of directories in the source repository to use when template the Application..\n"},"files":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitFile"},"description":"List of files in the source repository to use when template the Application.\n"},"pathParamPrefix":{"type":"string","description":"Prefix for all path-related parameter names.\n"},"repoUrl":{"type":"string","description":"URL to the repository to use.\n"},"revision":{"type":"string","description":"Revision of the source repository to use.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["repoUrl"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitDirectory":{"properties":{"exclude":{"type":"boolean","description":"Flag indicating whether or not the directory should be excluded when templating.\n"},"path":{"type":"string","description":"Path in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitFile":{"properties":{"path":{"type":"string","description":"Path to the file in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorList":{"properties":{"elements":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"List of key/value pairs to pass as parameters into the template.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["elements"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequest":{"properties":{"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServer","description":"Fetch pull requests from a repo hosted on a Bitbucket Server.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestFilter"},"description":"Filters allow selecting which pull requests to generate for.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitea","description":"Specify the repository from which to fetch the Gitea Pull requests.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGithub","description":"Specify the repository from which to fetch the GitHub Pull requests.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitlab","description":"Specify the project from which to fetch the GitLab merge requests.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 30min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServer":{"properties":{"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"},"repo":{"type":"string","description":"Repo name to scan.\n"}},"type":"object","required":["api","project","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitea":{"properties":{"api":{"type":"string","description":"The Gitea API URL to talk to.\n"},"insecure":{"type":"boolean","description":"Allow insecure tls, for self-signed certificates; default: false.\n"},"owner":{"type":"string","description":"Gitea org or user to scan.\n"},"repo":{"type":"string","description":"Gitea repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["api","owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGithub":{"properties":{"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret with permission to access pull requests.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"owner":{"type":"string","description":"GitHub org or user to scan.\n"},"repo":{"type":"string","description":"GitHub repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitlab":{"properties":{"api":{"type":"string","description":"The GitLab API URL to talk to. If blank, uses https://gitlab.com/.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"project":{"type":"string","description":"GitLab project to scan.\n"},"pullRequestState":{"type":"string","description":"additional MRs filter to get only those with a certain state. Default:  \"\" (all states).\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProvider":{"properties":{"azureDevops":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderAzureDevops","description":"Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization.\n"},"bitbucketCloud":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketCloud","description":"Uses the Bitbucket API V2 to scan a workspace in bitbucket.org.\n"},"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServer","description":"Use the Bitbucket Server API (1.0) to scan repos in a project.\n"},"cloneProtocol":{"type":"string","description":"Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderFilter"},"description":"Filters for which repos should be considered.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitea","description":"Gitea mode uses the Gitea API to scan organizations in your instance.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGithub","description":"Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlab","description":"Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderAzureDevops":{"properties":{"accessTokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef","description":"The Personal Access Token (PAT) to use when connecting.\n"},"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The URL to Azure DevOps. Defaults to https://dev.azure.com.\n"},"organization":{"type":"string","description":"Azure Devops organization. E.g. \"my-organization\".\n"},"teamProject":{"type":"string","description":"Azure Devops team project. E.g. \"my-team\".\n"}},"type":"object","required":["organization","teamProject"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderAzureDevopsAccessTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketCloud":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"appPasswordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef","description":"The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/.\n"},"owner":{"type":"string","description":"Bitbucket workspace to scan.\n"},"user":{"type":"string","description":"Bitbucket user to use when authenticating. Should have a \"member\" role to be able to read all repositories and branches.\n"}},"type":"object","required":["owner","user"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketCloudAppPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServer":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"}},"type":"object","required":["api","project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"},"labelMatch":{"type":"string","description":"A regex which must match at least one label.\n"},"pathsDoNotExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must not exist.\n"},"pathsExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must exist.\n"},"repositoryMatch":{"type":"string","description":"A regex for repo names.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitea":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Gitea URL to talk to. For example https://gitea.mydomain.com/.\n"},"insecure":{"type":"boolean","description":"Allow self-signed TLS / Certificates.\n"},"owner":{"type":"string","description":"Gitea organization or user to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGithub":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT.\n"},"organization":{"type":"string","description":"GitHub org to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["organization"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlab":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The Gitlab API URL to talk to.\n"},"caRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlabCaRef","description":"Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances.\n"},"group":{"type":"string","description":"Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path.\n"},"includeSubgroups":{"type":"boolean","description":"Recurse through subgroups (true) or scan only the base group (false). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["group"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlabCaRef":{"properties":{"configMapName":{"type":"string","description":"Name of Kubernetes `ConfigMap`.\n"},"key":{"type":"string","description":"Key containing information in Kubernetes `ConfigMap`.\n"}},"type":"object","required":["configMapName","key"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMerge:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMerge":{"properties":{"generators":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGenerator"},"description":"Child generator. Generators are responsible for generating parameters, which are then combined by the parent merge generator.\n"},"mergeKeys":{"type":"array","items":{"type":"string"},"description":"Keys to merge into resulting parameter set.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["generators","mergeKeys"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGenerator:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGenerator":{"properties":{"clusterDecisionResources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResource"},"description":"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.\n"},"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorCluster"},"description":"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.\n"},"gits":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGit"},"description":"[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).\n"},"lists":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorList"},"description":"[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).\n"},"pullRequests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequest"},"description":"[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.\n"},"scmProviders":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProvider"},"description":"[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.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorSelector","description":"The Selector allows to post-filter based on generated values using the kubernetes common labelSelector format.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorCluster:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorCluster":{"properties":{"enabled":{"type":"boolean","description":"Boolean value defaulting to \u003cspan pulumi-lang-nodejs=\"`true`\" pulumi-lang-dotnet=\"`True`\" pulumi-lang-go=\"`true`\" pulumi-lang-python=\"`true`\" pulumi-lang-yaml=\"`true`\" pulumi-lang-java=\"`true`\"\u003e`true`\u003c/span\u003e to indicate that this block has been added thereby allowing all other attributes to be optional.\n"},"selector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterSelector","description":"Label selector used to narrow the scope of targeted clusters.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs to pass to the template via the values field of the cluster generator.\n"}},"type":"object","required":["enabled"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResource":{"properties":{"configMapRef":{"type":"string","description":"ConfigMap with the duck type definitions needed to retrieve the data this includes apiVersion(group/version), kind, matchKey and validation settings.\n"},"labelSelector":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceLabelSelector","description":"Label selector used to find the resource defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e. Alternative to \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e.\n"},"name":{"type":"string","description":"Resource name of the kind, group and version, defined in the \u003cspan pulumi-lang-nodejs=\"`configMapRef`\" pulumi-lang-dotnet=\"`ConfigMapRef`\" pulumi-lang-go=\"`configMapRef`\" pulumi-lang-python=\"`config_map_ref`\" pulumi-lang-yaml=\"`configMapRef`\" pulumi-lang-java=\"`configMapRef`\"\u003e`config_map_ref`\u003c/span\u003e.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"},"values":{"type":"object","additionalProperties":{"type":"string"},"description":"Arbitrary string key-value pairs which are passed directly as parameters to the template.\n"}},"type":"object","required":["configMapRef"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceLabelSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceLabelSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceLabelSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGit:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGit":{"properties":{"directories":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitDirectory"},"description":"List of directories in the source repository to use when template the Application..\n"},"files":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitFile"},"description":"List of files in the source repository to use when template the Application.\n"},"pathParamPrefix":{"type":"string","description":"Prefix for all path-related parameter names.\n"},"repoUrl":{"type":"string","description":"URL to the repository to use.\n"},"revision":{"type":"string","description":"Revision of the source repository to use.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["repoUrl"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitDirectory":{"properties":{"exclude":{"type":"boolean","description":"Flag indicating whether or not the directory should be excluded when templating.\n"},"path":{"type":"string","description":"Path in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitFile:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitFile":{"properties":{"path":{"type":"string","description":"Path to the file in the repository.\n"}},"type":"object","required":["path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorList:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorList":{"properties":{"elements":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"List of key/value pairs to pass as parameters into the template.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object","required":["elements"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequest":{"properties":{"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServer","description":"Fetch pull requests from a repo hosted on a Bitbucket Server.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestFilter"},"description":"Filters allow selecting which pull requests to generate for.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitea","description":"Specify the repository from which to fetch the Gitea Pull requests.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGithub","description":"Specify the repository from which to fetch the GitHub Pull requests.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitlab","description":"Specify the project from which to fetch the GitLab merge requests.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 30min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServer":{"properties":{"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"},"repo":{"type":"string","description":"Repo name to scan.\n"}},"type":"object","required":["api","project","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitea":{"properties":{"api":{"type":"string","description":"The Gitea API URL to talk to.\n"},"insecure":{"type":"boolean","description":"Allow insecure tls, for self-signed certificates; default: false.\n"},"owner":{"type":"string","description":"Gitea org or user to scan.\n"},"repo":{"type":"string","description":"Gitea repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["api","owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGithub":{"properties":{"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret with permission to access pull requests.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"owner":{"type":"string","description":"GitHub org or user to scan.\n"},"repo":{"type":"string","description":"GitHub repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitlab":{"properties":{"api":{"type":"string","description":"The GitLab API URL to talk to. If blank, uses https://gitlab.com/.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"project":{"type":"string","description":"GitLab project to scan.\n"},"pullRequestState":{"type":"string","description":"additional MRs filter to get only those with a certain state. Default:  \"\" (all states).\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProvider":{"properties":{"azureDevops":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderAzureDevops","description":"Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization.\n"},"bitbucketCloud":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketCloud","description":"Uses the Bitbucket API V2 to scan a workspace in bitbucket.org.\n"},"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServer","description":"Use the Bitbucket Server API (1.0) to scan repos in a project.\n"},"cloneProtocol":{"type":"string","description":"Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderFilter"},"description":"Filters for which repos should be considered.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitea","description":"Gitea mode uses the Gitea API to scan organizations in your instance.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGithub","description":"Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlab","description":"Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderAzureDevops":{"properties":{"accessTokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef","description":"The Personal Access Token (PAT) to use when connecting.\n"},"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The URL to Azure DevOps. Defaults to https://dev.azure.com.\n"},"organization":{"type":"string","description":"Azure Devops organization. E.g. \"my-organization\".\n"},"teamProject":{"type":"string","description":"Azure Devops team project. E.g. \"my-team\".\n"}},"type":"object","required":["organization","teamProject"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketCloud":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"appPasswordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef","description":"The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/.\n"},"owner":{"type":"string","description":"Bitbucket workspace to scan.\n"},"user":{"type":"string","description":"Bitbucket user to use when authenticating. Should have a \"member\" role to be able to read all repositories and branches.\n"}},"type":"object","required":["owner","user"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServer":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"}},"type":"object","required":["api","project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"},"labelMatch":{"type":"string","description":"A regex which must match at least one label.\n"},"pathsDoNotExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must not exist.\n"},"pathsExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must exist.\n"},"repositoryMatch":{"type":"string","description":"A regex for repo names.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitea":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Gitea URL to talk to. For example https://gitea.mydomain.com/.\n"},"insecure":{"type":"boolean","description":"Allow self-signed TLS / Certificates.\n"},"owner":{"type":"string","description":"Gitea organization or user to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGithub":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT.\n"},"organization":{"type":"string","description":"GitHub org to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["organization"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlab":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The Gitlab API URL to talk to.\n"},"caRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlabCaRef","description":"Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances.\n"},"group":{"type":"string","description":"Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path.\n"},"includeSubgroups":{"type":"boolean","description":"Recurse through subgroups (true) or scan only the base group (false). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["group"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlabCaRef":{"properties":{"configMapName":{"type":"string","description":"Name of Kubernetes `ConfigMap`.\n"},"key":{"type":"string","description":"Key containing information in Kubernetes `ConfigMap`.\n"}},"type":"object","required":["configMapName","key"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequest":{"properties":{"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServer","description":"Fetch pull requests from a repo hosted on a Bitbucket Server.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestFilter"},"description":"Filters allow selecting which pull requests to generate for.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitea","description":"Specify the repository from which to fetch the Gitea Pull requests.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGithub","description":"Specify the repository from which to fetch the GitHub Pull requests.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitlab","description":"Specify the project from which to fetch the GitLab merge requests.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 30min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServer":{"properties":{"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"},"repo":{"type":"string","description":"Repo name to scan.\n"}},"type":"object","required":["api","project","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitea":{"properties":{"api":{"type":"string","description":"The Gitea API URL to talk to.\n"},"insecure":{"type":"boolean","description":"Allow insecure tls, for self-signed certificates; default: false.\n"},"owner":{"type":"string","description":"Gitea org or user to scan.\n"},"repo":{"type":"string","description":"Gitea repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["api","owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGithub":{"properties":{"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret with permission to access pull requests.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"owner":{"type":"string","description":"GitHub org or user to scan.\n"},"repo":{"type":"string","description":"GitHub repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitlab":{"properties":{"api":{"type":"string","description":"The GitLab API URL to talk to. If blank, uses https://gitlab.com/.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"project":{"type":"string","description":"GitLab project to scan.\n"},"pullRequestState":{"type":"string","description":"additional MRs filter to get only those with a certain state. Default:  \"\" (all states).\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProvider":{"properties":{"azureDevops":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderAzureDevops","description":"Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization.\n"},"bitbucketCloud":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketCloud","description":"Uses the Bitbucket API V2 to scan a workspace in bitbucket.org.\n"},"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServer","description":"Use the Bitbucket Server API (1.0) to scan repos in a project.\n"},"cloneProtocol":{"type":"string","description":"Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderFilter"},"description":"Filters for which repos should be considered.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitea","description":"Gitea mode uses the Gitea API to scan organizations in your instance.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGithub","description":"Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlab","description":"Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderAzureDevops":{"properties":{"accessTokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef","description":"The Personal Access Token (PAT) to use when connecting.\n"},"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The URL to Azure DevOps. Defaults to https://dev.azure.com.\n"},"organization":{"type":"string","description":"Azure Devops organization. E.g. \"my-organization\".\n"},"teamProject":{"type":"string","description":"Azure Devops team project. E.g. \"my-team\".\n"}},"type":"object","required":["organization","teamProject"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderAzureDevopsAccessTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketCloud":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"appPasswordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef","description":"The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/.\n"},"owner":{"type":"string","description":"Bitbucket workspace to scan.\n"},"user":{"type":"string","description":"Bitbucket user to use when authenticating. Should have a \"member\" role to be able to read all repositories and branches.\n"}},"type":"object","required":["owner","user"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketCloudAppPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServer":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"}},"type":"object","required":["api","project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"},"labelMatch":{"type":"string","description":"A regex which must match at least one label.\n"},"pathsDoNotExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must not exist.\n"},"pathsExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must exist.\n"},"repositoryMatch":{"type":"string","description":"A regex for repo names.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitea":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Gitea URL to talk to. For example https://gitea.mydomain.com/.\n"},"insecure":{"type":"boolean","description":"Allow self-signed TLS / Certificates.\n"},"owner":{"type":"string","description":"Gitea organization or user to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGithub":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT.\n"},"organization":{"type":"string","description":"GitHub org to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["organization"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlab":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The Gitlab API URL to talk to.\n"},"caRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlabCaRef","description":"Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances.\n"},"group":{"type":"string","description":"Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path.\n"},"includeSubgroups":{"type":"boolean","description":"Recurse through subgroups (true) or scan only the base group (false). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["group"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlabCaRef":{"properties":{"configMapName":{"type":"string","description":"Name of Kubernetes `ConfigMap`.\n"},"key":{"type":"string","description":"Key containing information in Kubernetes `ConfigMap`.\n"}},"type":"object","required":["configMapName","key"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplate:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequest:GitopsApplicationsetApplicationsetSpecGeneratorPullRequest":{"properties":{"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServer","description":"Fetch pull requests from a repo hosted on a Bitbucket Server.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestFilter"},"description":"Filters allow selecting which pull requests to generate for.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitea","description":"Specify the repository from which to fetch the Gitea Pull requests.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGithub","description":"Specify the repository from which to fetch the GitHub Pull requests.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitlab","description":"Specify the project from which to fetch the GitLab merge requests.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 30min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServer":{"properties":{"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"},"repo":{"type":"string","description":"Repo name to scan.\n"}},"type":"object","required":["api","project","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestFilter:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitea:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitea":{"properties":{"api":{"type":"string","description":"The Gitea API URL to talk to.\n"},"insecure":{"type":"boolean","description":"Allow insecure tls, for self-signed certificates; default: false.\n"},"owner":{"type":"string","description":"Gitea org or user to scan.\n"},"repo":{"type":"string","description":"Gitea repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["api","owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGithub:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGithub":{"properties":{"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret with permission to access pull requests.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"owner":{"type":"string","description":"GitHub org or user to scan.\n"},"repo":{"type":"string","description":"GitHub repo name to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner","repo"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitlab:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitlab":{"properties":{"api":{"type":"string","description":"The GitLab API URL to talk to. If blank, uses https://gitlab.com/.\n"},"labels":{"type":"array","items":{"type":"string"},"description":"Labels is used to filter the PRs that you want to target.\n"},"project":{"type":"string","description":"GitLab project to scan.\n"},"pullRequestState":{"type":"string","description":"additional MRs filter to get only those with a certain state. Default:  \"\" (all states).\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplate:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProvider:GitopsApplicationsetApplicationsetSpecGeneratorScmProvider":{"properties":{"azureDevops":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderAzureDevops","description":"Uses the Azure DevOps API to look up eligible repositories based on a team project within an Azure DevOps organization.\n"},"bitbucketCloud":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketCloud","description":"Uses the Bitbucket API V2 to scan a workspace in bitbucket.org.\n"},"bitbucketServer":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServer","description":"Use the Bitbucket Server API (1.0) to scan repos in a project.\n"},"cloneProtocol":{"type":"string","description":"Which protocol to use for the SCM URL. Default is provider-specific but ssh if possible. Not all providers necessarily support all protocols.\n"},"filters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderFilter"},"description":"Filters for which repos should be considered.\n"},"gitea":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitea","description":"Gitea mode uses the Gitea API to scan organizations in your instance.\n"},"github":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGithub","description":"Uses the GitHub API to scan an organization in either github.com or GitHub Enterprise.\n"},"gitlab":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlab","description":"Uses the GitLab API to scan and organization in either gitlab.com or self-hosted GitLab.\n"},"requeueAfterSeconds":{"type":"string","description":"How often to check for changes (in seconds). Default: 3min.\n"},"template":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplate","description":"Generator template. Used to override the values of the spec-level template.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderAzureDevops:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderAzureDevops":{"properties":{"accessTokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderAzureDevopsAccessTokenRef","description":"The Personal Access Token (PAT) to use when connecting.\n"},"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The URL to Azure DevOps. Defaults to https://dev.azure.com.\n"},"organization":{"type":"string","description":"Azure Devops organization. E.g. \"my-organization\".\n"},"teamProject":{"type":"string","description":"Azure Devops team project. E.g. \"my-team\".\n"}},"type":"object","required":["organization","teamProject"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderAzureDevopsAccessTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderAzureDevopsAccessTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketCloud:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketCloud":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"appPasswordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketCloudAppPasswordRef","description":"The app password to use for the user. See: https://support.atlassian.com/bitbucket-cloud/docs/app-passwords/.\n"},"owner":{"type":"string","description":"Bitbucket workspace to scan.\n"},"user":{"type":"string","description":"Bitbucket user to use when authenticating. Should have a \"member\" role to be able to read all repositories and branches.\n"}},"type":"object","required":["owner","user"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketCloudAppPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketCloudAppPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServer:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServer":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Bitbucket REST API URL to talk to e.g. https://bitbucket.org/rest.\n"},"basicAuth":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServerBasicAuth","description":"Credentials for Basic auth.\n"},"project":{"type":"string","description":"Project to scan.\n"}},"type":"object","required":["api","project"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServerBasicAuth:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServerBasicAuth":{"properties":{"passwordRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServerBasicAuthPasswordRef","description":"Password (or personal access token) reference.\n"},"username":{"type":"string","description":"Username for Basic auth.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServerBasicAuthPasswordRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderBitbucketServerBasicAuthPasswordRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderFilter:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderFilter":{"properties":{"branchMatch":{"type":"string","description":"A regex which must match the branch name.\n"},"labelMatch":{"type":"string","description":"A regex which must match at least one label.\n"},"pathsDoNotExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must not exist.\n"},"pathsExists":{"type":"array","items":{"type":"string"},"description":"An array of paths, all of which must exist.\n"},"repositoryMatch":{"type":"string","description":"A regex for repo names.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitea:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitea":{"properties":{"allBranches":{"type":"boolean","description":"Scan all branches instead of just the default branch.\n"},"api":{"type":"string","description":"The Gitea URL to talk to. For example https://gitea.mydomain.com/.\n"},"insecure":{"type":"boolean","description":"Allow self-signed TLS / Certificates.\n"},"owner":{"type":"string","description":"Gitea organization or user to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGiteaTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["owner"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGiteaTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGiteaTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGithub:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGithub":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The GitHub API URL to talk to. Default https://api.github.com/.\n"},"appSecretName":{"type":"string","description":"Reference to a GitHub App repo-creds secret. Uses a GitHub App to access the API instead of a PAT.\n"},"organization":{"type":"string","description":"GitHub org to scan.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGithubTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["organization"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGithubTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGithubTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlab:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlab":{"properties":{"allBranches":{"type":"boolean","description":"If true, scan every branch of every repository. If false, scan only the default branch.\n"},"api":{"type":"string","description":"The Gitlab API URL to talk to.\n"},"caRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlabCaRef","description":"Reference to a ConfigMap containing a CA certificate for self-signed GitLab instances.\n"},"group":{"type":"string","description":"Gitlab group to scan. You can use either the project id (recommended) or the full namespaced path.\n"},"includeSubgroups":{"type":"boolean","description":"Recurse through subgroups (true) or scan only the base group (false). Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"tokenRef":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlabTokenRef","description":"Authentication token reference.\n"}},"type":"object","required":["group"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlabCaRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlabCaRef":{"properties":{"configMapName":{"type":"string","description":"Name of Kubernetes `ConfigMap`.\n"},"key":{"type":"string","description":"Key containing information in Kubernetes `ConfigMap`.\n"}},"type":"object","required":["configMapName","key"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlabTokenRef:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderGitlabTokenRef":{"properties":{"key":{"type":"string","description":"Key containing information in Kubernetes `Secret`.\n"},"secretName":{"type":"string","description":"Name of Kubernetes `Secret`.\n"}},"type":"object","required":["key","secretName"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplate:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpec","description":"The application specification.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateMetadata:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpec:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["revisionHistoryLimit"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorSelector:GitopsApplicationsetApplicationsetSpecGeneratorSelector":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorSelectorMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"matchLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"A map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of \u003cspan pulumi-lang-nodejs=\"`matchExpressions`\" pulumi-lang-dotnet=\"`MatchExpressions`\" pulumi-lang-go=\"`matchExpressions`\" pulumi-lang-python=\"`match_expressions`\" pulumi-lang-yaml=\"`matchExpressions`\" pulumi-lang-java=\"`matchExpressions`\"\u003e`match_expressions`\u003c/span\u003e, whose key field is \"key\", the operator is \"In\", and the values array contains only \"value\". The requirements are ANDed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorSelectorMatchExpression:GitopsApplicationsetApplicationsetSpecGeneratorSelectorMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecIgnoreApplicationDifference:GitopsApplicationsetApplicationsetSpecIgnoreApplicationDifference":{"properties":{"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"jq path to ignore differences\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"Json pointers to ignore differences\n"},"name":{"type":"string","description":"name\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecStrategy:GitopsApplicationsetApplicationsetSpecStrategy":{"properties":{"rollingSyncs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecStrategyRollingSync:GitopsApplicationsetApplicationsetSpecStrategyRollingSync"},"description":"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.\n"},"type":{"type":"string","description":"Type of progressive sync.\n"}},"type":"object","required":["type"]},"harness:platform/GitopsApplicationsetApplicationsetSpecStrategyRollingSync:GitopsApplicationsetApplicationsetSpecStrategyRollingSync":{"properties":{"steps":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecStrategyRollingSyncStep:GitopsApplicationsetApplicationsetSpecStrategyRollingSyncStep"},"description":"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.\n"}},"type":"object","required":["steps"]},"harness:platform/GitopsApplicationsetApplicationsetSpecStrategyRollingSyncStep:GitopsApplicationsetApplicationsetSpecStrategyRollingSyncStep":{"properties":{"matchExpressions":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecStrategyRollingSyncStepMatchExpression:GitopsApplicationsetApplicationsetSpecStrategyRollingSyncStepMatchExpression"},"description":"A list of label selector requirements. The requirements are ANDed.\n"},"maxUpdate":{"type":"string","description":"Maximum number of simultaneous Application updates in a group. Supports both integer and percentage string values (rounds down, but floored at 1 Application for \u003e0%). Default is 100%, unbounded.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecStrategyRollingSyncStepMatchExpression:GitopsApplicationsetApplicationsetSpecStrategyRollingSyncStepMatchExpression":{"properties":{"key":{"type":"string","description":"The label key that the selector applies to.\n"},"operator":{"type":"string","description":"A key's relationship to a set of values. Valid operators ard `In`, `NotIn`, `Exists` and `DoesNotExist`.\n"},"values":{"type":"array","items":{"type":"string"},"description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecSyncPolicy":{"properties":{"applicationsSync":{"type":"string","description":"Represents the policy applied on the generated applications. Possible values are create-only, create-update, create-delete, and sync.\n"},"preserveResourcesOnDeletion":{"type":"boolean","description":"Label selector used to narrow the scope of targeted clusters.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplate:GitopsApplicationsetApplicationsetSpecTemplate":{"properties":{"metadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateMetadata:GitopsApplicationsetApplicationsetSpecTemplateMetadata","description":"Kubernetes object metadata for templated Application.\n"},"spec":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpec:GitopsApplicationsetApplicationsetSpecTemplateSpec","description":"The application specification.\n"}},"type":"object","required":["metadata","spec"]},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateMetadata:GitopsApplicationsetApplicationsetSpecTemplateMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"An unstructured key value map that may be used to store arbitrary metadata for the resulting Application.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"List of finalizers to apply to the resulting Application.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Map of string keys and values that can be used to organize and categorize (scope and select) the resulting Application.\n"},"name":{"type":"string","description":"Name of the resulting Application\n"},"namespace":{"type":"string","description":"Namespace of the resulting Application\n"}},"type":"object","required":["name"]},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpec:GitopsApplicationsetApplicationsetSpecTemplateSpec":{"properties":{"destination":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecTemplateSpecDestination","description":"Reference to the Kubernetes server and namespace in which the application will be deployed.\n"},"ignoreDifferences":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecTemplateSpecIgnoreDifference"},"description":"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.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecTemplateSpecInfo"},"description":"List of information (URLs, email addresses, and plain text) that relates to the application.\n"},"project":{"type":"string","description":"The project the application belongs to.\n"},"revisionHistoryLimit":{"type":"string","description":"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.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSource:GitopsApplicationsetApplicationsetSpecTemplateSpecSource"},"description":"Location of the application's manifests or chart.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSource:GitopsApplicationsetApplicationsetSpecTemplateSpecSource"},"description":"Location of the application's manifests or chart. Use when specifying multiple fields\n"},"syncPolicy":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicy","description":"Controls when and how a sync will be performed.\n"}},"type":"object","required":["destination","source"],"language":{"nodejs":{"requiredOutputs":["destination","revisionHistoryLimit","source"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecDestination:GitopsApplicationsetApplicationsetSpecTemplateSpecDestination":{"properties":{"name":{"type":"string","description":"Name of the target cluster. Can be used instead of \u003cspan pulumi-lang-nodejs=\"`server`\" pulumi-lang-dotnet=\"`Server`\" pulumi-lang-go=\"`server`\" pulumi-lang-python=\"`server`\" pulumi-lang-yaml=\"`server`\" pulumi-lang-java=\"`server`\"\u003e`server`\u003c/span\u003e.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster and must be set to the Kubernetes control plane API.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name"]}}},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecIgnoreDifference:GitopsApplicationsetApplicationsetSpecTemplateSpecIgnoreDifference":{"properties":{"group":{"type":"string","description":"The Kubernetes resource Group to match for.\n"},"jqPathExpressions":{"type":"array","items":{"type":"string"},"description":"List of JQ path expression strings targeting the field(s) to ignore.\n"},"jsonPointers":{"type":"array","items":{"type":"string"},"description":"List of JSONPaths strings targeting the field(s) to ignore.\n"},"kind":{"type":"string","description":"The Kubernetes resource Kind to match for.\n"},"name":{"type":"string","description":"The Kubernetes resource Name to match for.\n"},"namespace":{"type":"string","description":"The Kubernetes resource Namespace to match for.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecInfo:GitopsApplicationsetApplicationsetSpecTemplateSpecInfo":{"properties":{"name":{"type":"string","description":"Name of the information.\n"},"value":{"type":"string","description":"Value of the information.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSource:GitopsApplicationsetApplicationsetSpecTemplateSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name. Must be specified for applications sourced from a Helm repo.\n"},"directory":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectory","description":"Path/directory specific options.\n"},"helm":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelm","description":"Helm specific options.\n"},"kustomize":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceKustomize","description":"Kustomize specific options.\n"},"path":{"type":"string","description":"Directory path within the repository. Only valid for applications sourced from Git.\n"},"plugin":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecTemplateSpecSourcePlugin","description":"Config management plugin specific options.\n"},"ref":{"type":"string","description":"Reference to another \u003cspan pulumi-lang-nodejs=\"`source`\" pulumi-lang-dotnet=\"`Source`\" pulumi-lang-go=\"`source`\" pulumi-lang-python=\"`source`\" pulumi-lang-yaml=\"`source`\" pulumi-lang-java=\"`source`\"\u003e`source`\u003c/span\u003e 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 \u003cspan pulumi-lang-nodejs=\"`ref`\" pulumi-lang-dotnet=\"`Ref`\" pulumi-lang-go=\"`ref`\" pulumi-lang-python=\"`ref`\" pulumi-lang-yaml=\"`ref`\" pulumi-lang-java=\"`ref`\"\u003e`ref`\u003c/span\u003e with \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e and/or \u003cspan pulumi-lang-nodejs=\"`chart`\" pulumi-lang-dotnet=\"`Chart`\" pulumi-lang-go=\"`chart`\" pulumi-lang-python=\"`chart`\" pulumi-lang-yaml=\"`chart`\" pulumi-lang-java=\"`chart`\"\u003e`chart`\u003c/span\u003e.\n"},"repoUrl":{"type":"string","description":"URL to the repository (Git or Helm) that contains the application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object","required":["repoUrl"]},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectory:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation. This takes precedence over the \u003cspan pulumi-lang-nodejs=\"`include`\" pulumi-lang-dotnet=\"`Include`\" pulumi-lang-go=\"`include`\" pulumi-lang-python=\"`include`\" pulumi-lang-yaml=\"`include`\" pulumi-lang-java=\"`include`\"\u003e`include`\u003c/span\u003e field. To match multiple patterns, wrap the patterns in {} and separate them with commas. For example: '{config.yaml,env-use2/*}'\n"},"include":{"type":"string","description":"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}'\n"},"jsonnet":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnet","description":"Jsonnet specific options.\n"},"recurse":{"type":"boolean","description":"Whether to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnet:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnetExtVar"},"description":"List of Jsonnet External Variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnetTla"},"description":"List of Jsonnet Top-level Arguments\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnetExtVar:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnetTla:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Determines whether the variable should be evaluated as jsonnet code or treated as string.\n"},"name":{"type":"string","description":"Name of Jsonnet variable.\n"},"value":{"type":"string","description":"Value of Jsonnet variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelm:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelmFileParameter"},"description":"File parameters for the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when \u003cspan pulumi-lang-nodejs=\"`valueFiles`\" pulumi-lang-dotnet=\"`ValueFiles`\" pulumi-lang-go=\"`valueFiles`\" pulumi-lang-python=\"`value_files`\" pulumi-lang-yaml=\"`valueFiles`\" pulumi-lang-java=\"`valueFiles`\"\u003e`value_files`\u003c/span\u003e do not exist locally by not appending them to 'helm template --values'.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelmParameter"},"description":"Helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"If true then adds '--pass-credentials' to Helm commands to pass credentials to all domains.\n"},"releaseName":{"type":"string","description":"Helm release name. If omitted it will use the application name.\n"},"skipCrds":{"type":"boolean","description":"Whether to skip custom resource definition installation step (Helm's [--skip-crds](https://helm.sh/docs/chart_best_practices/custom_resource_definitions/)).\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of Helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"valuesObject":{"type":"object","additionalProperties":{"type":"string"},"description":"Helm values to be passed to 'helm template', typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\").\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelmFileParameter:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the Helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values for the Helm parameter.\n"}},"type":"object","required":["name","path"]},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelmParameter:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Determines whether to tell Helm to interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the Helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourceKustomize:GitopsApplicationsetApplicationsetSpecTemplateSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of Kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix appended to resources for Kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for Kustomize apps.\n"},"version":{"type":"string","description":"Version of Kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourcePlugin:GitopsApplicationsetApplicationsetSpecTemplateSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecTemplateSpecSourcePluginEnv"},"description":"Environment variables passed to the plugin.\n"},"name":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSourcePluginEnv:GitopsApplicationsetApplicationsetSpecTemplateSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the environment variable.\n"},"value":{"type":"string","description":"Value of the environment variable.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicy":{"properties":{"automated":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyAutomated","description":"Whether to automatically keep an application synced to the target revision.\n"},"managedNamespaceMetadata":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyManagedNamespaceMetadata","description":"Controls metadata in the given namespace (if `CreateNamespace=true`).\n"},"retry":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyRetry","description":"Controls failed sync retry behavior.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"List of sync options. More info: https://argo-cd.readthedocs.io/en/stable/user-guide/sync-options/.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyAutomated:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Allows apps have zero live resources.\n"},"prune":{"type":"boolean","description":"Whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync.\n"},"selfHeal":{"type":"boolean","description":"Whether to revert resources back to their desired state upon modification in the cluster.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyManagedNamespaceMetadata:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyManagedNamespaceMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the namespace.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the namespace.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyRetry:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyRetry":{"properties":{"backoff":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyRetryBackoff","description":"Controls how to backoff on subsequent retries of failed syncs.\n"},"limit":{"type":"string","description":"Maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object"},"harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyRetryBackoff:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Duration is the amount to back off. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed for the backoff strategy. Default unit is seconds, but could also be a duration (e.g. \u003cspan pulumi-lang-nodejs=\"`2m`\" pulumi-lang-dotnet=\"`2m`\" pulumi-lang-go=\"`2m`\" pulumi-lang-python=\"`2m`\" pulumi-lang-yaml=\"`2m`\" pulumi-lang-java=\"`2m`\"\u003e`2m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1h`\" pulumi-lang-dotnet=\"`1h`\" pulumi-lang-go=\"`1h`\" pulumi-lang-python=\"`1h`\" pulumi-lang-yaml=\"`1h`\" pulumi-lang-java=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"}},"type":"object"},"harness:platform/HarRegistryConfig:HarRegistryConfig":{"properties":{"authType":{"type":"string","description":"Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey)\n"},"auths":{"type":"array","items":{"$ref":"#/types/harness:platform/HarRegistryConfigAuth:HarRegistryConfigAuth"},"description":"Authentication configuration for UPSTREAM registry type\n"},"source":{"type":"string","description":"Upstream source\n"},"type":{"type":"string","description":"Type of registry (VIRTUAL or UPSTREAM)\n"},"upstreamProxies":{"type":"array","items":{"type":"string"},"description":"List of upstream proxies for VIRTUAL registry type\n"},"url":{"type":"string","description":"URL of the upstream (required if type=UPSTREAM \u0026 package_type=HELM)\n"}},"type":"object","required":["type"]},"harness:platform/HarRegistryConfigAuth:HarRegistryConfigAuth":{"properties":{"accessKey":{"type":"string","secret":true},"accessKeyIdentifier":{"type":"string"},"accessKeySecretPath":{"type":"string"},"authType":{"type":"string","description":"Type of authentication (UserPassword, Anonymous)\n"},"secretIdentifier":{"type":"string","description":"Secret identifier for UserPassword auth type\n"},"secretKeyIdentifier":{"type":"string"},"secretKeySecretPath":{"type":"string"},"secretSpacePath":{"type":"string","description":"Secret space path for UserPassword auth type\n"},"userName":{"type":"string","description":"Username for UserPassword auth type\n"}},"type":"object","required":["authType"]},"harness:platform/HelmConnectorCredentials:HelmConnectorCredentials":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/IdpCatalogEntityGitDetails:IdpCatalogEntityGitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branchName":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"isHarnessCodeRepo":{"type":"boolean","description":"If the repo is a Harness Code repo\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating Pipeline.\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["baseBranch","branchName","commitMessage","connectorRef","filePath","isHarnessCodeRepo","lastCommitId","lastObjectId","repoName","storeType"]}}},"harness:platform/InfraModuleTestingTestingMetadata:InfraModuleTestingTestingMetadata":{"properties":{"account":{"type":"string","description":"Account is the internal customer account ID\n"},"org":{"type":"string","description":"Organization identifier\n"},"pipelines":{"type":"array","items":{"type":"string"},"description":"Pipelines where the testing is enabled\n"},"project":{"type":"string","description":"Project identifier\n"},"providerConnector":{"type":"string","description":"Provider connector for testing purposes\n"},"provisionerType":{"type":"string","description":"Provisioner type for testing purposes\n"},"provisionerVersion":{"type":"string","description":"Provisioner version for testing purposes\n"},"releasePipeline":{"type":"string","description":"Release pipeline\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["account","org","pipelines","project","providerConnector","provisionerType","provisionerVersion","releasePipeline"]}}},"harness:platform/InfraProviderVersion:InfraProviderVersion":{"properties":{"files":{"type":"array","items":{"type":"string"},"description":"List of uploaded files for this version.\n"},"synced":{"type":"boolean","description":"Whether the version is synced.\n"},"version":{"type":"string","description":"Version number.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["files","synced","version"]}}},"harness:platform/InfraVariableSetConnector:InfraVariableSetConnector":{"properties":{"connectorRef":{"type":"string","description":"Connector Ref is the reference to the connector\n"},"type":{"type":"string","description":"Type is the connector type of the connector. Supported types: aws, azure, gcp\n"}},"type":"object","required":["connectorRef","type"]},"harness:platform/InfraVariableSetEnvironmentVariable:InfraVariableSetEnvironmentVariable":{"properties":{"key":{"type":"string","description":"Key is the identifier for the variable. Must be unique within the Variable Set.\n"},"value":{"type":"string","description":"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.\n"},"valueType":{"type":"string","description":"Value type indicates the value type of the variable. Currently we support string and secret.\n"}},"type":"object","required":["key","value","valueType"]},"harness:platform/InfraVariableSetTerraformVariable:InfraVariableSetTerraformVariable":{"properties":{"key":{"type":"string","description":"Key is the identifier for the variable. Must be unique within the Variable Set.\n"},"value":{"type":"string","description":"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.\n"},"valueType":{"type":"string","description":"Value type indicates the value type of the variable. Currently we support string and secret.\n"}},"type":"object","required":["key","value","valueType"]},"harness:platform/InfraVariableSetTerraformVariableFile:InfraVariableSetTerraformVariableFile":{"properties":{"repository":{"type":"string","description":"Repository is the name of the repository to fetch the code from.\n"},"repositoryBranch":{"type":"string","description":"Repository branch is the name of the branch to fetch the variables from. This cannot be set if repository commit or sha is set\n"},"repositoryCommit":{"type":"string","description":"Repository commit is tag to fetch the variables from. This cannot be set if repository branch or sha is set.\n"},"repositoryConnector":{"type":"string","description":"Repository connector is the reference to the connector used to fetch the variables.\n"},"repositoryPath":{"type":"string","description":"Repository path is the path in which the variables reside.\n"},"repositorySha":{"type":"string","description":"Repository commit is SHA to fetch the variables from. This cannot be set if repository branch or commit is set.\n"}},"type":"object","required":["repository","repositoryConnector"]},"harness:platform/InfrastructureGitDetails:InfrastructureGitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branch":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"importFromGit":{"type":"boolean","description":"import infrastructure from git\n"},"isForceImport":{"type":"boolean","description":"force import infrastructure from remote even if same file path already exist\n"},"isHarnesscodeRepo":{"type":"boolean","description":"If the gitProvider is HarnessCode\n"},"isNewBranch":{"type":"boolean","description":"If a new branch creation is requested.\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating infrastructure.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating infrastructure.\n"},"loadFromCache":{"type":"string","description":"If the Entity is to be fetched from cache\n"},"loadFromFallbackBranch":{"type":"boolean","description":"If the Entity is to be fetched from fallbackBranch\n"},"parentEntityConnectorRef":{"type":"string","description":"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}.\n"},"parentEntityRepoName":{"type":"string","description":"Name of the repository where parent entity lies.\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["baseBranch","branch","commitMessage","connectorRef","filePath","importFromGit","isForceImport","isHarnesscodeRepo","isNewBranch","lastCommitId","lastObjectId","loadFromCache","loadFromFallbackBranch","parentEntityConnectorRef","parentEntityRepoName","repoName","storeType"]}}},"harness:platform/InputSetGitDetails:InputSetGitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branchName":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"isHarnessCodeRepo":{"type":"boolean","description":"If the repo is harness code.\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating Pipeline.\n"},"parentEntityConnectorRef":{"type":"string","description":"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}.\n"},"parentEntityRepoName":{"type":"string","description":"Repository name for Parent Entity (Pipeline).\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["baseBranch","branchName","commitMessage","connectorRef","filePath","isHarnessCodeRepo","lastCommitId","lastObjectId","parentEntityConnectorRef","parentEntityRepoName","repoName","storeType"]}}},"harness:platform/InputSetGitImportInfo:InputSetGitImportInfo":{"properties":{"branchName":{"type":"string","description":"Name of the branch.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"isForceImport":{"type":"boolean"},"repoName":{"type":"string","description":"Name of the repository.\n"}},"type":"object"},"harness:platform/InputSetInputSetImportRequest:InputSetInputSetImportRequest":{"properties":{"inputSetDescription":{"type":"string","description":"Description of the input set.\n"},"inputSetName":{"type":"string","description":"Name of the input set.\n"}},"type":"object"},"harness:platform/JenkinsConnectorAuth:JenkinsConnectorAuth":{"properties":{"jenkinsBearerToken":{"$ref":"#/types/harness:platform/JenkinsConnectorAuthJenkinsBearerToken:JenkinsConnectorAuthJenkinsBearerToken","description":"Authenticate to App Dynamics using bearer token.\n"},"jenkinsUserNamePassword":{"$ref":"#/types/harness:platform/JenkinsConnectorAuthJenkinsUserNamePassword:JenkinsConnectorAuthJenkinsUserNamePassword","description":"Authenticate to App Dynamics using user name and password.\n"},"type":{"type":"string","description":"Can be one of UsernamePassword, Anonymous, Bearer Token(HTTP Header)\n"}},"type":"object","required":["type"]},"harness:platform/JenkinsConnectorAuthJenkinsBearerToken:JenkinsConnectorAuthJenkinsBearerToken":{"properties":{"tokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["tokenRef"]},"harness:platform/JenkinsConnectorAuthJenkinsUserNamePassword:JenkinsConnectorAuthJenkinsUserNamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"Username reference to use for authentication.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/JiraConnectorAuth:JiraConnectorAuth":{"properties":{"authType":{"type":"string","description":"Authentication types for Jira connector\n"},"personalAccessToken":{"$ref":"#/types/harness:platform/JiraConnectorAuthPersonalAccessToken:JiraConnectorAuthPersonalAccessToken","description":"Authenticate using personal access token.\n"},"usernamePassword":{"$ref":"#/types/harness:platform/JiraConnectorAuthUsernamePassword:JiraConnectorAuthUsernamePassword","description":"Authenticate using username password.\n"}},"type":"object","required":["authType"]},"harness:platform/JiraConnectorAuthPersonalAccessToken:JiraConnectorAuthPersonalAccessToken":{"properties":{"patRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["patRef"]},"harness:platform/JiraConnectorAuthUsernamePassword:JiraConnectorAuthUsernamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/KubernetesConnectorClientKeyCert:KubernetesConnectorClientKeyCert":{"properties":{"caCertRef":{"type":"string","description":"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}.\n"},"clientCertRef":{"type":"string","description":"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}.\n"},"clientKeyAlgorithm":{"type":"string","description":"The algorithm used to generate the client key for the connector. Valid values are RSA, EC\n"},"clientKeyPassphraseRef":{"type":"string","description":"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}.\n"},"clientKeyRef":{"type":"string","description":"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}.\n"},"masterUrl":{"type":"string","description":"The URL of the Kubernetes cluster.\n"}},"type":"object","required":["clientCertRef","clientKeyAlgorithm","clientKeyRef","masterUrl"]},"harness:platform/KubernetesConnectorInheritFromDelegate:KubernetesConnectorInheritFromDelegate":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Selectors to use for the delegate.\n"}},"type":"object","required":["delegateSelectors"]},"harness:platform/KubernetesConnectorOpenidConnect:KubernetesConnectorOpenidConnect":{"properties":{"clientIdRef":{"type":"string","description":"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}.\n"},"issuerUrl":{"type":"string","description":"The URL of the OpenID Connect issuer.\n"},"masterUrl":{"type":"string","description":"The URL of the Kubernetes cluster.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Scopes to request for the connector.\n"},"secretRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username for the connector.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["clientIdRef","issuerUrl","masterUrl","passwordRef"]},"harness:platform/KubernetesConnectorServiceAccount:KubernetesConnectorServiceAccount":{"properties":{"caCertRef":{"type":"string","description":"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}.\n"},"masterUrl":{"type":"string","description":"The URL of the Kubernetes cluster.\n"},"serviceAccountTokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["masterUrl","serviceAccountTokenRef"]},"harness:platform/KubernetesConnectorUsernamePassword:KubernetesConnectorUsernamePassword":{"properties":{"masterUrl":{"type":"string","description":"The URL of the Kubernetes cluster.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username for the connector.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["masterUrl","passwordRef"]},"harness:platform/ManualFreezeCurrentOrUpcomingWindow:ManualFreezeCurrentOrUpcomingWindow":{"properties":{"endTime":{"type":"integer","description":"End time of the freeze window\n"},"startTime":{"type":"integer","description":"Start time of the freeze window\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["endTime","startTime"]}}},"harness:platform/ManualFreezeFreezeWindow:ManualFreezeFreezeWindow":{"properties":{"duration":{"type":"string","description":"Duration of the freeze window\n"},"endTime":{"type":"string","description":"End Time of the freeze window\n"},"recurrences":{"type":"array","items":{"$ref":"#/types/harness:platform/ManualFreezeFreezeWindowRecurrence:ManualFreezeFreezeWindowRecurrence"},"description":"Recurrence of the freeze window\n"},"startTime":{"type":"string","description":"Start Time of the freeze window\n"},"timeZone":{"type":"string","description":"Time zone of the freeze window\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["duration","endTime","recurrences","startTime","timeZone"]}}},"harness:platform/ManualFreezeFreezeWindowRecurrence:ManualFreezeFreezeWindowRecurrence":{"properties":{"recurrenceSpecs":{"type":"array","items":{"$ref":"#/types/harness:platform/ManualFreezeFreezeWindowRecurrenceRecurrenceSpec:ManualFreezeFreezeWindowRecurrenceRecurrenceSpec"},"description":"Used to filter resources on their attributes\n"},"type":{"type":"string","description":"Type of the recurrence\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["recurrenceSpecs","type"]}}},"harness:platform/ManualFreezeFreezeWindowRecurrenceRecurrenceSpec:ManualFreezeFreezeWindowRecurrenceRecurrenceSpec":{"properties":{"until":{"type":"string","description":"Time till which freeze window recurrs\n"},"value":{"type":"integer","description":"Every n months recurrence\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["until","value"]}}},"harness:platform/MonitoredServiceRequest:MonitoredServiceRequest":{"properties":{"changeSources":{"type":"array","items":{"$ref":"#/types/harness:platform/MonitoredServiceRequestChangeSource:MonitoredServiceRequestChangeSource"},"description":"Set of change sources for the monitored service.\n"},"dependencies":{"type":"array","items":{"$ref":"#/types/harness:platform/MonitoredServiceRequestDependency:MonitoredServiceRequestDependency"},"description":"Dependencies of the monitored service.\n"},"description":{"type":"string","description":"Description for the monitored service.\n"},"enabled":{"type":"boolean","description":"Enable or disable the monitored service.\n","deprecationMessage":"enabled field is deprecated"},"environmentRef":{"type":"string","description":"Environment in which the service is deployed.\n"},"environmentRefLists":{"type":"array","items":{"type":"string"},"description":"Environment reference list for the monitored service.\n"},"healthSources":{"type":"array","items":{"$ref":"#/types/harness:platform/MonitoredServiceRequestHealthSource:MonitoredServiceRequestHealthSource"},"description":"Set of health sources for the monitored service.\n"},"name":{"type":"string","description":"Name for the monitored service.\n"},"notificationRuleRefs":{"type":"array","items":{"$ref":"#/types/harness:platform/MonitoredServiceRequestNotificationRuleRef:MonitoredServiceRequestNotificationRuleRef"},"description":"Notification rule references for the monitored service.\n"},"serviceRef":{"type":"string","description":"Service reference for the monitored service.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the monitored service. comma-separated key value string pairs.\n"},"templateRef":{"type":"string","description":"Template reference for the monitored service.\n"},"type":{"type":"string","description":"Type of the monitored service.\n"},"versionLabel":{"type":"string","description":"Template version label for the monitored service.\n"}},"type":"object","required":["environmentRef","name","serviceRef","type"]},"harness:platform/MonitoredServiceRequestChangeSource:MonitoredServiceRequestChangeSource":{"properties":{"category":{"type":"string","description":"Category of the change source.\n"},"enabled":{"type":"boolean","description":"Enable or disable the change source.\n"},"identifier":{"type":"string","description":"Identifier of the change source.\n"},"name":{"type":"string","description":"Name of the change source.\n"},"spec":{"type":"string","description":"Specification of the change source. Depends on the type of the change source.\n"},"type":{"type":"string","description":"Type of the change source.\n"}},"type":"object","required":["category","identifier","name","type"]},"harness:platform/MonitoredServiceRequestDependency:MonitoredServiceRequestDependency":{"properties":{"dependencyMetadata":{"type":"string","description":"Dependency metadata for the monitored service.\n"},"monitoredServiceIdentifier":{"type":"string","description":"Monitored service identifier of the dependency.\n"},"type":{"type":"string","description":"Type of the service dependency.\n"}},"type":"object","required":["monitoredServiceIdentifier","type"]},"harness:platform/MonitoredServiceRequestHealthSource:MonitoredServiceRequestHealthSource":{"properties":{"identifier":{"type":"string","description":"Identifier of the health source.\n"},"name":{"type":"string","description":"Name of the health source.\n"},"spec":{"type":"string","description":"Specification of the health source. Depends on the type of the health source.\n"},"type":{"type":"string","description":"Type of the health source.\n"},"version":{"type":"string","description":"Version of the health source.\n"}},"type":"object","required":["identifier","name","spec","type"]},"harness:platform/MonitoredServiceRequestNotificationRuleRef:MonitoredServiceRequestNotificationRuleRef":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable notification rule reference for the monitored service.\n"},"notificationRuleRef":{"type":"string","description":"Notification rule reference for the monitored service.\n"}},"type":"object","required":["enabled","notificationRuleRef"]},"harness:platform/NexusConnectorCredentials:NexusConnectorCredentials":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/NotificationRuleRequest:NotificationRuleRequest":{"properties":{"conditions":{"type":"array","items":{"$ref":"#/types/harness:platform/NotificationRuleRequestCondition:NotificationRuleRequestCondition"},"description":"Notification Rule conditions specification.\n"},"name":{"type":"string","description":"Name for the Notification Rule.\n"},"notificationMethod":{"$ref":"#/types/harness:platform/NotificationRuleRequestNotificationMethod:NotificationRuleRequestNotificationMethod","description":"Notification Method specifications.\n"},"type":{"type":"string","description":"Type of the Notification Rule.\n"}},"type":"object","required":["conditions","name","notificationMethod","type"]},"harness:platform/NotificationRuleRequestCondition:NotificationRuleRequestCondition":{"properties":{"spec":{"type":"string","description":"Specification of the notification condition. Depends on the type of the notification condition.\n"},"type":{"type":"string","description":"Type of the condition.\n"}},"type":"object","required":["type"]},"harness:platform/NotificationRuleRequestNotificationMethod:NotificationRuleRequestNotificationMethod":{"properties":{"spec":{"type":"string","description":"Specification of the notification method. Depends on the type of the notification method.\n"},"type":{"type":"string","description":"Type of the Notification Method.\n"}},"type":"object","required":["type"]},"harness:platform/OciHelmConnectorCredentials:OciHelmConnectorCredentials":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/OverridesGitDetails:OverridesGitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branch":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"isHarnessCodeRepo":{"type":"boolean","description":"If the repo is in harness code\n"},"isNewBranch":{"type":"boolean","description":"If the branch being created is new\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating override.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating override.\n"},"loadFromCache":{"type":"boolean","description":"Load service yaml from catch\n"},"loadFromFallbackBranch":{"type":"boolean","description":"Load service yaml from fallback branch\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["baseBranch","branch","commitMessage","connectorRef","filePath","isHarnessCodeRepo","isNewBranch","lastCommitId","lastObjectId","loadFromCache","loadFromFallbackBranch","repoName","storeType"]}}},"harness:platform/PipelineCentralNotificationRuleCustomNotificationTemplateRef:PipelineCentralNotificationRuleCustomNotificationTemplateRef":{"properties":{"templateRef":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/types/harness:platform/PipelineCentralNotificationRuleCustomNotificationTemplateRefVariable:PipelineCentralNotificationRuleCustomNotificationTemplateRefVariable"}},"versionLabel":{"type":"string"}},"type":"object","required":["templateRef","versionLabel"]},"harness:platform/PipelineCentralNotificationRuleCustomNotificationTemplateRefVariable:PipelineCentralNotificationRuleCustomNotificationTemplateRefVariable":{"properties":{"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["name","value"]},"harness:platform/PipelineCentralNotificationRuleNotificationCondition:PipelineCentralNotificationRuleNotificationCondition":{"properties":{"conditionName":{"type":"string"},"notificationEventConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/PipelineCentralNotificationRuleNotificationConditionNotificationEventConfig:PipelineCentralNotificationRuleNotificationConditionNotificationEventConfig"}}},"type":"object","required":["conditionName","notificationEventConfigs"]},"harness:platform/PipelineCentralNotificationRuleNotificationConditionNotificationEventConfig:PipelineCentralNotificationRuleNotificationConditionNotificationEventConfig":{"properties":{"entityIdentifiers":{"type":"array","items":{"type":"string"}},"notificationEntity":{"type":"string"},"notificationEvent":{"type":"string","description":"The pipeline event that triggers the notification. Supported values: `PIPELINE_START`, `PIPELINE_SUCCESS`, `PIPELINE_FAILED`, `STAGE_START`, `STAGE_SUCCESS`, `STAGE_FAILED`.\n"},"notificationEventDatas":{"type":"array","items":{"$ref":"#/types/harness:platform/PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData:PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData"}}},"type":"object","required":["notificationEntity","notificationEvent"]},"harness:platform/PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData:PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData":{"properties":{"scopeIdentifiers":{"type":"array","items":{"type":"string"}},"type":{"type":"string"}},"type":"object"},"harness:platform/PipelineFiltersFilterProperties:PipelineFiltersFilterProperties":{"properties":{"description":{"type":"string","description":"description of the pipline filter.\n"},"filterType":{"type":"string","description":"Corresponding Entity of the filters. Currently supported types are {Connector, DelegateProfile, Delegate, PipelineSetup, PipelineExecution, Deployment, Audit, Template, EnvironmentGroup, FileStore, CCMRecommendation, Anomaly, Environment}.\n"},"moduleProperties":{"$ref":"#/types/harness:platform/PipelineFiltersFilterPropertiesModuleProperties:PipelineFiltersFilterPropertiesModuleProperties","description":"module properties of the pipline filter.\n"},"name":{"type":"string","description":"Name of the pipeline filter.\n"},"pipelineIdentifiers":{"type":"array","items":{"type":"string"},"description":"Pipeline identifiers to filter on.\n"},"pipelineName":{"type":"string","description":"Name of the pipeline execution filter.\n"},"pipelineTags":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"Tags to associate with the pipeline. tags should be in the form of `{key:key1, value:key1value}`\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. Tags should be in the form `name:value`.\n"}},"type":"object","required":["filterType"]},"harness:platform/PipelineFiltersFilterPropertiesModuleProperties:PipelineFiltersFilterPropertiesModuleProperties":{"properties":{"cd":{"$ref":"#/types/harness:platform/PipelineFiltersFilterPropertiesModulePropertiesCd:PipelineFiltersFilterPropertiesModulePropertiesCd","description":"CD related properties to be filtered on.\n"},"ci":{"$ref":"#/types/harness:platform/PipelineFiltersFilterPropertiesModulePropertiesCi:PipelineFiltersFilterPropertiesModulePropertiesCi","description":"CI related properties to be filtered on.\n"}},"type":"object"},"harness:platform/PipelineFiltersFilterPropertiesModulePropertiesCd:PipelineFiltersFilterPropertiesModulePropertiesCd":{"properties":{"artifactDisplayNames":{"type":"array","items":{"type":"string"},"description":"Artifact display names of the CD pipeline.\n"},"deploymentTypes":{"type":"string","description":"Deployment type of the CD pipeline, eg. Kubernetes\n"},"environmentIdentifiers":{"type":"array","items":{"type":"string"},"description":"Environment identifier of the CD pipeline.\n"},"environmentNames":{"type":"array","items":{"type":"string"},"description":"Environment names of the CD pipeline.\n"},"serviceDefinitionTypes":{"type":"string","description":"Deployment type of the CD pipeline, eg. Kubernetes\n"},"serviceIdentifiers":{"type":"array","items":{"type":"string"},"description":"Service identifiers of the CD pipeline.\n"},"serviceNames":{"type":"array","items":{"type":"string"},"description":"Service names of the CD pipeline.\n"}},"type":"object"},"harness:platform/PipelineFiltersFilterPropertiesModulePropertiesCi:PipelineFiltersFilterPropertiesModulePropertiesCi":{"properties":{"branch":{"type":"string","description":"Branch which was used while building.\n"},"buildType":{"type":"string","description":"Build type of the pipeline. Possible values: branch.\n"},"ciExecutionInfo":{"$ref":"#/types/harness:platform/PipelineFiltersFilterPropertiesModulePropertiesCiCiExecutionInfo:PipelineFiltersFilterPropertiesModulePropertiesCiCiExecutionInfo","description":"CI execution info for the pipeline.\n"},"repoNames":{"type":"string","description":"name of the repository used in the pipeline.\n"},"tag":{"type":"string","description":"Tags to associate with the CI pipeline resource.\n"}},"type":"object"},"harness:platform/PipelineFiltersFilterPropertiesModulePropertiesCiCiExecutionInfo:PipelineFiltersFilterPropertiesModulePropertiesCiCiExecutionInfo":{"properties":{"event":{"type":"string","description":"Event for the ci execution, Possible values: pullRequest.\n"},"pullRequest":{"$ref":"#/types/harness:platform/PipelineFiltersFilterPropertiesModulePropertiesCiCiExecutionInfoPullRequest:PipelineFiltersFilterPropertiesModulePropertiesCiCiExecutionInfoPullRequest","description":"The pull request details of the CI pipeline.\n"}},"type":"object"},"harness:platform/PipelineFiltersFilterPropertiesModulePropertiesCiCiExecutionInfoPullRequest:PipelineFiltersFilterPropertiesModulePropertiesCiCiExecutionInfoPullRequest":{"properties":{"sourceBranch":{"type":"string","description":"Source branch of the pull request.\n"},"targetBranch":{"type":"string","description":"Target branch of the pull request.\n"}},"type":"object"},"harness:platform/PipelineGitDetails:PipelineGitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branchName":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"isHarnessCodeRepo":{"type":"boolean","description":"If the repo is harness code.\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating Pipeline.\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["baseBranch","branchName","commitMessage","connectorRef","filePath","isHarnessCodeRepo","lastCommitId","lastObjectId","repoName","storeType"]}}},"harness:platform/PipelineGitImportInfo:PipelineGitImportInfo":{"properties":{"branchName":{"type":"string","description":"Name of the branch.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"repoName":{"type":"string","description":"Name of the repository.\n"}},"type":"object"},"harness:platform/PipelinePipelineImportRequest:PipelinePipelineImportRequest":{"properties":{"pipelineDescription":{"type":"string","description":"Description of the pipeline.\n"},"pipelineName":{"type":"string","description":"Name of the pipeline.\n"}},"type":"object"},"harness:platform/PolicySetPolicy:PolicySetPolicy":{"properties":{"identifier":{"type":"string","description":"Account Identifier of the account\n"},"severity":{"type":"string","description":"Policy failure response - 'warning' for continuation, 'error' for exit\n"}},"type":"object","required":["identifier","severity"]},"harness:platform/PolicySetPolicyReference:PolicySetPolicyReference":{"properties":{"identifier":{"type":"string","description":"Unique identifier of the policy\n"},"severity":{"type":"string","description":"Policy failure response - 'warning' for continuation, 'error' for exit\n"}},"type":"object","required":["identifier","severity"]},"harness:platform/PrometheusConnectorHeader:PrometheusConnectorHeader":{"properties":{"encryptedValueRef":{"type":"string","description":"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}.\n"},"key":{"type":"string","description":"Key.\n"},"value":{"type":"string","description":"Value.\n"},"valueEncrypted":{"type":"boolean","description":"Encrypted value.\n"}},"type":"object","required":["key"]},"harness:platform/ProviderSpec:ProviderSpec":{"properties":{"clientId":{"type":"string","description":"Client Id of the OAuth app to connect\n"},"clientSecretRef":{"type":"string","description":"Client Secret Ref of the OAuth app to connect\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Delegate selectors to fetch the access token\n"},"domain":{"type":"string","description":"Host domain of the provider.\n"},"secretManagerRef":{"type":"string","description":"Secret Manager Ref to store the access/refresh tokens\n"},"type":{"type":"string","description":"The type of the provider entity.\n"}},"type":"object","required":["type"]},"harness:platform/RepoRuleBranchBypass:RepoRuleBranchBypass":{"properties":{"repoOwners":{"type":"boolean","description":"Allow users with repository edit permission to bypass.\n"},"userIds":{"type":"array","items":{"type":"string"},"description":"List of user ids with who can bypass.\n"}},"type":"object"},"harness:platform/RepoRuleBranchPattern:RepoRuleBranchPattern":{"properties":{"defaultBranch":{"type":"boolean","description":"Should rule apply to default branch of the repository.\n"},"excludes":{"type":"array","items":{"type":"string"},"description":"Globstar branch patterns on which rules will NOT be applied.\n"},"includes":{"type":"array","items":{"type":"string"},"description":"Globstar branch patterns on which rules will be applied.\n"}},"type":"object"},"harness:platform/RepoRuleBranchPolicy:RepoRuleBranchPolicy":{"properties":{"allowMergeStrategies":{"type":"array","items":{"type":"string"},"description":"Limit which merge strategies are available to merge a pull request(Any of squash, rebase, merge).\n"},"blockBranchCreation":{"type":"boolean","description":"Only allow users with bypass permission to create matching branches.\n"},"blockBranchDeletion":{"type":"boolean","description":"Only allow users with bypass permission to delete matching branches.\n"},"deleteBranchOnMerge":{"type":"boolean","description":"Automatically delete the source branch of a pull request after it is merged.\n"},"requireCodeOwners":{"type":"boolean","description":"Require approval on pull requests from one reviewer for each codeowner rule.\n"},"requireLatestCommitApproval":{"type":"boolean","description":"Require re-approval when there are new changes in the pull request.\n"},"requireMinimumApprovalCount":{"type":"integer","description":"Require approval on pull requests from a minimum number of reviewers.\n"},"requireNoChangeRequest":{"type":"boolean","description":"Require all request for changes have been resolved.\n"},"requirePullRequest":{"type":"boolean","description":"Do not allow any changes to matching branches without a pull request.\n"},"requireResolveAllComments":{"type":"boolean","description":"All comments on a pull request must be resolved before it can be merged.\n"},"requireStatusChecks":{"type":"array","items":{"type":"string"},"description":"Selected status checks must pass before a pull request can be merged.\n"}},"type":"object"},"harness:platform/RepoSource:RepoSource":{"properties":{"host":{"type":"string","description":"The host URL for the import source.\n"},"password":{"type":"string","description":"The password for authentication when importing.\n","secret":true},"repo":{"type":"string","description":"The full identifier of the repository on the SCM provider's platform.\n"},"type":{"type":"string","description":"The type of SCM provider (github, gitlab, bitbucket, stash, gitea, gogs) when importing.\n"},"username":{"type":"string","description":"The username for authentication when importing.\n"}},"type":"object"},"harness:platform/ResourceGroupIncludedScope:ResourceGroupIncludedScope":{"properties":{"accountId":{"type":"string","description":"Account Identifier of the account\n"},"filter":{"type":"string","description":"Can be one of these 2 EXCLUDING*CHILD*SCOPES or INCLUDING*CHILD*SCOPES\n"},"orgId":{"type":"string","description":"Organization Identifier\n"},"projectId":{"type":"string","description":"Project Identifier\n"}},"type":"object","required":["filter"]},"harness:platform/ResourceGroupResourceFilter:ResourceGroupResourceFilter":{"properties":{"includeAllResources":{"type":"boolean","description":"Include all resource or not\n"},"resources":{"type":"array","items":{"$ref":"#/types/harness:platform/ResourceGroupResourceFilterResource:ResourceGroupResourceFilterResource"},"description":"Resources for a resource group\n"}},"type":"object"},"harness:platform/ResourceGroupResourceFilterResource:ResourceGroupResourceFilterResource":{"properties":{"attributeFilters":{"type":"array","items":{"$ref":"#/types/harness:platform/ResourceGroupResourceFilterResourceAttributeFilter:ResourceGroupResourceFilterResourceAttributeFilter"},"description":"Used to filter resources on their attributes\n"},"identifiers":{"type":"array","items":{"type":"string"},"description":"List of the identifiers\n"},"resourceType":{"type":"string","description":"Type of the resource\n"}},"type":"object","required":["resourceType"]},"harness:platform/ResourceGroupResourceFilterResourceAttributeFilter:ResourceGroupResourceFilterResourceAttributeFilter":{"properties":{"attributeName":{"type":"string","description":"Name of the attribute. Valid values are \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`labels`\" pulumi-lang-dotnet=\"`Labels`\" pulumi-lang-go=\"`labels`\" pulumi-lang-python=\"`labels`\" pulumi-lang-yaml=\"`labels`\" pulumi-lang-java=\"`labels`\"\u003e`labels`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e.\n"},"attributeValues":{"type":"array","items":{"type":"string"},"description":"Value of the attributes.Valid values for \u003cspan pulumi-lang-nodejs=\"`category`\" pulumi-lang-dotnet=\"`Category`\" pulumi-lang-go=\"`category`\" pulumi-lang-python=\"`category`\" pulumi-lang-yaml=\"`category`\" pulumi-lang-java=\"`category`\"\u003e`category`\u003c/span\u003e are [ARTIFACTORY,CLOUD*COST,CLOUD*PROVIDER,CODE*REPO,MONITORING,SECRET*MANAGER,TICKETING], for \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e are [Production,PreProduction], for \u003cspan pulumi-lang-nodejs=\"`labels`\" pulumi-lang-dotnet=\"`Labels`\" pulumi-lang-go=\"`labels`\" pulumi-lang-python=\"`labels`\" pulumi-lang-yaml=\"`labels`\" pulumi-lang-java=\"`labels`\"\u003e`labels`\u003c/span\u003e, it can be using the syntax 'label:value', for \u003cspan pulumi-lang-nodejs=\"`tag`\" pulumi-lang-dotnet=\"`Tag`\" pulumi-lang-go=\"`tag`\" pulumi-lang-python=\"`tag`\" pulumi-lang-yaml=\"`tag`\" pulumi-lang-java=\"`tag`\"\u003e`tag`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`tags`\" pulumi-lang-dotnet=\"`Tags`\" pulumi-lang-go=\"`tags`\" pulumi-lang-python=\"`tags`\" pulumi-lang-yaml=\"`tags`\" pulumi-lang-java=\"`tags`\"\u003e`tags`\u003c/span\u003e it can be any string.\n"}},"type":"object"},"harness:platform/RoleAssignmentsPrincipal:RoleAssignmentsPrincipal":{"properties":{"identifier":{"type":"string","description":"Identifier.\n"},"scopeLevel":{"type":"string","description":"Scope level.\n"},"type":{"type":"string","description":"Type.\n"}},"type":"object","required":["type"],"language":{"nodejs":{"requiredOutputs":["scopeLevel","type"]}}},"harness:platform/SecretFileAdditionalMetadata:SecretFileAdditionalMetadata":{"properties":{"values":{"type":"array","items":{"$ref":"#/types/harness:platform/SecretFileAdditionalMetadataValue:SecretFileAdditionalMetadataValue"}}},"type":"object"},"harness:platform/SecretFileAdditionalMetadataValue:SecretFileAdditionalMetadataValue":{"properties":{"gcpProjectId":{"type":"string","description":"GCP Project ID (for GCP Secret Manager)\n"},"kmsKeyId":{"type":"string","description":"KMS Key ID (for AWS Secret Manager)\n"},"regions":{"type":"string","description":"GCP region for the secret (for GCP Secret Manager)\n"},"version":{"type":"string","description":"Version of the secret (for AWS/Azure Secret Manager)\n"}},"type":"object"},"harness:platform/SecretSshkeyKerberos:SecretSshkeyKerberos":{"properties":{"principal":{"type":"string","description":"Username to use for authentication.\n"},"realm":{"type":"string","description":"Reference to a secret containing the password to use for authentication.\n"},"tgtGenerationMethod":{"type":"string","description":"Method to generate tgt\n"},"tgtKeyTabFilePathSpec":{"$ref":"#/types/harness:platform/SecretSshkeyKerberosTgtKeyTabFilePathSpec:SecretSshkeyKerberosTgtKeyTabFilePathSpec","description":"Authenticate to App Dynamics using username and password.\n"},"tgtPasswordSpec":{"$ref":"#/types/harness:platform/SecretSshkeyKerberosTgtPasswordSpec:SecretSshkeyKerberosTgtPasswordSpec","description":"Authenticate to App Dynamics using username and password.\n"}},"type":"object","required":["principal","realm"]},"harness:platform/SecretSshkeyKerberosTgtKeyTabFilePathSpec:SecretSshkeyKerberosTgtKeyTabFilePathSpec":{"properties":{"keyPath":{"type":"string","description":"key path\n"}},"type":"object"},"harness:platform/SecretSshkeyKerberosTgtPasswordSpec:SecretSshkeyKerberosTgtPasswordSpec":{"properties":{"password":{"type":"string","description":"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}\n","secret":true}},"type":"object"},"harness:platform/SecretSshkeySsh:SecretSshkeySsh":{"properties":{"credentialType":{"type":"string","description":"This specifies SSH credential type as Password, KeyPath or KeyReference\n"},"sshPasswordCredential":{"$ref":"#/types/harness:platform/SecretSshkeySshSshPasswordCredential:SecretSshkeySshSshPasswordCredential","description":"SSH credential of type keyReference\n"},"sshkeyPathCredential":{"$ref":"#/types/harness:platform/SecretSshkeySshSshkeyPathCredential:SecretSshkeySshSshkeyPathCredential","description":"SSH credential of type keyPath\n"},"sshkeyReferenceCredential":{"$ref":"#/types/harness:platform/SecretSshkeySshSshkeyReferenceCredential:SecretSshkeySshSshkeyReferenceCredential","description":"SSH credential of type keyReference\n"}},"type":"object","required":["credentialType"]},"harness:platform/SecretSshkeySshSshPasswordCredential:SecretSshkeySshSshPasswordCredential":{"properties":{"password":{"type":"string","description":"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}\n","secret":true},"userName":{"type":"string","description":"SSH Username.\n"}},"type":"object","required":["password","userName"]},"harness:platform/SecretSshkeySshSshkeyPathCredential:SecretSshkeySshSshkeyPathCredential":{"properties":{"encryptedPassphrase":{"type":"string","description":"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}\n","secret":true},"keyPath":{"type":"string","description":"Path of the key file.\n"},"userName":{"type":"string","description":"SSH Username.\n"}},"type":"object","required":["keyPath","userName"]},"harness:platform/SecretSshkeySshSshkeyReferenceCredential:SecretSshkeySshSshkeyReferenceCredential":{"properties":{"encryptedPassphrase":{"type":"string","description":"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}\n","secret":true},"key":{"type":"string","description":"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}\n"},"userName":{"type":"string","description":"SSH Username.\n"}},"type":"object","required":["key","userName"]},"harness:platform/SecretTextAdditionalMetadata:SecretTextAdditionalMetadata":{"properties":{"values":{"type":"array","items":{"$ref":"#/types/harness:platform/SecretTextAdditionalMetadataValue:SecretTextAdditionalMetadataValue"}}},"type":"object"},"harness:platform/SecretTextAdditionalMetadataValue:SecretTextAdditionalMetadataValue":{"properties":{"gcpProjectId":{"type":"string","description":"GCP Project ID (for GCP Secret Manager)\n"},"kmsKeyId":{"type":"string","description":"KMS Key ID (for AWS Secret Manager)\n"},"regions":{"type":"string","description":"GCP region for the secret (for GCP Secret Manager)\n"},"version":{"type":"string","description":"Version of the secret (for AWS/Azure Secret Manager)\n"}},"type":"object"},"harness:platform/SecretWinrmKerberos:SecretWinrmKerberos":{"properties":{"principal":{"type":"string","description":"Kerberos principal.\n"},"realm":{"type":"string","description":"Kerberos realm.\n"},"skipCertCheck":{"type":"boolean","description":"Skip certificate verification.\n"},"tgtGenerationMethod":{"type":"string","description":"Method to generate TGT (Ticket Granting Ticket).\n"},"tgtKeyTabFilePathSpec":{"$ref":"#/types/harness:platform/SecretWinrmKerberosTgtKeyTabFilePathSpec:SecretWinrmKerberosTgtKeyTabFilePathSpec","description":"TGT generation using key tab file.\n"},"tgtPasswordSpec":{"$ref":"#/types/harness:platform/SecretWinrmKerberosTgtPasswordSpec:SecretWinrmKerberosTgtPasswordSpec","description":"TGT generation using password.\n"},"useNoProfile":{"type":"boolean","description":"Use no profile.\n"},"useSsl":{"type":"boolean","description":"Use SSL/TLS for WinRM communication.\n"}},"type":"object","required":["principal","realm"]},"harness:platform/SecretWinrmKerberosTgtKeyTabFilePathSpec:SecretWinrmKerberosTgtKeyTabFilePathSpec":{"properties":{"keyPath":{"type":"string","description":"Path to the key tab file.\n"}},"type":"object","required":["keyPath"]},"harness:platform/SecretWinrmKerberosTgtPasswordSpec:SecretWinrmKerberosTgtPasswordSpec":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/SecretWinrmNtlm:SecretWinrmNtlm":{"properties":{"domain":{"type":"string","description":"Domain name for NTLM authentication.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"skipCertCheck":{"type":"boolean","description":"Skip certificate verification.\n"},"useNoProfile":{"type":"boolean","description":"Use no profile.\n"},"useSsl":{"type":"boolean","description":"Use SSL/TLS for WinRM communication.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"}},"type":"object","required":["passwordRef","username"]},"harness:platform/ServiceGitDetails:ServiceGitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branch":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"isHarnessCodeRepo":{"type":"boolean","description":"If the repo is harness code\n"},"isNewBranch":{"type":"boolean","description":"If the branch being created is new\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating Pipeline.\n"},"loadFromCache":{"type":"boolean","description":"Load service yaml from catch\n"},"loadFromFallbackBranch":{"type":"boolean","description":"Load service yaml from fallback branch\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["baseBranch","branch","commitMessage","connectorRef","filePath","isHarnessCodeRepo","isNewBranch","lastCommitId","lastObjectId","loadFromCache","loadFromFallbackBranch","repoName","storeType"]}}},"harness:platform/ServiceNowConnectorAuth:ServiceNowConnectorAuth":{"properties":{"adfs":{"$ref":"#/types/harness:platform/ServiceNowConnectorAuthAdfs:ServiceNowConnectorAuthAdfs","description":"Authenticate using adfs client credentials with certificate.\n"},"authType":{"type":"string","description":"Authentication types for Jira connector\n"},"refreshToken":{"$ref":"#/types/harness:platform/ServiceNowConnectorAuthRefreshToken:ServiceNowConnectorAuthRefreshToken","description":"Authenticate using refresh token grant type.\n"},"usernamePassword":{"$ref":"#/types/harness:platform/ServiceNowConnectorAuthUsernamePassword:ServiceNowConnectorAuthUsernamePassword","description":"Authenticate using username password.\n"}},"type":"object","required":["authType"]},"harness:platform/ServiceNowConnectorAuthAdfs:ServiceNowConnectorAuthAdfs":{"properties":{"adfsUrl":{"type":"string","description":"asdf URL.\n"},"certificateRef":{"type":"string","description":"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}.\n"},"clientIdRef":{"type":"string","description":"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}.\n"},"privateKeyRef":{"type":"string","description":"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}.\n"},"resourceIdRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["adfsUrl","certificateRef","clientIdRef","privateKeyRef","resourceIdRef"]},"harness:platform/ServiceNowConnectorAuthRefreshToken:ServiceNowConnectorAuthRefreshToken":{"properties":{"clientIdRef":{"type":"string","description":"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}.\n"},"clientSecretRef":{"type":"string","description":"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}.\n"},"refreshTokenRef":{"type":"string","description":"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}.\n"},"scope":{"type":"string","description":"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}.\n"},"tokenUrl":{"type":"string","description":"Token url to use for authentication.\n"}},"type":"object","required":["clientIdRef","refreshTokenRef","tokenUrl"]},"harness:platform/ServiceNowConnectorAuthUsernamePassword:ServiceNowConnectorAuthUsernamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef"]},"harness:platform/ServiceOverridesV2GitDetails:ServiceOverridesV2GitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branch":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"isHarnessCodeRepo":{"type":"boolean","description":"If the repo is in harness code\n"},"isNewBranch":{"type":"boolean","description":"If the branch being created is new\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating override.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating override.\n"},"loadFromCache":{"type":"boolean","description":"Load service yaml from catch\n"},"loadFromFallbackBranch":{"type":"boolean","description":"Load service yaml from fallback branch\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["baseBranch","branch","commitMessage","connectorRef","filePath","isHarnessCodeRepo","isNewBranch","lastCommitId","lastObjectId","loadFromCache","loadFromFallbackBranch","repoName","storeType"]}}},"harness:platform/SloRequest:SloRequest":{"properties":{"description":{"type":"string","description":"Description for the SLO.\n"},"name":{"type":"string","description":"Name for the SLO.\n"},"notificationRuleRefs":{"type":"array","items":{"$ref":"#/types/harness:platform/SloRequestNotificationRuleRef:SloRequestNotificationRuleRef"},"description":"Notification rule references for the SLO.\n"},"sloTarget":{"$ref":"#/types/harness:platform/SloRequestSloTarget:SloRequestSloTarget","description":"SLO Target specification.\n"},"spec":{"type":"string","description":"Specification of the SLO.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the SLO. comma-separated key value string pairs.\n"},"type":{"type":"string","description":"Type of the SLO.\n"},"userJourneyRefs":{"type":"array","items":{"type":"string"},"description":"User journey reference list for the SLO.\n"}},"type":"object","required":["name","sloTarget","spec","type","userJourneyRefs"]},"harness:platform/SloRequestNotificationRuleRef:SloRequestNotificationRuleRef":{"properties":{"enabled":{"type":"boolean","description":"Enable or disable notification rule reference for the SLO.\n"},"notificationRuleRef":{"type":"string","description":"Notification rule reference for the SLO.\n"}},"type":"object","required":["enabled","notificationRuleRef"]},"harness:platform/SloRequestSloTarget:SloRequestSloTarget":{"properties":{"sloTargetPercentage":{"type":"number","description":"Target percentage for the SLO.\n"},"spec":{"type":"string","description":"Specification of the SLO Target.\n"},"type":{"type":"string","description":"Type of the SLO target.\n"}},"type":"object","required":["sloTargetPercentage","spec","type"]},"harness:platform/SpotConnectorPermanentToken:SpotConnectorPermanentToken":{"properties":{"apiTokenRef":{"type":"string","description":"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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Connect only using delegates with these tags.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"spotAccountId":{"type":"string","description":"Spot account id.\n"},"spotAccountIdRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["apiTokenRef"]},"harness:platform/TasConnectorCredentials:TasConnectorCredentials":{"properties":{"tasManualDetails":{"$ref":"#/types/harness:platform/TasConnectorCredentialsTasManualDetails:TasConnectorCredentialsTasManualDetails","description":"Authenticate to Tas using manual details.\n"},"type":{"type":"string","description":"Type can be ManualConfig.\n"}},"type":"object","required":["tasManualDetails","type"]},"harness:platform/TasConnectorCredentialsTasManualDetails:TasConnectorCredentialsTasManualDetails":{"properties":{"endpointUrl":{"type":"string","description":"URL of the Tas server.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"referenceToken":{"type":"string","description":"Reference token for authentication.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["endpointUrl","passwordRef"]},"harness:platform/TemplateFiltersFilterProperties:TemplateFiltersFilterProperties":{"properties":{"filterType":{"type":"string","description":"Corresponding Entity of the filters. Currently supported types are {TemplateSetup, TemplateExecution, Template}.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. Tags should be in the form `name:value`.\n"}},"type":"object","required":["filterType"]},"harness:platform/TemplateGitDetails:TemplateGitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branchName":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating Pipeline.\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["baseBranch","branchName","commitMessage","connectorRef","filePath","lastCommitId","lastObjectId","repoName","storeType"]}}},"harness:platform/TemplateGitImportDetails:TemplateGitImportDetails":{"properties":{"branchName":{"type":"string","description":"Name of the branch.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"isForceImport":{"type":"boolean"},"repoName":{"type":"string","description":"Name of the repository.\n"}},"type":"object"},"harness:platform/TemplateTemplateImportRequest:TemplateTemplateImportRequest":{"properties":{"templateDescription":{"type":"string","description":"Description of the template.\n"},"templateName":{"type":"string","description":"Name of the template.\n"},"templateVersion":{"type":"string","description":"Version of the template.\n"}},"type":"object"},"harness:platform/TerraformCloudConnectorCredentials:TerraformCloudConnectorCredentials":{"properties":{"apiToken":{"$ref":"#/types/harness:platform/TerraformCloudConnectorCredentialsApiToken:TerraformCloudConnectorCredentialsApiToken","description":"API token credentials to use for authentication.\n"}},"type":"object","required":["apiToken"]},"harness:platform/TerraformCloudConnectorCredentialsApiToken:TerraformCloudConnectorCredentialsApiToken":{"properties":{"apiTokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["apiTokenRef"]},"harness:platform/UserRoleBinding:UserRoleBinding":{"properties":{"managedRole":{"type":"boolean","description":"Managed Role of the user.\n"},"resourceGroupIdentifier":{"type":"string","description":"Resource Group Identifier of the user.\n"},"resourceGroupName":{"type":"string","description":"Resource Group Name of the user.\n"},"roleIdentifier":{"type":"string","description":"Role Identifier of the user.\n"},"roleName":{"type":"string","description":"Role Name Identifier of the user.\n"}},"type":"object"},"harness:platform/UsergroupNotificationConfig:UsergroupNotificationConfig":{"properties":{"groupEmail":{"type":"string","description":"Group email.\n"},"microsoftTeamsWebhookUrl":{"type":"string","description":"Url of Microsoft teams webhook.\n"},"pagerDutyKey":{"type":"string","description":"Pager duty key.\n"},"sendEmailToAllUsers":{"type":"boolean","description":"Send email to all the group members.\n"},"slackWebhookUrl":{"type":"string","description":"Url of slack webhook.\n"},"type":{"type":"string","description":"Can be one of EMAIL, SLACK, PAGERDUTY, MSTEAMS.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["sendEmailToAllUsers"]}}},"harness:platform/VariablesSpec:VariablesSpec":{"properties":{"fixedValue":{"type":"string","description":"FixedValue of the variable\n"},"valueType":{"type":"string","description":"Type of Value of the Variable. For now only FIXED is supported\n"}},"type":"object","required":["fixedValue","valueType"]},"harness:platform/WorkspaceConnector:WorkspaceConnector":{"properties":{"connectorRef":{"type":"string","description":"Connector Ref is the reference to the connector\n"},"type":{"type":"string","description":"Type is the connector type of the connector. Supported types: aws, azure, gcp\n"}},"type":"object","required":["connectorRef","type"]},"harness:platform/WorkspaceEnvironmentVariable:WorkspaceEnvironmentVariable":{"properties":{"key":{"type":"string","description":"Key is the identifier for the variable. Must be unique within the workspace.\n"},"value":{"type":"string","description":"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.\n"},"valueType":{"type":"string","description":"Value type indicates the value type of the variable. Currently we support string and secret.\n"}},"type":"object","required":["key","value","valueType"]},"harness:platform/WorkspaceTerraformVariable:WorkspaceTerraformVariable":{"properties":{"key":{"type":"string","description":"Key is the identifier for the variable. Must be unique within the workspace.\n"},"value":{"type":"string","description":"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.\n"},"valueType":{"type":"string","description":"Value type indicates the value type of the variable. Currently we support string and secret.\n"}},"type":"object","required":["key","value","valueType"]},"harness:platform/WorkspaceTerraformVariableFile:WorkspaceTerraformVariableFile":{"properties":{"repository":{"type":"string","description":"Repository is the name of the repository to fetch the code from.\n"},"repositoryBranch":{"type":"string","description":"Repository branch is the name of the branch to fetch the variables from. This cannot be set if repository commit or sha is set\n"},"repositoryCommit":{"type":"string","description":"Repository commit is tag to fetch the variables from. This cannot be set if repository branch or sha is set.\n"},"repositoryConnector":{"type":"string","description":"Repository connector is the reference to the connector used to fetch the variables.\n"},"repositoryPath":{"type":"string","description":"Repository path is the path in which the variables reside.\n"},"repositorySha":{"type":"string","description":"Repository commit is SHA to fetch the variables from. This cannot be set if repository branch or commit is set.\n"}},"type":"object","required":["repository","repositoryConnector"]},"harness:platform/getAppDynamicsConnectorApiToken:getAppDynamicsConnectorApiToken":{"properties":{"clientId":{"type":"string","description":"The client id used for connecting to App Dynamics.\n"},"clientSecretRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["clientId","clientSecretRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAppDynamicsConnectorUsernamePassword:getAppDynamicsConnectorUsernamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"}},"type":"object","required":["passwordRef","username"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getArtifactoryConnectorCredential:getArtifactoryConnectorCredential":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsCCConnectorCrossAccountAccess:getAwsCCConnectorCrossAccountAccess":{"properties":{"externalId":{"type":"string","description":"The external id of the role to use for cross-account access. This is a random unique value to provide additional secure authentication.\n"},"roleArn":{"type":"string","description":"The ARN of the role to use for cross-account access.\n"}},"type":"object","required":["externalId","roleArn"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsConnectorCrossAccountAccess:getAwsConnectorCrossAccountAccess":{"properties":{"externalId":{"type":"string","description":"If the administrator of the account to which the role belongs provided you with an external ID, then enter that value.\n"},"roleArn":{"type":"string","description":"The Amazon Resource Name (ARN) of the role that you want to assume. This is an IAM role in the target AWS account.\n"}},"type":"object","required":["externalId","roleArn"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsConnectorEqualJitterBackoffStrategy:getAwsConnectorEqualJitterBackoffStrategy":{"properties":{"baseDelay":{"type":"integer","description":"Base delay.\n"},"maxBackoffTime":{"type":"integer","description":"Max BackOff Time.\n"},"retryCount":{"type":"integer","description":"Retry Count.\n"}},"type":"object","required":["baseDelay","maxBackoffTime","retryCount"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsConnectorFixedDelayBackoffStrategy:getAwsConnectorFixedDelayBackoffStrategy":{"properties":{"fixedBackoff":{"type":"integer","description":"Fixed Backoff.\n"},"retryCount":{"type":"integer","description":"Retry Count.\n"}},"type":"object","required":["fixedBackoff","retryCount"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsConnectorFullJitterBackoffStrategy:getAwsConnectorFullJitterBackoffStrategy":{"properties":{"baseDelay":{"type":"integer","description":"Base delay.\n"},"maxBackoffTime":{"type":"integer","description":"Max BackOff Time.\n"},"retryCount":{"type":"integer","description":"Retry Count.\n"}},"type":"object","required":["baseDelay","maxBackoffTime","retryCount"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsConnectorInheritFromDelegate:getAwsConnectorInheritFromDelegate":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"region":{"type":"string","description":"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}.\n"}},"type":"object","required":["delegateSelectors"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsConnectorIrsa:getAwsConnectorIrsa":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"region":{"type":"string","description":"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}.\n"}},"type":"object","required":["delegateSelectors"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsConnectorManual:getAwsConnectorManual":{"properties":{"accessKey":{"type":"string","description":"AWS access key.\n"},"accessKeyPlainText":{"type":"string","description":"The plain text AWS access key.\n"},"accessKeyRef":{"type":"string","description":"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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Connect only use delegates with these tags.\n"},"region":{"type":"string","description":"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}.\n"},"secretKeyRef":{"type":"string","description":"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}.\n"},"sessionTokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["accessKey","accessKeyRef","delegateSelectors","secretKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsConnectorOidcAuthentication:getAwsConnectorOidcAuthentication":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"iamRoleArn":{"type":"string","description":"The IAM Role to assume the credentials from.\n"},"region":{"type":"string","description":"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}.\n"}},"type":"object","required":["delegateSelectors","iamRoleArn"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsKmsConnectorCredential:getAwsKmsConnectorCredential":{"properties":{"assumeRoles":{"type":"array","items":{"$ref":"#/types/harness:platform/getAwsKmsConnectorCredentialAssumeRole:getAwsKmsConnectorCredentialAssumeRole"},"description":"Connect using STS assume role.\n"},"inheritFromDelegate":{"type":"boolean","description":"Inherit the credentials from from the delegate.\n"},"manuals":{"type":"array","items":{"$ref":"#/types/harness:platform/getAwsKmsConnectorCredentialManual:getAwsKmsConnectorCredentialManual"},"description":"Specify the AWS key and secret used for authenticating.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/getAwsKmsConnectorCredentialOidcAuthentication:getAwsKmsConnectorCredentialOidcAuthentication"},"description":"Authentication using OIDC.\n"}},"type":"object","required":["assumeRoles","inheritFromDelegate","manuals","oidcAuthentications"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsKmsConnectorCredentialAssumeRole:getAwsKmsConnectorCredentialAssumeRole":{"properties":{"duration":{"type":"integer","description":"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.\n"},"externalId":{"type":"string","description":"If the administrator of the account to which the role belongs provided you with an external ID, then enter that value.\n"},"roleArn":{"type":"string","description":"The ARN of the role to assume.\n"}},"type":"object","required":["duration","externalId","roleArn"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsKmsConnectorCredentialManual:getAwsKmsConnectorCredentialManual":{"properties":{"accessKeyRef":{"type":"string","description":"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}.\n"},"secretKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["accessKeyRef","secretKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsKmsConnectorCredentialOidcAuthentication:getAwsKmsConnectorCredentialOidcAuthentication":{"properties":{"iamRoleArn":{"type":"string","description":"The IAM role ARN to assume.\n"}},"type":"object","required":["iamRoleArn"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsSecretManagerConnectorCredential:getAwsSecretManagerConnectorCredential":{"properties":{"assumeRoles":{"type":"array","items":{"$ref":"#/types/harness:platform/getAwsSecretManagerConnectorCredentialAssumeRole:getAwsSecretManagerConnectorCredentialAssumeRole"},"description":"Connect using STS assume role.\n"},"inheritFromDelegate":{"type":"boolean","description":"Inherit the credentials from from the delegate.\n"},"manuals":{"type":"array","items":{"$ref":"#/types/harness:platform/getAwsSecretManagerConnectorCredentialManual:getAwsSecretManagerConnectorCredentialManual"},"description":"Specify the AWS key and secret used for authenticating.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/getAwsSecretManagerConnectorCredentialOidcAuthentication:getAwsSecretManagerConnectorCredentialOidcAuthentication"},"description":"Authentication using OIDC.\n"}},"type":"object","required":["assumeRoles","inheritFromDelegate","manuals","oidcAuthentications"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsSecretManagerConnectorCredentialAssumeRole:getAwsSecretManagerConnectorCredentialAssumeRole":{"properties":{"duration":{"type":"integer","description":"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.\n"},"externalId":{"type":"string","description":"If the administrator of the account to which the role belongs provided you with an external ID, then enter that value.\n"},"roleArn":{"type":"string","description":"The ARN of the role to assume.\n"}},"type":"object","required":["duration","externalId","roleArn"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsSecretManagerConnectorCredentialManual:getAwsSecretManagerConnectorCredentialManual":{"properties":{"accessKeyRef":{"type":"string","description":"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}.\n"},"secretKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["accessKeyRef","secretKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAwsSecretManagerConnectorCredentialOidcAuthentication:getAwsSecretManagerConnectorCredentialOidcAuthentication":{"properties":{"iamRoleArn":{"type":"string","description":"The IAM role ARN to assume.\n"}},"type":"object","required":["iamRoleArn"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudCostConnectorBillingExportSpec2:getAzureCloudCostConnectorBillingExportSpec2":{"properties":{"billingType":{"type":"string","description":"Billing type.\n"},"containerName":{"type":"string","description":"Name of the container.\n"},"directoryName":{"type":"string","description":"Name of the directory.\n"},"reportName":{"type":"string","description":"Name of the report.\n"},"storageAccountName":{"type":"string","description":"Name of the storage account.\n"},"subscriptionId":{"type":"string","description":"Subsription Id.\n"}},"type":"object","required":["billingType","containerName","directoryName","reportName","storageAccountName","subscriptionId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudCostConnectorBillingExportSpec:getAzureCloudCostConnectorBillingExportSpec":{"properties":{"billingType":{"type":"string","description":"Billing type.\n"},"containerName":{"type":"string","description":"Name of the container.\n"},"directoryName":{"type":"string","description":"Name of the directory.\n"},"reportName":{"type":"string","description":"Name of the report.\n"},"storageAccountName":{"type":"string","description":"Name of the storage account.\n"},"subscriptionId":{"type":"string","description":"Subsription Id.\n"}},"type":"object","required":["billingType","containerName","directoryName","reportName","storageAccountName","subscriptionId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudProviderConnectorCredential:getAzureCloudProviderConnectorCredential":{"properties":{"azureInheritFromDelegateDetails":{"type":"array","items":{"$ref":"#/types/harness:platform/getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetail:getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetail"},"description":"Authenticate to Azure Cloud Provider using details inheriting from delegate.\n"},"azureManualDetails":{"type":"array","items":{"$ref":"#/types/harness:platform/getAzureCloudProviderConnectorCredentialAzureManualDetail:getAzureCloudProviderConnectorCredentialAzureManualDetail"},"description":"Authenticate to Azure Cloud Provider using manual details.\n"},"azureOidcSpecs":{"type":"array","items":{"$ref":"#/types/harness:platform/getAzureCloudProviderConnectorCredentialAzureOidcSpec:getAzureCloudProviderConnectorCredentialAzureOidcSpec"},"description":"Authenticate to Azure Cloud Provider using OIDC Authentication.\n"},"type":{"type":"string","description":"Type can be InheritFromDelegate, ManualConfig or OidcAuthentication.\n"}},"type":"object","required":["azureInheritFromDelegateDetails","azureManualDetails","azureOidcSpecs","type"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetail:getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetail":{"properties":{"auths":{"type":"array","items":{"$ref":"#/types/harness:platform/getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuth:getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuth"},"description":"Auth to authenticate to Azure Cloud Provider using details inheriting from delegate.\n"}},"type":"object","required":["auths"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuth:getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuth":{"properties":{"azureMsiAuthUas":{"type":"array","items":{"$ref":"#/types/harness:platform/getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuthAzureMsiAuthUa:getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuthAzureMsiAuthUa"},"description":"Azure UserAssigned MSI auth details.\n"},"type":{"type":"string","description":"Type can either be SystemAssignedManagedIdentity or UserAssignedManagedIdentity.\n"}},"type":"object","required":["azureMsiAuthUas","type"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuthAzureMsiAuthUa:getAzureCloudProviderConnectorCredentialAzureInheritFromDelegateDetailAuthAzureMsiAuthUa":{"properties":{"clientId":{"type":"string","description":"Client Id of the ManagedIdentity resource.\n"}},"type":"object","required":["clientId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudProviderConnectorCredentialAzureManualDetail:getAzureCloudProviderConnectorCredentialAzureManualDetail":{"properties":{"applicationId":{"type":"string","description":"Application ID of the Azure App.\n"},"auths":{"type":"array","items":{"$ref":"#/types/harness:platform/getAzureCloudProviderConnectorCredentialAzureManualDetailAuth:getAzureCloudProviderConnectorCredentialAzureManualDetailAuth"},"description":"Contains Azure auth details.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory (AAD) directory ID where you created your application.\n"}},"type":"object","required":["applicationId","auths","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudProviderConnectorCredentialAzureManualDetailAuth:getAzureCloudProviderConnectorCredentialAzureManualDetailAuth":{"properties":{"azureClientKeyCerts":{"type":"array","items":{"$ref":"#/types/harness:platform/getAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientKeyCert:getAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientKeyCert"},"description":"Azure client key certificate details.\n"},"azureClientSecretKeys":{"type":"array","items":{"$ref":"#/types/harness:platform/getAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientSecretKey:getAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientSecretKey"},"description":"Azure Client Secret Key details.\n"},"type":{"type":"string","description":"Type can either be Certificate or Secret.\n"}},"type":"object","required":["azureClientKeyCerts","azureClientSecretKeys","type"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientKeyCert:getAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientKeyCert":{"properties":{"certificateRef":{"type":"string","description":"Reference of the secret for the certificate.\n"}},"type":"object","required":["certificateRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientSecretKey:getAzureCloudProviderConnectorCredentialAzureManualDetailAuthAzureClientSecretKey":{"properties":{"secretRef":{"type":"string","description":"Reference of the secret for the secret key.\n"}},"type":"object","required":["secretRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getAzureCloudProviderConnectorCredentialAzureOidcSpec:getAzureCloudProviderConnectorCredentialAzureOidcSpec":{"properties":{"applicationId":{"type":"string","description":"Application ID of the Azure App.\n"},"audience":{"type":"string","description":"The Azure Audience.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory (AAD) directory ID where you created your application.\n"}},"type":"object","required":["applicationId","audience","tenantId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getBitbucketConnectorApiAuthentication:getBitbucketConnectorApiAuthentication":{"properties":{"tokenRef":{"type":"string","description":"Personal access token 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}.\n"},"username":{"type":"string","description":"The username used for connecting to the api.\n"},"usernameRef":{"type":"string","description":"The name of the Harness secret containing the username. 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}.\n"}},"type":"object","required":["tokenRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getBitbucketConnectorCredential:getBitbucketConnectorCredential":{"properties":{"https":{"type":"array","items":{"$ref":"#/types/harness:platform/getBitbucketConnectorCredentialHttp:getBitbucketConnectorCredentialHttp"},"description":"Authenticate using Username and password over http(s) for the connection.\n"},"sshes":{"type":"array","items":{"$ref":"#/types/harness:platform/getBitbucketConnectorCredentialSsh:getBitbucketConnectorCredentialSsh"},"description":"Authenticate using SSH for the connection.\n"}},"type":"object","required":["https","sshes"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getBitbucketConnectorCredentialHttp:getBitbucketConnectorCredentialHttp":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getBitbucketConnectorCredentialSsh:getBitbucketConnectorCredentialSsh":{"properties":{"sshKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["sshKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getCcmFiltersFilterProperty:getCcmFiltersFilterProperty":{"properties":{"filterType":{"type":"string","description":"Corresponding Entity of the filters.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. Tags should be in the form `name:value`.\n"}},"type":"object","required":["filterType","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getCentralNotificationChannelChannel:getCentralNotificationChannelChannel":{"properties":{"apiKey":{"type":"string","description":"API key for the webhook or integration.\n"},"datadogUrls":{"type":"array","items":{"type":"string"},"description":"List of Datadog webhook URLs.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"List of delegate selectors to use for sending notifications.\n"},"emailIds":{"type":"array","items":{"type":"string"},"description":"List of email addresses to notify.\n"},"executeOnDelegate":{"type":"boolean","description":"Whether to execute the notification logic on delegate.\n"},"headers":{"type":"array","items":{"$ref":"#/types/harness:platform/getCentralNotificationChannelChannelHeader:getCentralNotificationChannelChannelHeader"},"description":"Custom HTTP headers to include in webhook requests.\n"},"msTeamKeys":{"type":"array","items":{"type":"string"},"description":"List of Microsoft Teams integration keys.\n"},"pagerDutyIntegrationKeys":{"type":"array","items":{"type":"string"},"description":"List of PagerDuty integration keys.\n"},"slackWebhookUrls":{"type":"array","items":{"type":"string"},"description":"List of Slack webhook URLs to send notifications to.\n"},"userGroups":{"type":"array","items":{"$ref":"#/types/harness:platform/getCentralNotificationChannelChannelUserGroup:getCentralNotificationChannelChannelUserGroup"},"description":"List of user groups to notify.\n"},"webhookUrls":{"type":"array","items":{"type":"string"},"description":"List of generic webhook URLs.\n"}},"type":"object","required":["headers"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getCentralNotificationChannelChannelHeader:getCentralNotificationChannelChannelHeader":{"properties":{"key":{"type":"string","description":"Header key name.\n"},"value":{"type":"string","description":"Header value.\n"}},"type":"object","required":["key","value"]},"harness:platform/getCentralNotificationChannelChannelUserGroup:getCentralNotificationChannelChannelUserGroup":{"properties":{"identifier":{"type":"string","description":"Identifier of the user group.\n"}},"type":"object"},"harness:platform/getCentralNotificationRuleCustomNotificationTemplateRef:getCentralNotificationRuleCustomNotificationTemplateRef":{"properties":{"templateRef":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/types/harness:platform/getCentralNotificationRuleCustomNotificationTemplateRefVariable:getCentralNotificationRuleCustomNotificationTemplateRefVariable"}},"versionLabel":{"type":"string"}},"type":"object","required":["templateRef","versionLabel"]},"harness:platform/getCentralNotificationRuleCustomNotificationTemplateRefVariable:getCentralNotificationRuleCustomNotificationTemplateRefVariable":{"properties":{"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["name","value"]},"harness:platform/getCentralNotificationRuleNotificationCondition:getCentralNotificationRuleNotificationCondition":{"properties":{"conditionName":{"type":"string"},"notificationEventConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/getCentralNotificationRuleNotificationConditionNotificationEventConfig:getCentralNotificationRuleNotificationConditionNotificationEventConfig"}}},"type":"object","required":["conditionName","notificationEventConfigs"]},"harness:platform/getCentralNotificationRuleNotificationConditionNotificationEventConfig:getCentralNotificationRuleNotificationConditionNotificationEventConfig":{"properties":{"entityIdentifiers":{"type":"array","items":{"type":"string"}},"notificationEntity":{"type":"string"},"notificationEvent":{"type":"string"},"notificationEventData":{"type":"object","additionalProperties":{"type":"string"}}},"type":"object","required":["notificationEntity","notificationEvent"]},"harness:platform/getConnectorAzureRepoApiAuthentication:getConnectorAzureRepoApiAuthentication":{"properties":{"tokenRef":{"type":"string","description":"Personal access token for interacting with the azure repo 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}.\n"}},"type":"object","required":["tokenRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorAzureRepoCredential:getConnectorAzureRepoCredential":{"properties":{"https":{"type":"array","items":{"$ref":"#/types/harness:platform/getConnectorAzureRepoCredentialHttp:getConnectorAzureRepoCredentialHttp"},"description":"Authenticate using Username and password over http(s) for the connection.\n"},"sshes":{"type":"array","items":{"$ref":"#/types/harness:platform/getConnectorAzureRepoCredentialSsh:getConnectorAzureRepoCredentialSsh"},"description":"Authenticate using SSH for the connection.\n"}},"type":"object","required":["https","sshes"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorAzureRepoCredentialHttp:getConnectorAzureRepoCredentialHttp":{"properties":{"tokenRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["tokenRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorAzureRepoCredentialSsh:getConnectorAzureRepoCredentialSsh":{"properties":{"sshKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["sshKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorCustomSecretManagerTemplateInput:getConnectorCustomSecretManagerTemplateInput":{"properties":{"environmentVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/getConnectorCustomSecretManagerTemplateInputEnvironmentVariable:getConnectorCustomSecretManagerTemplateInputEnvironmentVariable"}}},"type":"object","required":["environmentVariables"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorCustomSecretManagerTemplateInputEnvironmentVariable:getConnectorCustomSecretManagerTemplateInputEnvironmentVariable":{"properties":{"default":{"type":"boolean"},"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["default","name","type","value"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorCustomhealthsourceHeader:getConnectorCustomhealthsourceHeader":{"properties":{"encryptedValueRef":{"type":"string","description":"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}.\n"},"key":{"type":"string","description":"Key.\n"},"value":{"type":"string","description":"Value.\n"},"valueEncrypted":{"type":"boolean","description":"Encrypted value.\n"}},"type":"object","required":["encryptedValueRef","key","value","valueEncrypted"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorCustomhealthsourceParam:getConnectorCustomhealthsourceParam":{"properties":{"encryptedValueRef":{"type":"string","description":"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}.\n"},"key":{"type":"string","description":"Key.\n"},"value":{"type":"string","description":"Value.\n"},"valueEncrypted":{"type":"boolean","description":"Encrypted value.\n"}},"type":"object","required":["encryptedValueRef","key","value","valueEncrypted"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorGcpKmsManual:getConnectorGcpKmsManual":{"properties":{"credentials":{"type":"string","description":"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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to connect with.\n"}},"type":"object","required":["credentials","delegateSelectors"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorGcpKmsOidcAuthentication:getConnectorGcpKmsOidcAuthentication":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"gcpProjectId":{"type":"string","description":"The project number of the GCP project that is used to create the workload identity..\n"},"providerId":{"type":"string","description":"The OIDC provider ID value configured in GCP.\n"},"serviceAccountEmail":{"type":"string","description":"The service account linked to workload identity pool while setting GCP workload identity provider.\n"},"workloadPoolId":{"type":"string","description":"The workload pool ID value created in GCP.\n"}},"type":"object","required":["delegateSelectors","gcpProjectId","providerId","serviceAccountEmail","workloadPoolId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorJdbcCredential:getConnectorJdbcCredential":{"properties":{"authType":{"type":"string","description":"Authentication types for JDBC connector\n"},"keyPairs":{"type":"array","items":{"$ref":"#/types/harness:platform/getConnectorJdbcCredentialKeyPair:getConnectorJdbcCredentialKeyPair"},"description":"Authenticate using key pair.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"serviceAccounts":{"type":"array","items":{"$ref":"#/types/harness:platform/getConnectorJdbcCredentialServiceAccount:getConnectorJdbcCredentialServiceAccount"},"description":"Authenticate using service account.\n"},"username":{"type":"string","description":"The username to use for the database server.\n"},"usernamePasswords":{"type":"array","items":{"$ref":"#/types/harness:platform/getConnectorJdbcCredentialUsernamePassword:getConnectorJdbcCredentialUsernamePassword"},"description":"Authenticate using username password.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["authType","keyPairs","passwordRef","serviceAccounts","username","usernamePasswords","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorJdbcCredentialKeyPair:getConnectorJdbcCredentialKeyPair":{"properties":{"privateKeyFileRef":{"type":"string","description":"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}.\n"},"privateKeyPassphraseRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["privateKeyFileRef","privateKeyPassphraseRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorJdbcCredentialServiceAccount:getConnectorJdbcCredentialServiceAccount":{"properties":{"tokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["tokenRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorJdbcCredentialUsernamePassword:getConnectorJdbcCredentialUsernamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorPdcHost:getConnectorPdcHost":{"properties":{"attributes":{"type":"object","additionalProperties":{"type":"string"},"description":"attributes for current host\n"},"hostname":{"type":"string","description":"hostname\n"}},"type":"object","required":["hostname"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getConnectorRancherBearerToken:getConnectorRancherBearerToken":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"rancherUrl":{"type":"string","description":"The URL of the Rancher cluster.\n"}},"type":"object","required":["passwordRef","rancherUrl"]},"harness:platform/getDbSchemaChangelogScript:getDbSchemaChangelogScript":{"properties":{"command":{"type":"string","description":"Script to clone changeSets\n"},"image":{"type":"string","description":"The fully-qualified name (FQN) of the image\n"},"location":{"type":"string","description":"Path to changeLog file\n"},"shell":{"type":"string","description":"Type of the shell. For example Sh or Bash\n"},"toml":{"type":"string","description":"[Optional] For flyway migration type only\n"}},"type":"object","required":["command","image","location","shell"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getDbSchemaSchemaSource:getDbSchemaSchemaSource":{"properties":{"archivePath":{"type":"string","description":"If connector type is artifactory, path to the archive file which contains the changeLog\n"},"connector":{"type":"string","description":"Connector to repository at which to find details about the database schema\n"},"location":{"type":"string","description":"The path within the specified repository at which to find details about the database schema\n"},"repo":{"type":"string","description":"If connector url is of account, which repository to connect to using the connector\n"},"toml":{"type":"string","description":"[Optional] For flyway migration type only\n"}},"type":"object","required":["archivePath","connector","location","repo"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getDefaultNotificationTemplateSetEventTemplateConfigurationSet:getDefaultNotificationTemplateSetEventTemplateConfigurationSet":{"properties":{"notificationEvents":{"type":"array","items":{"type":"string"},"description":"List of notification events like PIPELINE_START\n"},"template":{"$ref":"#/types/harness:platform/getDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate:getDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate","description":"Template reference configuration\n"}},"type":"object","required":["notificationEvents","template"]},"harness:platform/getDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate:getDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplate":{"properties":{"templateRef":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/types/harness:platform/getDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable:getDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable"},"description":"List of variables passed to the template\n"},"versionLabel":{"type":"string"}},"type":"object","required":["templateRef","versionLabel"]},"harness:platform/getDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable:getDefaultNotificationTemplateSetEventTemplateConfigurationSetTemplateVariable":{"properties":{"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["name","type","value"]},"harness:platform/getDelegateListDelegate:getDelegateListDelegate":{"properties":{"autoUpgrade":{"type":"string","description":"Auto upgrade setting.\n"},"connected":{"type":"boolean","description":"Whether the delegate is connected.\n"},"description":{"type":"string","description":"Delegate description.\n"},"legacy":{"type":"boolean","description":"Whether this is a legacy delegate.\n"},"name":{"type":"string","description":"Delegate name.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Delegate tags.\n"},"type":{"type":"string","description":"Delegate type (e.g., HELM_DELEGATE).\n"}},"type":"object","required":["autoUpgrade","connected","description","legacy","name","tags","type"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getDockerConnectorCredential:getDockerConnectorCredential":{"properties":{"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"The username to use for the docker registry.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["executeOnDelegate","passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getElasticsearchConnectorApiToken:getElasticsearchConnectorApiToken":{"properties":{"clientId":{"type":"string","description":"The client id used for connecting to ElasticSearch.\n"},"clientSecretRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["clientId","clientSecretRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getElasticsearchConnectorUsernamePassword:getElasticsearchConnectorUsernamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"}},"type":"object","required":["passwordRef","username"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getEnvironmentClustersMappingCluster:getEnvironmentClustersMappingCluster":{"properties":{"agentIdentifier":{"type":"string","description":"agent identifier of the cluster (include scope prefix)\n"},"identifier":{"type":"string","description":"identifier of the cluster\n"},"name":{"type":"string","description":"name of the cluster\n"},"scope":{"type":"string","description":"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\n"}},"type":"object"},"harness:platform/getEnvironmentGitDetails:getEnvironmentGitDetails":{"properties":{"branch":{"type":"string","description":"Name of the branch.\n"},"loadFromFallbackBranch":{"type":"boolean","description":"Load environment yaml from fallback branch\n"},"repoName":{"type":"string","description":"Repo name of remote environment\n"}},"type":"object","required":["branch","loadFromFallbackBranch","repoName"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getEnvironmentListEnvironment:getEnvironmentListEnvironment":{"properties":{"identifier":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["identifier","name"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getFileStoreFileCreatedBy:getFileStoreFileCreatedBy":{"properties":{"email":{"type":"string","description":"User email\n"},"name":{"type":"string","description":"User name\n"}},"type":"object","required":["email","name"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getFileStoreFileLastModifiedBy:getFileStoreFileLastModifiedBy":{"properties":{"email":{"type":"string","description":"User email\n"},"name":{"type":"string","description":"User name\n"}},"type":"object","required":["email","name"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getFileStoreFolderCreatedBy:getFileStoreFolderCreatedBy":{"properties":{"email":{"type":"string","description":"User email\n"},"name":{"type":"string","description":"User name\n"}},"type":"object","required":["email","name"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getFileStoreFolderLastModifiedBy:getFileStoreFolderLastModifiedBy":{"properties":{"email":{"type":"string","description":"User email\n"},"name":{"type":"string","description":"User name\n"}},"type":"object","required":["email","name"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getFiltersFilterProperty:getFiltersFilterProperty":{"properties":{"filterType":{"type":"string","description":"Corresponding Entity of the filter. Currently supported types are {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. Tags should be in the form `name:value`.\n"}},"type":"object","required":["filterType","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGcpCloudCostConnectorBillingExportSpec:getGcpCloudCostConnectorBillingExportSpec":{"properties":{"dataSetId":{"type":"string","description":"Data Set Id.\n"},"tableId":{"type":"string","description":"Table Id.\n"}},"type":"object","required":["dataSetId","tableId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGcpConnectorInheritFromDelegate:getGcpConnectorInheritFromDelegate":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"}},"type":"object","required":["delegateSelectors"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGcpConnectorManual:getGcpConnectorManual":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to connect with.\n"},"secretKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["delegateSelectors","secretKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGcpConnectorOidcAuthentication:getGcpConnectorOidcAuthentication":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"gcpProjectId":{"type":"string","description":"The project number of the GCP project that is used to create the workload identity..\n"},"providerId":{"type":"string","description":"The OIDC provider ID value configured in GCP.\n"},"serviceAccountEmail":{"type":"string","description":"The service account linked to workload identity pool while setting GCP workload identity provider.\n"},"workloadPoolId":{"type":"string","description":"The workload pool ID value created in GCP.\n"}},"type":"object","required":["delegateSelectors","gcpProjectId","providerId","serviceAccountEmail","workloadPoolId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGcpProjectsProject:getGcpProjectsProject":{"properties":{"id":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["id","name"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGcpSecretManagerConnectorOidcAuthentication:getGcpSecretManagerConnectorOidcAuthentication":{"properties":{"gcpProjectId":{"type":"string","description":"The project number of the GCP project that is used to create the workload identity..\n"},"providerId":{"type":"string","description":"The OIDC provider ID value configured in GCP.\n"},"serviceAccountEmail":{"type":"string","description":"The service account linked to workload identity pool while setting GCP workload identity provider.\n"},"workloadPoolId":{"type":"string","description":"The workload pool ID value created in GCP.\n"}},"type":"object","required":["gcpProjectId","providerId","serviceAccountEmail","workloadPoolId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitConnectorCredential:getGitConnectorCredential":{"properties":{"https":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitConnectorCredentialHttp:getGitConnectorCredentialHttp"},"description":"Authenticate using Username and password over http(s) for the connection.\n"},"sshes":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitConnectorCredentialSsh:getGitConnectorCredentialSsh"},"description":"Authenticate using SSH for the connection.\n"}},"type":"object","required":["https","sshes"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitConnectorCredentialHttp:getGitConnectorCredentialHttp":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitConnectorCredentialSsh:getGitConnectorCredentialSsh":{"properties":{"sshKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["sshKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGithubConnectorApiAuthentication:getGithubConnectorApiAuthentication":{"properties":{"githubApps":{"type":"array","items":{"$ref":"#/types/harness:platform/getGithubConnectorApiAuthenticationGithubApp:getGithubConnectorApiAuthenticationGithubApp"},"description":"Configuration for using the github app for interacting with the github api.\n"},"tokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["githubApps","tokenRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGithubConnectorApiAuthenticationGithubApp:getGithubConnectorApiAuthenticationGithubApp":{"properties":{"applicationId":{"type":"string","description":"Enter the GitHub App ID from the GitHub App General tab.\n"},"applicationIdRef":{"type":"string","description":"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}.\n"},"installationId":{"type":"string","description":"Enter the Installation ID located in the URL of the installed GitHub App.\n"},"installationIdRef":{"type":"string","description":"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}.\n"},"privateKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["applicationId","applicationIdRef","installationId","installationIdRef","privateKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGithubConnectorCredential:getGithubConnectorCredential":{"properties":{"https":{"type":"array","items":{"$ref":"#/types/harness:platform/getGithubConnectorCredentialHttp:getGithubConnectorCredentialHttp"},"description":"Authenticate using Username and password over http(s) for the connection.\n"},"sshes":{"type":"array","items":{"$ref":"#/types/harness:platform/getGithubConnectorCredentialSsh:getGithubConnectorCredentialSsh"},"description":"Authenticate using SSH for the connection.\n"}},"type":"object","required":["https","sshes"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGithubConnectorCredentialHttp:getGithubConnectorCredentialHttp":{"properties":{"anonymouses":{"type":"array","items":{"$ref":"#/types/harness:platform/getGithubConnectorCredentialHttpAnonymouse:getGithubConnectorCredentialHttpAnonymouse"},"description":"Configuration for using the github http anonymous for interacting with the github api.\n"},"githubApps":{"type":"array","items":{"$ref":"#/types/harness:platform/getGithubConnectorCredentialHttpGithubApp:getGithubConnectorCredentialHttpGithubApp"},"description":"Configuration for using the github app for interacting with the github api.\n"},"tokenRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["anonymouses","githubApps","tokenRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGithubConnectorCredentialHttpAnonymouse:getGithubConnectorCredentialHttpAnonymouse":{"type":"object"},"harness:platform/getGithubConnectorCredentialHttpGithubApp:getGithubConnectorCredentialHttpGithubApp":{"properties":{"applicationId":{"type":"string","description":"Enter the GitHub App ID from the GitHub App General tab.\n"},"applicationIdRef":{"type":"string","description":"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}.\n"},"installationId":{"type":"string","description":"Enter the Installation ID located in the URL of the installed GitHub App.\n"},"installationIdRef":{"type":"string","description":"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}.\n"},"privateKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["applicationId","applicationIdRef","installationId","installationIdRef","privateKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGithubConnectorCredentialSsh:getGithubConnectorCredentialSsh":{"properties":{"sshKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["sshKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitlabConnectorApiAuthentication:getGitlabConnectorApiAuthentication":{"properties":{"tokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["tokenRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitlabConnectorCredential:getGitlabConnectorCredential":{"properties":{"https":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitlabConnectorCredentialHttp:getGitlabConnectorCredentialHttp"},"description":"Authenticate using Username and password over http(s) for the connection.\n"},"sshes":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitlabConnectorCredentialSsh:getGitlabConnectorCredentialSsh"},"description":"Authenticate using SSH for the connection.\n"}},"type":"object","required":["https","sshes"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitlabConnectorCredentialHttp:getGitlabConnectorCredentialHttp":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"tokenRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef","tokenRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitlabConnectorCredentialSsh:getGitlabConnectorCredentialSsh":{"properties":{"sshKeyRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["sshKeyRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsAgentDeployYamlArgocdSettings:getGitopsAgentDeployYamlArgocdSettings":{"properties":{"enableHelmPathTraversal":{"type":"boolean","description":"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.\n"}},"type":"object"},"harness:platform/getGitopsAgentDeployYamlProxy:getGitopsAgentDeployYamlProxy":{"properties":{"http":{"type":"string","description":"HTTP proxy settings for the GitOps agent.\n"},"https":{"type":"string","description":"HTTPS proxy settings for the GitOps agent.\n"},"password":{"type":"string","description":"Password for the proxy.\n"},"username":{"type":"string","description":"Username for the proxy.\n"}},"type":"object"},"harness:platform/getGitopsAgentMetadata:getGitopsAgentMetadata":{"properties":{"highAvailability":{"type":"boolean","description":"Indicates if the agent is deployed in HA mode.\n"},"isNamespaced":{"type":"boolean","description":"Indicates if the agent is namespaced.\n"},"namespace":{"type":"string","description":"The kubernetes namespace where the agent should be installed.\n"}},"type":"object","required":["highAvailability","namespace"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsAgentOperatorYamlProxy:getGitopsAgentOperatorYamlProxy":{"properties":{"http":{"type":"string","description":"HTTP proxy settings for the GitOps agent.\n"},"https":{"type":"string","description":"HTTPS proxy settings for the GitOps agent.\n"},"password":{"type":"string","description":"Password for the proxy.\n"},"username":{"type":"string","description":"Username for the proxy.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplication:getGitopsApplicationsApplication":{"properties":{"metadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationMetadata:getGitopsApplicationsApplicationMetadata"},"description":"Metadata corresponding to the resources. This includes all the objects a user must create.\n"},"specs":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpec:getGitopsApplicationsApplicationSpec"},"description":"Specifications of the GitOps application. This includes the repository URL, application definition, source, destination and sync policy.\n"}},"type":"object","required":["specs"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsApplicationsApplicationMetadata:getGitopsApplicationsApplicationMetadata":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations are unstructured key value pairs corresponding to a resource. External tools set these to store and retrieve arbitrary metadata.\n"},"clusterName":{"type":"string","description":"Name of the cluster corresponding to the object. API server ignores this if set in any create or update request.\n"},"finalizers":{"type":"array","items":{"type":"string"},"description":"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.\n"},"generateName":{"type":"string","description":"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.\n"},"generation":{"type":"string","description":"A sequence number representing a specific generation of the desired state. This is a read-only value populated by the system.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"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.\n"},"name":{"type":"string","description":"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.\n"},"namespace":{"type":"string","description":"Namespace of the GitOps application. An empty namespace is equivalent to the namespace of the GitOps agent.\n"},"ownerReferences":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationMetadataOwnerReference:getGitopsApplicationsApplicationMetadataOwnerReference"},"description":"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.\n"},"uid":{"type":"string","description":"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.\n"}},"type":"object","required":["annotations","clusterName","finalizers","generateName","generation","labels","name","namespace","ownerReferences","uid"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsApplicationsApplicationMetadataOwnerReference:getGitopsApplicationsApplicationMetadataOwnerReference":{"properties":{"apiVersion":{"type":"string","description":"API version of the referent.\n"},"blockOwnerDeletion":{"type":"boolean","description":"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.\n"},"controller":{"type":"boolean","description":"Indicates if the reference points to the managing controller.\n"},"kind":{"type":"string","description":"Kind of the referent.\n"},"name":{"type":"string","description":"Name of the referent.\n"},"uid":{"type":"string","description":"UID of the referent.\n"}},"type":"object","required":["apiVersion","blockOwnerDeletion","controller","kind","name","uid"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsApplicationsApplicationSpec:getGitopsApplicationsApplicationSpec":{"properties":{"destinations":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecDestination:getGitopsApplicationsApplicationSpecDestination"},"description":"Information about the GitOps application's destination.\n"},"project":{"type":"string","description":"The ArgoCD project name corresponding to this GitOps application. Value must match mappings of ArgoCD projects to harness project.\n"},"source":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSource:getGitopsApplicationsApplicationSpecSource"},"description":"Contains all information about the source of a GitOps application.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSource:getGitopsApplicationsApplicationSpecSource"},"description":"List of sources for the GitOps application. Multi Source support\n"},"syncPolicies":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSyncPolicy:getGitopsApplicationsApplicationSpecSyncPolicy"},"description":"Controls when a sync will be performed in response to updates in git.\n"}},"type":"object","required":["destinations","sources","syncPolicies"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsApplicationsApplicationSpecDestination:getGitopsApplicationsApplicationSpecDestination":{"properties":{"name":{"type":"string","description":"URL of the target cluster and must be set to the kubernetes control plane API.\n"},"namespace":{"type":"string","description":"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.\n"},"server":{"type":"string","description":"URL of the target cluster server for the GitOps application.\n"}},"type":"object","required":["name","namespace","server"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsApplicationsApplicationSpecSource:getGitopsApplicationsApplicationSpecSource":{"properties":{"chart":{"type":"string","description":"Helm chart name, and must be specified for the GitOps applications sourced from a helm repo.\n"},"directories":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourceDirectory:getGitopsApplicationsApplicationSpecSourceDirectory"},"description":"Options for applications of type plain YAML or Jsonnet.\n"},"helms":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourceHelm:getGitopsApplicationsApplicationSpecSourceHelm"},"description":"Holds helm specific options.\n"},"ksonnets":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourceKsonnet:getGitopsApplicationsApplicationSpecSourceKsonnet"},"description":"Ksonnet specific options.\n"},"kustomizes":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourceKustomize:getGitopsApplicationsApplicationSpecSourceKustomize"},"description":"Options specific to a GitOps application source specific to Kustomize.\n"},"path":{"type":"string","description":"Directory path within the git repository, and is only valid for the GitOps applications sourced from git.\n"},"plugins":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourcePlugin:getGitopsApplicationsApplicationSpecSourcePlugin"},"description":"Options specific to config management plugins.\n"},"ref":{"type":"string","description":"Reference name to be used in other source spec, used for multi-source applications.\n"},"repoUrl":{"type":"string","description":"URL to the repository (git or helm) that contains the GitOps application manifests.\n"},"targetRevision":{"type":"string","description":"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.\n"}},"type":"object","required":["chart","directories","helms","ksonnets","kustomizes","path","plugins","ref","repoUrl","targetRevision"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsApplicationsApplicationSpecSourceDirectory:getGitopsApplicationsApplicationSpecSourceDirectory":{"properties":{"exclude":{"type":"string","description":"Glob pattern to match paths against that should be explicitly excluded from being used during manifest generation.\n"},"include":{"type":"string","description":"Glob pattern to match paths against that should be explicitly included during manifest generation.\n"},"jsonnets":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourceDirectoryJsonnet:getGitopsApplicationsApplicationSpecSourceDirectoryJsonnet"},"description":"Options specific to applications of type Jsonnet.\n"},"recurse":{"type":"boolean","description":"Indicates to scan a directory recursively for manifests.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourceDirectoryJsonnet:getGitopsApplicationsApplicationSpecSourceDirectoryJsonnet":{"properties":{"extVars":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourceDirectoryJsonnetExtVar:getGitopsApplicationsApplicationSpecSourceDirectoryJsonnetExtVar"},"description":"List of jsonnet external variables.\n"},"libs":{"type":"array","items":{"type":"string"},"description":"Additional library search dirs.\n"},"tlas":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourceDirectoryJsonnetTla:getGitopsApplicationsApplicationSpecSourceDirectoryJsonnetTla"},"description":"List of jsonnet top-level arguments(TLAS).\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourceDirectoryJsonnetExtVar:getGitopsApplicationsApplicationSpecSourceDirectoryJsonnetExtVar":{"properties":{"code":{"type":"boolean","description":"Code of the external variables of jsonnet application.\n"},"name":{"type":"string","description":"Name of the external variables of jsonnet application.\n"},"value":{"type":"string","description":"Value of the external variables of jsonnet application.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourceDirectoryJsonnetTla:getGitopsApplicationsApplicationSpecSourceDirectoryJsonnetTla":{"properties":{"code":{"type":"boolean","description":"Code of the TLAS of the jsonnet application.\n"},"name":{"type":"string","description":"Name of the TLAS of the jsonnet application.\n"},"value":{"type":"string","description":"Value of the TLAS of the jsonnet application.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourceHelm:getGitopsApplicationsApplicationSpecSourceHelm":{"properties":{"fileParameters":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourceHelmFileParameter:getGitopsApplicationsApplicationSpecSourceHelmFileParameter"},"description":"File parameters to the helm template.\n"},"ignoreMissingValueFiles":{"type":"boolean","description":"Prevents 'helm template' from failing when\u003cspan pulumi-lang-nodejs=\" valueFiles \" pulumi-lang-dotnet=\" ValueFiles \" pulumi-lang-go=\" valueFiles \" pulumi-lang-python=\" value_files \" pulumi-lang-yaml=\" valueFiles \" pulumi-lang-java=\" valueFiles \"\u003e value_files \u003c/span\u003edo not exist locally.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourceHelmParameter:getGitopsApplicationsApplicationSpecSourceHelmParameter"},"description":"List of helm parameters which are passed to the helm template command upon manifest generation.\n"},"passCredentials":{"type":"boolean","description":"Indicates if to pass credentials to all domains (helm's --pass-credentials)\n"},"releaseName":{"type":"string","description":"Helm release name to use. If omitted it will use the GitOps application name.\n"},"skipCrds":{"type":"boolean","description":"Indicates if to skip CRDs during helm template. Corresponds to helm --skip-crds\n"},"skipSchemaValidation":{"type":"boolean","description":"Indicates if to skip schema validation during helm template. Corresponds to helm --skip-schema-validation\n"},"skipTests":{"type":"boolean","description":"Indicates if to skip tests during helm template. Corresponds to helm --skip-tests\n"},"valueFiles":{"type":"array","items":{"type":"string"},"description":"List of helm value files to use when generating a template.\n"},"values":{"type":"string","description":"Helm values to be passed to helm template, typically defined as a block.\n"},"version":{"type":"string","description":"Helm version to use for templating (either \"2\" or \"3\")\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourceHelmFileParameter:getGitopsApplicationsApplicationSpecSourceHelmFileParameter":{"properties":{"name":{"type":"string","description":"Name of the helm parameter.\n"},"path":{"type":"string","description":"Path to the file containing the values of the helm parameter.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourceHelmParameter:getGitopsApplicationsApplicationSpecSourceHelmParameter":{"properties":{"forceString":{"type":"boolean","description":"Indicates if helm should interpret booleans and numbers as strings.\n"},"name":{"type":"string","description":"Name of the helm parameter.\n"},"value":{"type":"string","description":"Value of the Helm parameter.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourceKsonnet:getGitopsApplicationsApplicationSpecSourceKsonnet":{"properties":{"environment":{"type":"string","description":"Ksonnet application environment name.\n"},"parameters":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourceKsonnetParameter:getGitopsApplicationsApplicationSpecSourceKsonnetParameter"},"description":"List of ksonnet component parameter override values.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourceKsonnetParameter:getGitopsApplicationsApplicationSpecSourceKsonnetParameter":{"properties":{"component":{"type":"string","description":"Component of the parameter of the ksonnet application.\n"},"name":{"type":"string","description":"Name of the parameter of the ksonnet application.\n"},"value":{"type":"string","description":"Value of the parameter of the ksonnet application.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourceKustomize:getGitopsApplicationsApplicationSpecSourceKustomize":{"properties":{"commonAnnotations":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional annotations to add to rendered manifests.\n"},"commonLabels":{"type":"object","additionalProperties":{"type":"string"},"description":"List of additional labels to add to rendered manifests.\n"},"forceCommonAnnotations":{"type":"boolean","description":"Indicates if to force applying common annotations to resources for kustomize apps.\n"},"forceCommonLabels":{"type":"boolean","description":"Indicates if to force apply common labels to resources for kustomize apps.\n"},"images":{"type":"array","items":{"type":"string"},"description":"List of kustomize image override specifications.\n"},"namePrefix":{"type":"string","description":"Prefix prepended to resources for kustomize apps.\n"},"nameSuffix":{"type":"string","description":"Suffix appended to resources for kustomize apps.\n"},"version":{"type":"string","description":"Version of kustomize to use for rendering manifests.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourcePlugin:getGitopsApplicationsApplicationSpecSourcePlugin":{"properties":{"envs":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSourcePluginEnv:getGitopsApplicationsApplicationSpecSourcePluginEnv"},"description":"Entry in the GitOps application's environment.\n"},"name":{"type":"string","description":"Name of the plugin.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSourcePluginEnv:getGitopsApplicationsApplicationSpecSourcePluginEnv":{"properties":{"name":{"type":"string","description":"Name of the variable, usually expressed in uppercase.\n"},"value":{"type":"string","description":"Value of the variable.\n"}},"type":"object"},"harness:platform/getGitopsApplicationsApplicationSpecSyncPolicy:getGitopsApplicationsApplicationSpecSyncPolicy":{"properties":{"automateds":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSyncPolicyAutomated:getGitopsApplicationsApplicationSpecSyncPolicyAutomated"},"description":"Controls the behavior of an automated sync.\n"},"retries":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSyncPolicyRetry:getGitopsApplicationsApplicationSpecSyncPolicyRetry"},"description":"Contains information about the strategy to apply when a sync failed.\n"},"syncOptions":{"type":"array","items":{"type":"string"},"description":"Options allow you to specify whole app sync-options.\n"}},"type":"object","required":["automateds","retries","syncOptions"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsApplicationsApplicationSpecSyncPolicyAutomated:getGitopsApplicationsApplicationSpecSyncPolicyAutomated":{"properties":{"allowEmpty":{"type":"boolean","description":"Indicates to allows apps to have zero live resources (default: false).\n"},"prune":{"type":"boolean","description":"Indicates whether to delete resources from the cluster that are not found in the sources anymore as part of automated sync (default: false).\n"},"selfHeal":{"type":"boolean","description":"Indicates whether to revert resources back to their desired state upon modification in the cluster (default: false).\n"}},"type":"object","required":["allowEmpty","prune","selfHeal"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsApplicationsApplicationSpecSyncPolicyRetry:getGitopsApplicationsApplicationSpecSyncPolicyRetry":{"properties":{"backoffs":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplicationSpecSyncPolicyRetryBackoff:getGitopsApplicationsApplicationSpecSyncPolicyRetryBackoff"},"description":"Backoff strategy to use on subsequent retries for failing syncs.\n"},"limit":{"type":"string","description":"Limit is the maximum number of attempts for retrying a failed sync. If set to 0, no retries will be performed.\n"}},"type":"object","required":["backoffs","limit"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsApplicationsApplicationSpecSyncPolicyRetryBackoff:getGitopsApplicationsApplicationSpecSyncPolicyRetryBackoff":{"properties":{"duration":{"type":"string","description":"Amount to back off. Default unit is seconds, but could also be a duration (e.g. \"2m\", \"1h\").\n"},"factor":{"type":"string","description":"Factor to multiply the base duration after each failed retry.\n"},"maxDuration":{"type":"string","description":"Maximum amount of time allowed of the backoff strategy.\n"}},"type":"object","required":["duration","factor","maxDuration"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsClusterRequest:getGitopsClusterRequest":{"properties":{"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsClusterRequestCluster:getGitopsClusterRequestCluster"},"description":"GitOps cluster details.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the GitOps cluster. These can be used to search or filter the GitOps agents.\n"},"updatedFields":{"type":"array","items":{"type":"string"},"description":"Fields which are updated.\n"},"upsert":{"type":"boolean","description":"Indicates if the GitOps cluster should be updated if existing and inserted if not.\n"}},"type":"object","required":["tags"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsClusterRequestCluster:getGitopsClusterRequestCluster":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations for cluster secret metadata.\n"},"clusterResources":{"type":"boolean","description":"Indicates if cluster level resources should be managed. This setting is used only if cluster is connected in a namespaced mode.\n"},"configs":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsClusterRequestClusterConfig:getGitopsClusterRequestClusterConfig"},"description":"GitOps cluster config.\n"},"infos":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsClusterRequestClusterInfo:getGitopsClusterRequestClusterInfo"},"description":"Information about cluster cache and state.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels for cluster secret metadata.\n"},"name":{"type":"string","description":"Name of the cluster. If omitted, the server address will be used.\n"},"namespaces":{"type":"array","items":{"type":"string"},"description":"List of namespaces which are accessible in that cluster. Cluster level resources will be ignored if namespace list is not empty.\n"},"project":{"type":"string","description":"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.\n"},"refreshRequestedAts":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsClusterRequestClusterRefreshRequestedAt:getGitopsClusterRequestClusterRefreshRequestedAt"},"description":"Time when cluster cache refresh has been requested.\n"},"server":{"type":"string","description":"API server URL of the kubernetes cluster.\n"},"shard":{"type":"string","description":"Shard number to be managed by a specific application controller pod. Calculated on the fly by the application controller if not specified.\n"}},"type":"object","required":["infos"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsClusterRequestClusterConfig:getGitopsClusterRequestClusterConfig":{"properties":{"awsClusterName":{"type":"string","description":"AWS Cluster name. If set then AWS CLI EKS token command will be used to access cluster.\n"},"bearerToken":{"type":"string","description":"Bearer authentication token the cluster.\n","secret":true},"clusterConnectionType":{"type":"string","description":"Identifies the authentication method used to connect to the cluster.\n"},"disableCompression":{"type":"boolean","description":"DisableCompression bypasses automatic GZip compression requests to to the cluster's API server. Corresponds to running kubectl with --disable-compression\n"},"execProviderConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsClusterRequestClusterConfigExecProviderConfig:getGitopsClusterRequestClusterConfigExecProviderConfig"},"description":"Configuration for an exec provider.\n"},"password":{"type":"string","description":"Password of the server of the cluster.\n","secret":true},"proxyUrl":{"type":"string","description":"The URL to the proxy to be used for all requests send to the cluster's API server\n"},"roleARN":{"type":"string","description":"Optional role ARN. If set then used for AWS IAM Authenticator.\n"},"tlsClientConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsClusterRequestClusterConfigTlsClientConfig:getGitopsClusterRequestClusterConfigTlsClientConfig"},"description":"Settings to enable transport layer security.\n"},"username":{"type":"string","description":"Username of the server of the cluster.\n"}},"type":"object"},"harness:platform/getGitopsClusterRequestClusterConfigExecProviderConfig:getGitopsClusterRequestClusterConfigExecProviderConfig":{"properties":{"apiVersion":{"type":"string","description":"Preferred input version of the ExecInfo.\n"},"args":{"type":"array","items":{"type":"string"},"description":"Arguments to pass to the command when executing it.\n"},"command":{"type":"string","description":"Command to execute.\n"},"env":{"type":"object","additionalProperties":{"type":"string"},"description":"Additional environment variables to expose to the process.\n"},"installHint":{"type":"string","description":"Message displayed when the executable is not found.\n"}},"type":"object"},"harness:platform/getGitopsClusterRequestClusterConfigTlsClientConfig:getGitopsClusterRequestClusterConfigTlsClientConfig":{"properties":{"caData":{"type":"string","description":"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.\n"},"certData":{"type":"string","description":"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.\n","secret":true},"insecure":{"type":"boolean","description":"Indicates if the TLS connection to the cluster should be insecure.\n"},"keyData":{"type":"string","description":"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.\n","secret":true},"serverName":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/getGitopsClusterRequestClusterInfo:getGitopsClusterRequestClusterInfo":{"properties":{"apiVersions":{"type":"array","items":{"type":"string"},"description":"List of API versions supported by the cluster.\n"},"applicationsCount":{"type":"string","description":"Number of applications managed by Argo CD on the cluster.\n"},"cacheInfos":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsClusterRequestClusterInfoCacheInfo:getGitopsClusterRequestClusterInfoCacheInfo"},"description":"Information about the cluster cache.\n"},"connectionStates":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsClusterRequestClusterInfoConnectionState:getGitopsClusterRequestClusterInfoConnectionState"},"description":"Information about the connection to the cluster.\n"},"serverVersion":{"type":"string","description":"Kubernetes version of the cluster.\n"}},"type":"object","required":["cacheInfos","connectionStates","serverVersion"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsClusterRequestClusterInfoCacheInfo:getGitopsClusterRequestClusterInfoCacheInfo":{"properties":{"apisCount":{"type":"string","description":"Number of observed kubernetes API count.\n"},"lastCacheSyncTime":{"type":"string","description":"Time of most recent cache synchronization.\n"},"resourcesCount":{"type":"string","description":"Number of observed kubernetes resources.\n"}},"type":"object"},"harness:platform/getGitopsClusterRequestClusterInfoConnectionState:getGitopsClusterRequestClusterInfoConnectionState":{"properties":{"attemptedAts":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsClusterRequestClusterInfoConnectionStateAttemptedAt:getGitopsClusterRequestClusterInfoConnectionStateAttemptedAt"},"description":"Time when cluster cache refresh has been requested.\n"},"message":{"type":"string","description":"Information about the connection status.\n"},"status":{"type":"string","description":"Current status indicator of the connection.\n"}},"type":"object","required":["message","status"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsClusterRequestClusterInfoConnectionStateAttemptedAt:getGitopsClusterRequestClusterInfoConnectionStateAttemptedAt":{"properties":{"nanos":{"type":"integer","description":"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.\n"},"seconds":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/getGitopsClusterRequestClusterRefreshRequestedAt:getGitopsClusterRequestClusterRefreshRequestedAt":{"properties":{"nanos":{"type":"integer","description":"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.\n"},"seconds":{"type":"string","description":"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.\n"}},"type":"object"},"harness:platform/getGitopsGnupgRequest:getGitopsGnupgRequest":{"properties":{"publickeys":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsGnupgRequestPublickey:getGitopsGnupgRequestPublickey"},"description":"Public key details.\n"},"upsert":{"type":"boolean","description":"Indicates if the GnuPG Key should be inserted if not present or updated if present.\n"}},"type":"object"},"harness:platform/getGitopsGnupgRequestPublickey:getGitopsGnupgRequestPublickey":{"properties":{"fingerprint":{"type":"string","description":"Fingerprint is the fingerprint of the key\n"},"keyData":{"type":"string","description":"KeyData holds the raw key data, in base64 encoded format.\n"},"keyId":{"type":"string","description":"KeyID specifies the key ID, in hexadecimal string format.\n"},"owner":{"type":"string","description":"Owner holds the owner identification, e.g. a name and e-mail address\n"},"subType":{"type":"string","description":"SubType holds the key's sub type\n"},"trust":{"type":"string","description":"Trust holds the level of trust assigned to this key\n"}},"type":"object"},"harness:platform/getGitopsRepoCredCred:getGitopsRepoCredCred":{"properties":{"enableOci":{"type":"boolean","description":"Specifies whether helm-oci support should be enabled for this repo.\n"},"githubAppEnterpriseBaseUrl":{"type":"string","description":"Specifies the GitHub API URL for GitHub app authentication.\n"},"githubAppId":{"type":"string","description":"Specifies the Github App ID of the app used to access the repo for GitHub app authentication.\n"},"githubAppInstallationId":{"type":"string","description":"Specifies the ID of the installed GitHub App for GitHub app authentication.\n"},"githubAppPrivateKey":{"type":"string","description":"github*app*private_key specifies the private key PEM data for authentication via GitHub app.\n","secret":true},"password":{"type":"string","description":"Password or PAT to be used for authenticating the remote repository.\n","secret":true},"sshPrivateKey":{"type":"string","description":"SSH Key in PEM format for authenticating the repository. Used only for Git repository.\n","secret":true},"tlsClientCertData":{"type":"string","description":"Certificate in PEM format for authenticating at the repo server. This is used for mTLS.\n","secret":true},"tlsClientCertKey":{"type":"string","description":"Private key in PEM format for authenticating at the repo server. This is used for mTLS.\n","secret":true},"type":{"type":"string","description":"Type specifies the type of the repoCreds.Can be either 'git' or 'helm. 'git' is assumed if empty or absent\n"},"url":{"type":"string","description":"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\"\n"},"username":{"type":"string","description":"Username to be used for authenticating the remote repository.\n","secret":true}},"type":"object","required":["enableOci","githubAppEnterpriseBaseUrl","githubAppId","githubAppInstallationId","githubAppPrivateKey","password","sshPrivateKey","tlsClientCertData","tlsClientCertKey","type","url","username"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getGitopsRepositoryRepo:getGitopsRepositoryRepo":{"properties":{"connectionType":{"type":"string","description":"Identifies the authentication method used to connect to the repository. Possible values: \"HTTPS\" \"SSH\" \"GITHUB\" \"HTTPS_ANONYMOUS_CONNECTION_TYPE\"\n"},"enableLfs":{"type":"boolean","description":"Indicates if git-lfs support must be enabled for this repo. This is valid only for Git repositories.\n"},"enableOci":{"type":"boolean","description":"Indicates if helm-oci support must be enabled for this repo.\n"},"githubAppEnterpriseBaseUrl":{"type":"string","description":"Base URL of GitHub Enterprise installation. If left empty, this defaults to https://api.github.com.\n"},"githubAppId":{"type":"string","description":"Id of the GitHub app used to access the repo.\n"},"githubAppInstallationId":{"type":"string","description":"Installation id of the GitHub app used to access the repo.\n"},"githubAppPrivateKey":{"type":"string","description":"GitHub app private key PEM data.\n","secret":true},"inheritedCreds":{"type":"boolean","description":"Indicates if the credentials were inherited from a repository credential.\n"},"insecure":{"type":"boolean","description":"Indicates if the connection to the repository ignores any errors when verifying TLS certificates or SSH host keys.\n"},"insecureIgnoreHostKey":{"type":"boolean","description":"Indicates if InsecureIgnoreHostKey should be used. Insecure is favored used only for git repos. Deprecated.\n"},"name":{"type":"string","description":"Name to be used for this repo. Only used with Helm repos.\n"},"password":{"type":"string","description":"Password or PAT to be used for authenticating the remote repository.\n","secret":true},"project":{"type":"string","description":"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.\n"},"proxy":{"type":"string","description":"The HTTP/HTTPS proxy used to access the repo.\n"},"repo":{"type":"string","description":"URL to the remote repository.\n"},"sshPrivateKey":{"type":"string","description":"SSH Key in PEM format for authenticating the repository. Used only for Git repository.\n","secret":true},"tlsClientCertData":{"type":"string","description":"Certificate in PEM format for authenticating at the repo server. This is used for mTLS. The value should be base64 encoded.\n","secret":true},"tlsClientCertKey":{"type":"string","description":"Private key in PEM format for authenticating at the repo server. This is used for mTLS. The value should be base64 encoded.\n","secret":true},"type_":{"type":"string","description":"Type specifies the type of the repo. Can be either \"git\" or \"helm. \"git\" is assumed if empty or absent.\n"},"username":{"type":"string","description":"Username to be used for authenticating the remote repository.\n","secret":true}},"type":"object","required":["connectionType","enableLfs","enableOci","githubAppEnterpriseBaseUrl","githubAppId","githubAppInstallationId","githubAppPrivateKey","inheritedCreds","insecure","insecureIgnoreHostKey","name","password","project","proxy","repo","sshPrivateKey","tlsClientCertData","tlsClientCertKey","type_","username"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getHarRegistryConfig:getHarRegistryConfig":{"properties":{"authType":{"type":"string","description":"Type of authentication for UPSTREAM registry type (UserPassword, Anonymous, AccessKeySecretKey)\n"},"auths":{"type":"array","items":{"$ref":"#/types/harness:platform/getHarRegistryConfigAuth:getHarRegistryConfigAuth"},"description":"Authentication configuration for UPSTREAM registry type\n"},"source":{"type":"string","description":"Upstream source\n"},"type":{"type":"string","description":"Type of registry (VIRTUAL or UPSTREAM)\n"},"upstreamProxies":{"type":"array","items":{"type":"string"},"description":"List of upstream proxies for VIRTUAL registry type\n"},"url":{"type":"string","description":"URL of the upstream (required if type=UPSTREAM \u0026 package_type=HELM)\n"}},"type":"object","required":["type"]},"harness:platform/getHarRegistryConfigAuth:getHarRegistryConfigAuth":{"properties":{"accessKey":{"type":"string","secret":true},"accessKeyIdentifier":{"type":"string"},"accessKeySecretPath":{"type":"string"},"authType":{"type":"string","description":"Type of authentication (UserPassword, Anonymous)\n"},"secretIdentifier":{"type":"string","description":"Secret identifier for UserPassword auth type\n"},"secretKeyIdentifier":{"type":"string"},"secretKeySecretPath":{"type":"string"},"secretSpacePath":{"type":"string","description":"Secret space path for UserPassword auth type\n"},"userName":{"type":"string","description":"User name for UserPassword auth type\n"}},"type":"object","required":["authType"]},"harness:platform/getHelmConnectorCredential:getHelmConnectorCredential":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getIdpCatalogEntityGitDetail:getIdpCatalogEntityGitDetail":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branchName":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"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}.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"isHarnessCodeRepo":{"type":"boolean","description":"If the repo is a Harness Code repo\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating Pipeline.\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","required":["baseBranch","branchName","commitMessage","connectorRef","filePath","isHarnessCodeRepo","lastCommitId","lastObjectId","repoName","storeType"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getInfraModuleTestingMetadata:getInfraModuleTestingMetadata":{"properties":{"account":{"type":"string","description":"Account is the internal customer account ID\n"},"org":{"type":"string","description":"Organization identifier\n"},"pipelines":{"type":"array","items":{"type":"string"},"description":"Pipelines where the testing is enabled\n"},"project":{"type":"string","description":"Project identifier\n"},"providerConnector":{"type":"string","description":"Provider connector for testing purposes\n"},"provisionerType":{"type":"string","description":"Provisioner type for testing purposes\n"},"provisionerVersion":{"type":"string","description":"Provisioner version for testing purposes\n"},"releasePipeline":{"type":"string","description":"Release pipeline\n"}},"type":"object","required":["account","org","pipelines","project","providerConnector","provisionerType","provisionerVersion","releasePipeline"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getInfraModuleTestingTestingMetadata:getInfraModuleTestingTestingMetadata":{"properties":{"account":{"type":"string","description":"Account is the internal customer account ID\n"},"org":{"type":"string","description":"Organization identifier\n"},"pipelines":{"type":"array","items":{"type":"string"},"description":"Pipelines where the testing is enabled\n"},"project":{"type":"string","description":"Project identifier\n"},"providerConnector":{"type":"string","description":"Provider connector for testing purposes\n"},"provisionerType":{"type":"string","description":"Provisioner type for testing purposes\n"},"provisionerVersion":{"type":"string","description":"Provisioner version for testing purposes\n"},"releasePipeline":{"type":"string","description":"Release pipeline\n"}},"type":"object","required":["account","org","pipelines","project","providerConnector","provisionerType","provisionerVersion","releasePipeline"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getInfraModulesModule:getInfraModulesModule":{"properties":{"account":{"type":"string","description":"Account that owns the module\n"},"connectorOrg":{"type":"string","description":"Repository connector orgoanization\n"},"connectorProject":{"type":"string","description":"Repository connector project\n"},"created":{"type":"integer","description":"Timestamp when the module was created\n"},"description":{"type":"string","description":"Description of the module\n"},"id":{"type":"string","description":"Identifier of the module\n"},"name":{"type":"string","description":"Name of the module\n"},"onboardingPipeline":{"type":"string","description":"Onboarding Pipeline identifier.\n"},"onboardingPipelineOrg":{"type":"string","description":"Onboarding Pipeline organization.\n"},"onboardingPipelineProject":{"type":"string","description":"Onboarding Pipeline project.\n"},"onboardingPipelineSync":{"type":"boolean","description":"Sync the project automatically.\n"},"org":{"type":"string","description":"Organization that owns the module\n"},"project":{"type":"string","description":"Project that owns the module\n"},"repository":{"type":"string","description":"Repository where the module is stored\n"},"repositoryBranch":{"type":"string","description":"Repository branch\n"},"repositoryCommit":{"type":"string","description":"Repository commit\n"},"repositoryConnector":{"type":"string","description":"Repository connector reference\n"},"repositoryPath":{"type":"string","description":"Path within repository\n"},"repositoryUrl":{"type":"string","description":"Repository URL\n"},"storageType":{"type":"string","description":"How to store the artifact.\n"},"synced":{"type":"integer","description":"Timestamp when the module was last synced\n"},"system":{"type":"string","description":"Provider of the module\n"},"tags":{"type":"string","description":"Tags associated with the module\n"},"testingEnabled":{"type":"boolean","description":"Whether testing is enabled for the module\n"},"updated":{"type":"integer","description":"Timestamp when the module was last modified\n"}},"type":"object","required":["account","connectorOrg","connectorProject","created","description","id","name","org","project","repository","repositoryBranch","repositoryCommit","repositoryConnector","repositoryPath","repositoryUrl","storageType","synced","system","tags","testingEnabled","updated"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getInfraProviderSigningKeysSigningKey:getInfraProviderSigningKeysSigningKey":{"properties":{"asciiArmor":{"type":"string","description":"ASCII-armored GPG public key.\n","secret":true},"createdAt":{"type":"string","description":"Creation timestamp.\n"},"id":{"type":"string","description":"Unique identifier of the signing key.\n"},"keyId":{"type":"string","description":"GPG key ID.\n"},"keyName":{"type":"string","description":"GPG key name.\n"},"updatedAt":{"type":"string","description":"Last updated timestamp.\n"},"user":{"type":"string","description":"User who uploaded the key.\n"}},"type":"object","required":["asciiArmor","createdAt","id","keyId","keyName","updatedAt","user"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getInfraProviderVersion:getInfraProviderVersion":{"properties":{"files":{"type":"array","items":{"type":"string"},"description":"List of uploaded files for this version.\n"},"synced":{"type":"boolean","description":"Whether the version is synced.\n"},"version":{"type":"string","description":"Version number.\n"}},"type":"object","required":["files","synced","version"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getInfraProviderVersionsVersion:getInfraProviderVersionsVersion":{"properties":{"platforms":{"type":"array","items":{"$ref":"#/types/harness:platform/getInfraProviderVersionsVersionPlatform:getInfraProviderVersionsVersionPlatform"},"description":"Supported platforms.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"Supported Terraform protocol versions.\n"},"version":{"type":"string","description":"Version number.\n"}},"type":"object","required":["platforms","protocols","version"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getInfraProviderVersionsVersionPlatform:getInfraProviderVersionsVersionPlatform":{"properties":{"arch":{"type":"string","description":"Architecture.\n"},"os":{"type":"string","description":"Operating system.\n"}},"type":"object","required":["arch","os"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getInfraProvidersProvider:getInfraProvidersProvider":{"properties":{"account":{"type":"string","description":"Account that owns the provider.\n"},"created":{"type":"integer","description":"Timestamp when the provider was created.\n"},"description":{"type":"string","description":"Description of the provider.\n"},"id":{"type":"string","description":"Unique identifier of the provider.\n"},"type":{"type":"string","description":"Provider type.\n"},"updated":{"type":"integer","description":"Timestamp when the provider was last updated.\n"}},"type":"object","required":["account","created","description","id","type","updated"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getInfraVariableSetConnector:getInfraVariableSetConnector":{"properties":{"connectorRef":{"type":"string","description":"Connector Ref is the reference to the connector\n"},"type":{"type":"string","description":"Type is the connector type of the connector. Supported types: aws, azure, gcp\n"}},"type":"object","required":["connectorRef","type"]},"harness:platform/getInfraVariableSetEnvironmentVariable:getInfraVariableSetEnvironmentVariable":{"properties":{"key":{"type":"string","description":"Key is the identifier for the variable. Must be unique within the Variable Set.\n"},"value":{"type":"string","description":"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.\n"},"valueType":{"type":"string","description":"Value type indicates the value type of the variable. Currently we support string and secret.\n"}},"type":"object","required":["key","value","valueType"]},"harness:platform/getInfraVariableSetTerraformVariable:getInfraVariableSetTerraformVariable":{"properties":{"key":{"type":"string","description":"Key is the identifier for the variable. Must be unique within the Variable Set.\n"},"value":{"type":"string","description":"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.\n"},"valueType":{"type":"string","description":"Value type indicates the value type of the variable. Currently we support string and secret.\n"}},"type":"object","required":["key","value","valueType"]},"harness:platform/getInfraVariableSetTerraformVariableFile:getInfraVariableSetTerraformVariableFile":{"properties":{"repository":{"type":"string","description":"Repository is the name of the repository to fetch the code from.\n"},"repositoryBranch":{"type":"string","description":"Repository branch is the name of the branch to fetch the variables from. This cannot be set if repository commit or sha is set\n"},"repositoryCommit":{"type":"string","description":"Repository commit is tag to fetch the variables from. This cannot be set if repository branch or sha is set.\n"},"repositoryConnector":{"type":"string","description":"Repository connector is the reference to the connector used to fetch the variables.\n"},"repositoryPath":{"type":"string","description":"Repository path is the path in which the variables reside.\n"},"repositorySha":{"type":"string","description":"Repository commit is SHA to fetch the variables from. This cannot be set if repository branch or commit is set.\n"}},"type":"object","required":["repository","repositoryConnector"]},"harness:platform/getInfrastructureGitDetails:getInfrastructureGitDetails":{"properties":{"branch":{"type":"string","description":"Name of the branch.\n"},"loadFromCache":{"type":"string","description":"If the Entity is to be fetched from cache\n"},"loadFromFallbackBranch":{"type":"boolean","description":"Load Infrastructure yaml from fallback branch\n"},"repoName":{"type":"string","description":"Repo name of remote Infrastructure\n"}},"type":"object","required":["branch","loadFromCache","loadFromFallbackBranch","repoName"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getInputSetGitDetails:getInputSetGitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branchName":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"Identifier of the Harness Connector used for CRUD operations on the Entity.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating Pipeline.\n"},"parentEntityConnectorRef":{"type":"string","description":"Connector reference for Parent Entity (Pipeline).\n"},"parentEntityRepoName":{"type":"string","description":"Repository name for Parent Entity (Pipeline).\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","required":["baseBranch","branchName","commitMessage","connectorRef","filePath","lastCommitId","lastObjectId","parentEntityConnectorRef","parentEntityRepoName","repoName","storeType"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getJenkinsConnectorAuth:getJenkinsConnectorAuth":{"properties":{"jenkinsBearerTokens":{"type":"array","items":{"$ref":"#/types/harness:platform/getJenkinsConnectorAuthJenkinsBearerToken:getJenkinsConnectorAuthJenkinsBearerToken"},"description":"Authenticate to App Dynamics using bearer token.\n"},"jenkinsUserNamePasswords":{"type":"array","items":{"$ref":"#/types/harness:platform/getJenkinsConnectorAuthJenkinsUserNamePassword:getJenkinsConnectorAuthJenkinsUserNamePassword"},"description":"Authenticate to App Dynamics using user name and password.\n"},"type":{"type":"string","description":"Can be one of UsernamePassword, Anonymous, BearerToken\n"}},"type":"object","required":["jenkinsBearerTokens","jenkinsUserNamePasswords","type"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getJenkinsConnectorAuthJenkinsBearerToken:getJenkinsConnectorAuthJenkinsBearerToken":{"properties":{"tokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["tokenRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getJenkinsConnectorAuthJenkinsUserNamePassword:getJenkinsConnectorAuthJenkinsUserNamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"Username reference to use for authentication.\n"}},"type":"object","required":["passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getJiraConnectorAuth:getJiraConnectorAuth":{"properties":{"authType":{"type":"string","description":"Authentication types for Jira connector\n"},"personalAccessTokens":{"type":"array","items":{"$ref":"#/types/harness:platform/getJiraConnectorAuthPersonalAccessToken:getJiraConnectorAuthPersonalAccessToken"},"description":"Authenticate using personal access token.\n"},"usernamePasswords":{"type":"array","items":{"$ref":"#/types/harness:platform/getJiraConnectorAuthUsernamePassword:getJiraConnectorAuthUsernamePassword"},"description":"Authenticate using username password.\n"}},"type":"object","required":["authType","personalAccessTokens","usernamePasswords"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getJiraConnectorAuthPersonalAccessToken:getJiraConnectorAuthPersonalAccessToken":{"properties":{"patRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["patRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getJiraConnectorAuthUsernamePassword:getJiraConnectorAuthUsernamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getKubernetesConnectorClientKeyCert:getKubernetesConnectorClientKeyCert":{"properties":{"caCertRef":{"type":"string","description":"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}.\n"},"clientCertRef":{"type":"string","description":"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}.\n"},"clientKeyAlgorithm":{"type":"string","description":"The algorithm used to generate the client key for the connector. Valid values are RSA, EC\n"},"clientKeyPassphraseRef":{"type":"string","description":"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}.\n"},"clientKeyRef":{"type":"string","description":"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}.\n"},"masterUrl":{"type":"string","description":"The URL of the Kubernetes cluster.\n"}},"type":"object","required":["caCertRef","clientCertRef","clientKeyAlgorithm","clientKeyPassphraseRef","clientKeyRef","masterUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getKubernetesConnectorInheritFromDelegate:getKubernetesConnectorInheritFromDelegate":{"properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Selectors to use for the delegate.\n"}},"type":"object","required":["delegateSelectors"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getKubernetesConnectorOpenidConnect:getKubernetesConnectorOpenidConnect":{"properties":{"clientIdRef":{"type":"string","description":"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}.\n"},"issuerUrl":{"type":"string","description":"The URL of the OpenID Connect issuer.\n"},"masterUrl":{"type":"string","description":"The URL of the Kubernetes cluster.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"scopes":{"type":"array","items":{"type":"string"},"description":"Scopes to request for the connector.\n"},"secretRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username for the connector.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["clientIdRef","issuerUrl","masterUrl","passwordRef","scopes","secretRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getKubernetesConnectorServiceAccount:getKubernetesConnectorServiceAccount":{"properties":{"masterUrl":{"type":"string","description":"The URL of the Kubernetes cluster.\n"},"serviceAccountTokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["masterUrl","serviceAccountTokenRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getKubernetesConnectorUsernamePassword:getKubernetesConnectorUsernamePassword":{"properties":{"masterUrl":{"type":"string","description":"The URL of the Kubernetes cluster.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username for the connector.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["masterUrl","passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getManualFreezeCurrentOrUpcomingWindow:getManualFreezeCurrentOrUpcomingWindow":{"properties":{"endTime":{"type":"integer","description":"End time of the freeze window\n"},"startTime":{"type":"integer","description":"Start time of the freeze window\n"}},"type":"object","required":["endTime","startTime"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getManualFreezeFreezeWindow:getManualFreezeFreezeWindow":{"properties":{"duration":{"type":"string","description":"Duration of the freeze window\n"},"endTime":{"type":"string","description":"End Time of the freeze window\n"},"recurrences":{"type":"array","items":{"$ref":"#/types/harness:platform/getManualFreezeFreezeWindowRecurrence:getManualFreezeFreezeWindowRecurrence"},"description":"Recurrence of the freeze window\n"},"startTime":{"type":"string","description":"Start Time of the freeze window\n"},"timeZone":{"type":"string","description":"Time zone of the freeze window\n"}},"type":"object","required":["duration","endTime","recurrences","startTime","timeZone"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getManualFreezeFreezeWindowRecurrence:getManualFreezeFreezeWindowRecurrence":{"properties":{"recurrenceSpecs":{"type":"array","items":{"$ref":"#/types/harness:platform/getManualFreezeFreezeWindowRecurrenceRecurrenceSpec:getManualFreezeFreezeWindowRecurrenceRecurrenceSpec"},"description":"Used to filter resources on their attributes\n"},"type":{"type":"string","description":"Type of the recurrence\n"}},"type":"object","required":["recurrenceSpecs","type"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getManualFreezeFreezeWindowRecurrenceRecurrenceSpec:getManualFreezeFreezeWindowRecurrenceRecurrenceSpec":{"properties":{"until":{"type":"string","description":"Time till which freeze window recurrs\n"},"value":{"type":"integer","description":"Every n months recurrence\n"}},"type":"object","required":["until","value"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getNexusConnectorCredential:getNexusConnectorCredential":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getOciHelmConnectorCredential:getOciHelmConnectorCredential":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getOverridesGitDetails:getOverridesGitDetails":{"properties":{"branch":{"type":"string","description":"Name of the branch.\n"},"loadFromCache":{"type":"boolean","description":"Load service yaml from fallback branch\n"},"loadFromFallbackBranch":{"type":"boolean","description":"Load service yaml from fallback branch\n"},"repoName":{"type":"string","description":"Repo name of remote service override\n"}},"type":"object","required":["branch","loadFromCache","loadFromFallbackBranch","repoName"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPermissionsPermission:getPermissionsPermission":{"properties":{"action":{"type":"string","description":"Action performed by the permission\n"},"allowedScopeLevels":{"type":"array","items":{"type":"string"},"description":"The scope levels at which this resource group can be used\n"},"identifier":{"type":"string","description":"Identifier of the permission\n"},"includeInAllRoles":{"type":"boolean","description":"Is included in all roles\n"},"name":{"type":"string","description":"Name of the permission\n"},"resourceType":{"type":"string","description":"Resource type for the given permission\n"},"status":{"type":"string","description":"Status of the permission\n"}},"type":"object","required":["action","allowedScopeLevels","identifier","includeInAllRoles","name","resourceType","status"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPipelineCentralNotificationRuleCustomNotificationTemplateRef:getPipelineCentralNotificationRuleCustomNotificationTemplateRef":{"properties":{"templateRef":{"type":"string"},"variables":{"type":"array","items":{"$ref":"#/types/harness:platform/getPipelineCentralNotificationRuleCustomNotificationTemplateRefVariable:getPipelineCentralNotificationRuleCustomNotificationTemplateRefVariable"}},"versionLabel":{"type":"string"}},"type":"object","required":["templateRef","versionLabel"]},"harness:platform/getPipelineCentralNotificationRuleCustomNotificationTemplateRefVariable:getPipelineCentralNotificationRuleCustomNotificationTemplateRefVariable":{"properties":{"name":{"type":"string"},"type":{"type":"string"},"value":{"type":"string"}},"type":"object","required":["name","value"]},"harness:platform/getPipelineCentralNotificationRuleNotificationCondition:getPipelineCentralNotificationRuleNotificationCondition":{"properties":{"conditionName":{"type":"string"},"notificationEventConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/getPipelineCentralNotificationRuleNotificationConditionNotificationEventConfig:getPipelineCentralNotificationRuleNotificationConditionNotificationEventConfig"}}},"type":"object","required":["conditionName","notificationEventConfigs"]},"harness:platform/getPipelineCentralNotificationRuleNotificationConditionNotificationEventConfig:getPipelineCentralNotificationRuleNotificationConditionNotificationEventConfig":{"properties":{"entityIdentifiers":{"type":"array","items":{"type":"string"}},"notificationEntity":{"type":"string"},"notificationEvent":{"type":"string","description":"The pipeline event that triggers the notification. Supported values: `PIPELINE_START`, `PIPELINE_SUCCESS`, `PIPELINE_FAILED`, `STAGE_START`, `STAGE_SUCCESS`, `STAGE_FAILED`.\n"},"notificationEventDatas":{"type":"array","items":{"$ref":"#/types/harness:platform/getPipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData:getPipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData"}}},"type":"object","required":["notificationEntity","notificationEvent"]},"harness:platform/getPipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData:getPipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventData":{"properties":{"scopeIdentifiers":{"type":"array","items":{"type":"string"}},"type":{"type":"string"}},"type":"object"},"harness:platform/getPipelineFiltersFilterProperty:getPipelineFiltersFilterProperty":{"properties":{"description":{"type":"string","description":"description of the pipline filter.\n"},"filterType":{"type":"string","description":"Corresponding Entity of the filters. Currently supported types are {Connector, DelegateProfile, Delegate, PipelineSetup, PipelineExecution, Deployment, Audit, Template, EnvironmentGroup, FileStore, CCMRecommendation, Anomaly, Environment}.\n"},"moduleProperties":{"$ref":"#/types/harness:platform/getPipelineFiltersFilterPropertyModuleProperties:getPipelineFiltersFilterPropertyModuleProperties","description":"module properties of the pipline filter.\n"},"name":{"type":"string","description":"Name of the pipeline filter.\n"},"pipelineIdentifiers":{"type":"array","items":{"type":"string"},"description":"Pipeline identifiers to filter on.\n"},"pipelineTags":{"type":"array","items":{"type":"object","additionalProperties":{"type":"string"}},"description":"Tags to associate with the pipeline. tags should be in the form of `{key:key1, value:key1value}`\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. Tags should be in the form `name:value`.\n"}},"type":"object","required":["description","filterType","moduleProperties","name","pipelineIdentifiers","pipelineTags","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPipelineFiltersFilterPropertyModuleProperties:getPipelineFiltersFilterPropertyModuleProperties":{"properties":{"cd":{"$ref":"#/types/harness:platform/getPipelineFiltersFilterPropertyModulePropertiesCd:getPipelineFiltersFilterPropertyModulePropertiesCd","description":"CD related properties to be filtered on.\n"},"ci":{"$ref":"#/types/harness:platform/getPipelineFiltersFilterPropertyModulePropertiesCi:getPipelineFiltersFilterPropertyModulePropertiesCi","description":"CI related properties to be filtered on.\n"}},"type":"object","required":["cd","ci"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPipelineFiltersFilterPropertyModulePropertiesCd:getPipelineFiltersFilterPropertyModulePropertiesCd":{"properties":{"artifactDisplayNames":{"type":"array","items":{"type":"string"},"description":"Artifact display names of the CD pipeline.\n"},"deploymentTypes":{"type":"string","description":"Deployment type of the CD pipeline, eg. Kubernetes\n"},"environmentNames":{"type":"array","items":{"type":"string"},"description":"Environment names of the CD pipeline.\n"},"serviceIdentifiers":{"type":"array","items":{"type":"string"},"description":"Service identifiers of the CD pipeline.\n"},"serviceNames":{"type":"array","items":{"type":"string"},"description":"Service names of the CD pipeline.\n"}},"type":"object","required":["artifactDisplayNames","deploymentTypes","environmentNames","serviceIdentifiers","serviceNames"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPipelineFiltersFilterPropertyModulePropertiesCi:getPipelineFiltersFilterPropertyModulePropertiesCi":{"properties":{"branch":{"type":"string","description":"Branch which was used while building.\n"},"buildType":{"type":"string","description":"Build type of the pipeline. Possible values: branch.\n"},"ciExecutionInfo":{"$ref":"#/types/harness:platform/getPipelineFiltersFilterPropertyModulePropertiesCiCiExecutionInfo:getPipelineFiltersFilterPropertyModulePropertiesCiCiExecutionInfo","description":"CI execution info for the pipeline.\n"},"repoNames":{"type":"string","description":"name of the repository used in the pipeline.\n"},"tag":{"type":"string","description":"Tags to associate with the CI pipeline resource.\n"}},"type":"object","required":["branch","buildType","ciExecutionInfo","repoNames","tag"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPipelineFiltersFilterPropertyModulePropertiesCiCiExecutionInfo:getPipelineFiltersFilterPropertyModulePropertiesCiCiExecutionInfo":{"properties":{"event":{"type":"string","description":"Event for the ci execution, Possible values: pullRequest.\n"},"pullRequest":{"$ref":"#/types/harness:platform/getPipelineFiltersFilterPropertyModulePropertiesCiCiExecutionInfoPullRequest:getPipelineFiltersFilterPropertyModulePropertiesCiCiExecutionInfoPullRequest","description":"The pull request details of the CI pipeline.\n"}},"type":"object","required":["event","pullRequest"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPipelineFiltersFilterPropertyModulePropertiesCiCiExecutionInfoPullRequest:getPipelineFiltersFilterPropertyModulePropertiesCiCiExecutionInfoPullRequest":{"properties":{"sourceBranch":{"type":"string","description":"Source branch of the pull request.\n"},"targetBranch":{"type":"string","description":"Target branch of the pull request.\n"}},"type":"object","required":["sourceBranch","targetBranch"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPipelineGitDetails:getPipelineGitDetails":{"properties":{"baseBranch":{"type":"string","description":"Name of the default branch (this checks out a new branch titled by branch_name).\n"},"branchName":{"type":"string","description":"Name of the branch.\n"},"commitMessage":{"type":"string","description":"Commit message used for the merge commit.\n"},"connectorRef":{"type":"string","description":"Identifier of the Harness Connector used for CRUD operations on the Entity.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating Pipeline.\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"storeType":{"type":"string","description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n"}},"type":"object","required":["baseBranch","branchName","commitMessage","connectorRef","filePath","lastCommitId","lastObjectId","repoName","storeType"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPipelineListPipeline:getPipelineListPipeline":{"properties":{"identifier":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["identifier","name"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPolicySetPolicy:getPolicySetPolicy":{"properties":{"identifier":{"type":"string","description":"Unique identifier of the policy\n"},"severity":{"type":"string","description":"Policy failure response - 'warning' for continuation, 'error' for exit\n"}},"type":"object","required":["identifier","severity"]},"harness:platform/getPolicySetPolicyReference:getPolicySetPolicyReference":{"properties":{"identifier":{"type":"string","description":"Unique identifier of the policy\n"},"severity":{"type":"string","description":"Policy failure response - 'warning' for continuation, 'error' for exit\n"}},"type":"object","required":["identifier","severity"]},"harness:platform/getProjectListProject:getProjectListProject":{"properties":{"identifier":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["identifier","name"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getPrometheusConnectorHeader:getPrometheusConnectorHeader":{"properties":{"encryptedValueRef":{"type":"string","description":"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}.\n"},"key":{"type":"string","description":"Key.\n"},"value":{"type":"string","description":"Value.\n"},"valueEncrypted":{"type":"boolean","description":"Encrypted value.\n"}},"type":"object","required":["encryptedValueRef","key","value","valueEncrypted"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getRepoRuleBranchBypass:getRepoRuleBranchBypass":{"properties":{"repoOwners":{"type":"boolean","description":"Allow users with repository edit permission to bypass.\n"},"userIds":{"type":"array","items":{"type":"string"},"description":"List of user ids with who can bypass.\n"}},"type":"object"},"harness:platform/getRepoRuleBranchPattern:getRepoRuleBranchPattern":{"properties":{"defaultBranch":{"type":"boolean","description":"Should rule apply to default branch of the repository.\n"},"excludes":{"type":"array","items":{"type":"string"},"description":"Globstar branch patterns on which rules will NOT be applied.\n"},"includes":{"type":"array","items":{"type":"string"},"description":"Globstar branch patterns on which rules will be applied.\n"}},"type":"object"},"harness:platform/getRepoRuleBranchPolicy:getRepoRuleBranchPolicy":{"properties":{"allowMergeStrategies":{"type":"array","items":{"type":"string"},"description":"Limit which merge strategies are available to merge a pull request(Any of squash, rebase, merge).\n"},"blockBranchCreation":{"type":"boolean","description":"Only allow users with bypass permission to create matching branches.\n"},"blockBranchDeletion":{"type":"boolean","description":"Only allow users with bypass permission to delete matching branches.\n"},"deleteBranchOnMerge":{"type":"boolean","description":"Automatically delete the source branch of a pull request after it is merged.\n"},"requireCodeOwners":{"type":"boolean","description":"Require approval on pull requests from one reviewer for each codeowner rule.\n"},"requireLatestCommitApproval":{"type":"boolean","description":"Require re-approval when there are new changes in the pull request.\n"},"requireMinimumApprovalCount":{"type":"integer","description":"Require approval on pull requests from a minimum number of reviewers.\n"},"requireNoChangeRequest":{"type":"boolean","description":"Require all request for changes have been resolved.\n"},"requirePullRequest":{"type":"boolean","description":"Do not allow any changes to matching branches without a pull request.\n"},"requireResolveAllComments":{"type":"boolean","description":"All comments on a pull request must be resolved before it can be merged.\n"},"requireStatusChecks":{"type":"array","items":{"type":"string"},"description":"Selected status checks must pass before a pull request can be merged.\n"}},"type":"object"},"harness:platform/getRepoSource:getRepoSource":{"properties":{"host":{"type":"string","description":"The host URL for the import source.\n"},"password":{"type":"string","description":"The password for authentication when importing.\n","secret":true},"repo":{"type":"string","description":"The full identifier of the repository on the SCM provider's platform.\n"},"type":{"type":"string","description":"The type of SCM provider (github, gitlab, bitbucket, stash, gitea, gogs) when importing.\n"},"username":{"type":"string","description":"The username for authentication when importing.\n"}},"type":"object"},"harness:platform/getResourceGroupIncludedScope:getResourceGroupIncludedScope":{"properties":{"accountId":{"type":"string","description":"Account Identifier of the account\n"},"filter":{"type":"string","description":"Can be one of these 2 EXCLUDING_CHILD_SCOPES or INCLUDING_CHILD_SCOPES\n"},"orgId":{"type":"string","description":"Organization Identifier\n"},"projectId":{"type":"string","description":"Project Identifier\n"}},"type":"object","required":["accountId","filter","orgId","projectId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getResourceGroupResourceFilter:getResourceGroupResourceFilter":{"properties":{"includeAllResources":{"type":"boolean","description":"Include all resource or not\n"},"resources":{"type":"array","items":{"$ref":"#/types/harness:platform/getResourceGroupResourceFilterResource:getResourceGroupResourceFilterResource"},"description":"Resources for a resource group\n"}},"type":"object","required":["includeAllResources","resources"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getResourceGroupResourceFilterResource:getResourceGroupResourceFilterResource":{"properties":{"attributeFilters":{"type":"array","items":{"$ref":"#/types/harness:platform/getResourceGroupResourceFilterResourceAttributeFilter:getResourceGroupResourceFilterResourceAttributeFilter"},"description":"Used to filter resources on their attributes\n"},"identifiers":{"type":"array","items":{"type":"string"},"description":"List of the identifiers\n"},"resourceType":{"type":"string","description":"Type of the resource\n"}},"type":"object","required":["attributeFilters","identifiers","resourceType"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getResourceGroupResourceFilterResourceAttributeFilter:getResourceGroupResourceFilterResourceAttributeFilter":{"properties":{"attributeName":{"type":"string","description":"Name of the attribute\n"},"attributeValues":{"type":"array","items":{"type":"string"},"description":"Value of the attributes\n"}},"type":"object","required":["attributeName","attributeValues"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getRoleAssignmentsPrincipal:getRoleAssignmentsPrincipal":{"properties":{"identifier":{"type":"string","description":"Identifier.\n"},"scopeLevel":{"type":"string","description":"Scope level.\n"},"type":{"type":"string","description":"Type.\n"}},"type":"object","required":["identifier","scopeLevel","type"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretFileAdditionalMetadata:getSecretFileAdditionalMetadata":{"properties":{"values":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretFileAdditionalMetadataValue:getSecretFileAdditionalMetadataValue"}}},"type":"object"},"harness:platform/getSecretFileAdditionalMetadataValue:getSecretFileAdditionalMetadataValue":{"properties":{"gcpProjectId":{"type":"string","description":"GCP Project ID (for GCP Secret Manager)\n"},"kmsKeyId":{"type":"string","description":"KMS Key ID (for AWS Secret Manager)\n"},"regions":{"type":"string","description":"GCP region for the secret (for GCP Secret Manager)\n"},"version":{"type":"string","description":"Version of the secret (for AWS/Azure Secret Manager)\n"}},"type":"object"},"harness:platform/getSecretSshkeyKerbero:getSecretSshkeyKerbero":{"properties":{"principal":{"type":"string","description":"Username to use for authentication.\n"},"realm":{"type":"string","description":"Reference to a secret containing the password to use for authentication.\n"},"tgtGenerationMethod":{"type":"string","description":"Method to generate tgt\n"},"tgtKeyTabFilePathSpecs":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretSshkeyKerberoTgtKeyTabFilePathSpec:getSecretSshkeyKerberoTgtKeyTabFilePathSpec"},"description":"Authenticate to App Dynamics using username and password.\n"},"tgtPasswordSpecs":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretSshkeyKerberoTgtPasswordSpec:getSecretSshkeyKerberoTgtPasswordSpec"},"description":"Authenticate to App Dynamics using username and password.\n"}},"type":"object","required":["principal","realm","tgtGenerationMethod","tgtKeyTabFilePathSpecs","tgtPasswordSpecs"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretSshkeyKerberoTgtKeyTabFilePathSpec:getSecretSshkeyKerberoTgtKeyTabFilePathSpec":{"properties":{"keyPath":{"type":"string","description":"key path\n"}},"type":"object","required":["keyPath"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretSshkeyKerberoTgtPasswordSpec:getSecretSshkeyKerberoTgtPasswordSpec":{"properties":{"password":{"type":"string","description":"password\n","secret":true}},"type":"object","required":["password"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretSshkeySsh:getSecretSshkeySsh":{"properties":{"credentialType":{"type":"string","description":"This specifies SSH credential type as Password, KeyPath or KeyReference\n"},"sshPasswordCredentials":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretSshkeySshSshPasswordCredential:getSecretSshkeySshSshPasswordCredential"},"description":"SSH credential of type keyReference\n"},"sshkeyPathCredentials":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretSshkeySshSshkeyPathCredential:getSecretSshkeySshSshkeyPathCredential"},"description":"SSH credential of type keyPath\n"},"sshkeyReferenceCredentials":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretSshkeySshSshkeyReferenceCredential:getSecretSshkeySshSshkeyReferenceCredential"},"description":"SSH credential of type keyReference\n"}},"type":"object","required":["credentialType","sshPasswordCredentials","sshkeyPathCredentials","sshkeyReferenceCredentials"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretSshkeySshSshPasswordCredential:getSecretSshkeySshSshPasswordCredential":{"properties":{"password":{"type":"string","description":"SSH Password.\n","secret":true},"userName":{"type":"string","description":"SSH Username.\n"}},"type":"object","required":["password","userName"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretSshkeySshSshkeyPathCredential:getSecretSshkeySshSshkeyPathCredential":{"properties":{"encryptedPassphrase":{"type":"string","description":"Encrypted Passphrase\n","secret":true},"keyPath":{"type":"string","description":"Path of the key file.\n"},"userName":{"type":"string","description":"SSH Username.\n"}},"type":"object","required":["encryptedPassphrase","keyPath","userName"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretSshkeySshSshkeyReferenceCredential:getSecretSshkeySshSshkeyReferenceCredential":{"properties":{"encryptedAssphrase":{"type":"string","description":"Encrypted Passphrase\n","secret":true},"key":{"type":"string","description":"SSH key.\n"},"userName":{"type":"string","description":"SSH Username.\n"}},"type":"object","required":["encryptedAssphrase","key","userName"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretTextAdditionalMetadata:getSecretTextAdditionalMetadata":{"properties":{"values":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretTextAdditionalMetadataValue:getSecretTextAdditionalMetadataValue"}}},"type":"object"},"harness:platform/getSecretTextAdditionalMetadataValue:getSecretTextAdditionalMetadataValue":{"properties":{"gcpProjectId":{"type":"string","description":"GCP Project ID (for GCP Secret Manager)\n"},"kmsKeyId":{"type":"string","description":"KMS Key ID (for AWS Secret Manager)\n"},"regions":{"type":"string","description":"GCP region for the secret (for GCP Secret Manager)\n"},"version":{"type":"string","description":"Version of the secret (for AWS/Azure Secret Manager)\n"}},"type":"object"},"harness:platform/getSecretWinrmKerbero:getSecretWinrmKerbero":{"properties":{"principal":{"type":"string","description":"Kerberos principal.\n"},"realm":{"type":"string","description":"Kerberos realm.\n"},"skipCertCheck":{"type":"boolean","description":"Skip certificate verification.\n"},"tgtGenerationMethod":{"type":"string","description":"Method to generate TGT (Ticket Granting Ticket).\n"},"tgtKeyTabFilePathSpecs":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretWinrmKerberoTgtKeyTabFilePathSpec:getSecretWinrmKerberoTgtKeyTabFilePathSpec"},"description":"TGT generation using key tab file.\n"},"tgtPasswordSpecs":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretWinrmKerberoTgtPasswordSpec:getSecretWinrmKerberoTgtPasswordSpec"},"description":"TGT generation using password.\n"},"useNoProfile":{"type":"boolean","description":"Use no profile.\n"},"useSsl":{"type":"boolean","description":"Use SSL/TLS for WinRM communication.\n"}},"type":"object","required":["principal","realm","skipCertCheck","tgtGenerationMethod","tgtKeyTabFilePathSpecs","tgtPasswordSpecs","useNoProfile","useSsl"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretWinrmKerberoTgtKeyTabFilePathSpec:getSecretWinrmKerberoTgtKeyTabFilePathSpec":{"properties":{"keyPath":{"type":"string","description":"Path to the key tab file.\n"}},"type":"object","required":["keyPath"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretWinrmKerberoTgtPasswordSpec:getSecretWinrmKerberoTgtPasswordSpec":{"properties":{"passwordRef":{"type":"string","description":"Reference to a secret containing the password.\n"}},"type":"object","required":["passwordRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSecretWinrmNtlm:getSecretWinrmNtlm":{"properties":{"domain":{"type":"string","description":"Domain name for NTLM authentication.\n"},"passwordRef":{"type":"string","description":"Reference to a secret containing the password to use for authentication.\n"},"skipCertCheck":{"type":"boolean","description":"Skip certificate verification.\n"},"useNoProfile":{"type":"boolean","description":"Use no profile.\n"},"useSsl":{"type":"boolean","description":"Use SSL/TLS for WinRM communication.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"}},"type":"object","required":["domain","passwordRef","skipCertCheck","useNoProfile","useSsl","username"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getServiceGitDetails:getServiceGitDetails":{"properties":{"branch":{"type":"string","description":"Name of the branch.\n"},"loadFromFallbackBranch":{"type":"boolean","description":"Load service yaml from fallback branch\n"},"repoName":{"type":"string","description":"Repo name of remote service\n"}},"type":"object","required":["branch","loadFromFallbackBranch","repoName"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getServiceListService:getServiceListService":{"properties":{"identifier":{"type":"string"},"name":{"type":"string"}},"type":"object","required":["identifier","name"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getServiceNowConnectorAuth:getServiceNowConnectorAuth":{"properties":{"adfs":{"type":"array","items":{"$ref":"#/types/harness:platform/getServiceNowConnectorAuthAdf:getServiceNowConnectorAuthAdf"},"description":"Authenticate using adfs client credentials with certificate.\n"},"authType":{"type":"string","description":"Authentication types for Jira connector\n"},"refreshTokens":{"type":"array","items":{"$ref":"#/types/harness:platform/getServiceNowConnectorAuthRefreshToken:getServiceNowConnectorAuthRefreshToken"},"description":"Authenticate using refresh token grant type.\n"},"usernamePasswords":{"type":"array","items":{"$ref":"#/types/harness:platform/getServiceNowConnectorAuthUsernamePassword:getServiceNowConnectorAuthUsernamePassword"},"description":"Authenticate using username password.\n"}},"type":"object","required":["adfs","authType","refreshTokens","usernamePasswords"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getServiceNowConnectorAuthAdf:getServiceNowConnectorAuthAdf":{"properties":{"adfsUrl":{"type":"string","description":"asdf URL.\n"},"certificateRef":{"type":"string","description":"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}.\n"},"clientIdRef":{"type":"string","description":"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}.\n"},"privateKeyRef":{"type":"string","description":"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}.\n"},"resourceIdRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["adfsUrl","certificateRef","clientIdRef","privateKeyRef","resourceIdRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getServiceNowConnectorAuthRefreshToken:getServiceNowConnectorAuthRefreshToken":{"properties":{"clientIdRef":{"type":"string","description":"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}.\n"},"clientSecretRef":{"type":"string","description":"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}.\n"},"refreshTokenRef":{"type":"string","description":"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}.\n"},"scope":{"type":"string","description":"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}.\n"},"tokenUrl":{"type":"string","description":"Token url to use for authentication.\n"}},"type":"object","required":["clientIdRef","clientSecretRef","refreshTokenRef","scope","tokenUrl"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getServiceNowConnectorAuthUsernamePassword:getServiceNowConnectorAuthUsernamePassword":{"properties":{"passwordRef":{"type":"string","description":"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}.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getServiceOverridesV2GitDetails:getServiceOverridesV2GitDetails":{"properties":{"branch":{"type":"string","description":"Name of the branch.\n"},"loadFromCache":{"type":"boolean","description":"Load service yaml from fallback branch\n"},"loadFromFallbackBranch":{"type":"boolean","description":"Load service yaml from fallback branch\n"},"repoName":{"type":"string","description":"Repo name of remote service override\n"}},"type":"object","required":["branch","loadFromCache","loadFromFallbackBranch","repoName"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getSpotConnectorPermanentToken:getSpotConnectorPermanentToken":{"properties":{"apiTokenRef":{"type":"string","description":"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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Connect only using delegates with these tags.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"spotAccountId":{"type":"string","description":"Spot account id.\n"},"spotAccountIdRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["apiTokenRef","delegateSelectors","executeOnDelegate","spotAccountId","spotAccountIdRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getTasConnectorCredential:getTasConnectorCredential":{"properties":{"tasManualDetails":{"type":"array","items":{"$ref":"#/types/harness:platform/getTasConnectorCredentialTasManualDetail:getTasConnectorCredentialTasManualDetail"},"description":"Authenticate to Tas using manual details.\n"},"type":{"type":"string","description":"Type can be ManualConfig.\n"}},"type":"object","required":["tasManualDetails","type"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getTasConnectorCredentialTasManualDetail:getTasConnectorCredentialTasManualDetail":{"properties":{"endpointUrl":{"type":"string","description":"URL of the Tas server.\n"},"passwordRef":{"type":"string","description":"Reference of the secret for the password.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"Reference to a secret containing the username to use for authentication.\n"}},"type":"object","required":["endpointUrl","passwordRef","username","usernameRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getTemplateFiltersFilterProperty:getTemplateFiltersFilterProperty":{"properties":{"filterType":{"type":"string","description":"Corresponding Entity of the filters. Currently supported types are {Connector, DelegateProfile, Delegate, TemplateSetup, TemplateExecution, Deployment, Audit, Template, EnvironmentGroup, FileStore, CCMRecommendation, Anomaly, Environment}.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. Tags should be in the form `name:value`.\n"}},"type":"object","required":["filterType","tags"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getTemplateGitDetails:getTemplateGitDetails":{"properties":{"branchName":{"type":"string","description":"Name of the branch.\n"},"filePath":{"type":"string","description":"File path of the Entity in the repository.\n"},"fileUrl":{"type":"string","description":"File url of the Entity in the repository.\n"},"lastCommitId":{"type":"string","description":"Last commit identifier (for Git Repositories other than Github). To be provided only when updating Pipeline.\n"},"lastObjectId":{"type":"string","description":"Last object identifier (for Github). To be provided only when updating Pipeline.\n"},"repoName":{"type":"string","description":"Name of the repository.\n"},"repoUrl":{"type":"string","description":"Repo url of the Entity in the repository.\n"}},"type":"object","required":["lastCommitId","lastObjectId"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getTerraformCloudConnectorCredential:getTerraformCloudConnectorCredential":{"properties":{"apiTokens":{"type":"array","items":{"$ref":"#/types/harness:platform/getTerraformCloudConnectorCredentialApiToken:getTerraformCloudConnectorCredentialApiToken"},"description":"API token credentials to use for authentication.\n"}},"type":"object","required":["apiTokens"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getTerraformCloudConnectorCredentialApiToken:getTerraformCloudConnectorCredentialApiToken":{"properties":{"apiTokenRef":{"type":"string","description":"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}.\n"}},"type":"object","required":["apiTokenRef"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getUsergroupNotificationConfig:getUsergroupNotificationConfig":{"properties":{"groupEmail":{"type":"string","description":"Group email.\n"},"microsoftTeamsWebhookUrl":{"type":"string","description":"Url of Microsoft teams webhook.\n"},"pagerDutyKey":{"type":"string","description":"Pager duty key.\n"},"sendEmailToAllUsers":{"type":"boolean","description":"Send email to all the group members.\n"},"slackWebhookUrl":{"type":"string","description":"Url of slack webhook.\n"},"type":{"type":"string","description":"Can be one of EMAIL, SLACK, PAGERDUTY, MSTEAMS.\n"}},"type":"object","required":["groupEmail","microsoftTeamsWebhookUrl","pagerDutyKey","sendEmailToAllUsers","slackWebhookUrl","type"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getVariablesSpec:getVariablesSpec":{"properties":{"fixedValue":{"type":"string","description":"FixedValue of the variable\n"},"valueType":{"type":"string","description":"Type of Value of the Variable. For now only FIXED is supported\n"}},"type":"object","required":["fixedValue","valueType"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getWorkspaceConnector:getWorkspaceConnector":{"properties":{"connectorRef":{"type":"string","description":"Connector Ref is the reference to the connector\n"},"type":{"type":"string","description":"Type is the connector type of the connector. Supported types: aws, azure, gcp\n"}},"type":"object","required":["connectorRef","type"]},"harness:platform/getWorkspaceEnvironmentVariable:getWorkspaceEnvironmentVariable":{"properties":{"key":{"type":"string","description":"Key is the identifier for the variable`\n"},"value":{"type":"string","description":"value is the value of the variable\n"},"valueType":{"type":"string","description":"Value type indicates the value type of the variable, text or secret\n"}},"type":"object","required":["key","value","valueType"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getWorkspaceOutputValueOutputValue:getWorkspaceOutputValueOutputValue":{"properties":{"name":{"type":"string","description":"Name associated with the output.\n"},"sensitive":{"type":"boolean","description":"Indicates if the output is sensitive.\n"},"value":{"type":"string","description":"Value of the output.\n"}},"type":"object","required":["name","sensitive","value"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getWorkspaceTerraformVariable:getWorkspaceTerraformVariable":{"properties":{"key":{"type":"string","description":"Key is the identifier for the variable`\n"},"value":{"type":"string","description":"value is the value of the variable\n"},"valueType":{"type":"string","description":"Value type indicates the value type of the variable, text or secret\n"}},"type":"object","required":["key","value","valueType"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:platform/getWorkspaceTerraformVariableFile:getWorkspaceTerraformVariableFile":{"properties":{"repository":{"type":"string","description":"Repository is the name of the repository to fetch the code from.\n"},"repositoryBranch":{"type":"string","description":"Repository branch is the name of the branch to fetch the variables from. This cannot be set if repository commit or sha is set\n"},"repositoryCommit":{"type":"string","description":"Repository commit is tag to fetch the variables from. This cannot be set if repository branch or sha is set.\n"},"repositoryConnector":{"type":"string","description":"Repository connector is the reference to the connector used to fetch the variables.\n"},"repositoryPath":{"type":"string","description":"Repository path is the path in which the variables reside.\n"},"repositorySha":{"type":"string","description":"Repository commit is SHA to fetch the variables from. This cannot be set if repository branch or commit is set.\n"}},"type":"object","required":["repository","repositoryBranch","repositoryCommit","repositoryConnector","repositoryPath","repositorySha"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/AmiVariable:AmiVariable":{"properties":{"name":{"type":"string","description":"Name of the variable\n"},"type":{"type":"string","description":"Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT'\n"},"value":{"type":"string","description":"Value of the variable\n"}},"type":"object","required":["name","type","value"]},"harness:service/CodedeployVariable:CodedeployVariable":{"properties":{"name":{"type":"string","description":"Name of the variable\n"},"type":{"type":"string","description":"Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT'\n"},"value":{"type":"string","description":"Value of the variable\n"}},"type":"object","required":["name","type","value"]},"harness:service/DiscoveryAgentConfig:DiscoveryAgentConfig":{"properties":{"collectorImage":{"type":"string","description":"Docker image for the collector.\n"},"datas":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfigData:DiscoveryAgentConfigData"},"description":"Data collection configuration.\n"},"imagePullSecrets":{"type":"array","items":{"type":"string"},"description":"List of image pull secrets.\n"},"kubernetes":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfigKubernete:DiscoveryAgentConfigKubernete"},"description":"Kubernetes-specific configuration.\n"},"logWatcherImage":{"type":"string","description":"Docker image for the log watcher.\n"},"mtls":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfigMtl:DiscoveryAgentConfigMtl"},"description":"mTLS configuration.\n"},"proxies":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfigProxy:DiscoveryAgentConfigProxy"},"description":"Proxy configuration.\n"},"skipSecureVerify":{"type":"boolean","description":"Whether to skip TLS verification.\n"}},"type":"object","required":["kubernetes"],"language":{"nodejs":{"requiredOutputs":["datas","kubernetes"]}}},"harness:service/DiscoveryAgentConfigData:DiscoveryAgentConfigData":{"properties":{"blacklistedNamespaces":{"type":"array","items":{"type":"string"},"description":"List of namespaces to exclude from discovery.\n"},"collectionWindowInMin":{"type":"integer","description":"Collection window in minutes.\n"},"crons":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfigDataCron:DiscoveryAgentConfigDataCron"},"description":"Cron schedule for data collection.\n"},"enableBatchResources":{"type":"boolean","description":"Whether to enable batch resources.\n"},"enableNodeAgent":{"type":"boolean","description":"Whether to enable node agent.\n"},"enableOrphanedPod":{"type":"boolean","description":"Whether to enable orphaned pod detection.\n"},"namespaceSelector":{"type":"string","description":"Namespace selector for the agent.\n"},"nodeAgentSelector":{"type":"string","description":"Node selector for the node agent.\n"},"observedNamespaces":{"type":"array","items":{"type":"string"},"description":"List of namespaces to observe.\n"}},"type":"object"},"harness:service/DiscoveryAgentConfigDataCron:DiscoveryAgentConfigDataCron":{"properties":{"expression":{"type":"string","description":"Cron expression for scheduling.\n"}},"type":"object"},"harness:service/DiscoveryAgentConfigKubernete:DiscoveryAgentConfigKubernete":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to add to all resources.\n"},"disableNamespaceCreation":{"type":"boolean","description":"Whether to disable namespace creation.\n"},"imagePullPolicy":{"type":"string","description":"The image pull policy.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to add to all resources.\n"},"namespace":{"type":"string","description":"Kubernetes namespace to use\n"},"namespaced":{"type":"boolean","description":"Whether the agent is namespaced.\n"},"nodeSelector":{"type":"object","additionalProperties":{"type":"string"},"description":"Node selector labels.\n"},"resources":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfigKuberneteResource:DiscoveryAgentConfigKuberneteResource"},"description":"Compute resource requirements for the agent container.\n"},"runAsGroup":{"type":"integer","description":"The group ID to run as.\n"},"runAsUser":{"type":"integer","description":"The user ID to run as.\n"},"serviceAccount":{"type":"string","description":"Service account to use\n"},"tolerations":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfigKuberneteToleration:DiscoveryAgentConfigKuberneteToleration"},"description":"Tolerations for pod assignment.\n"}},"type":"object","required":["namespace"]},"harness:service/DiscoveryAgentConfigKuberneteResource:DiscoveryAgentConfigKuberneteResource":{"properties":{"limits":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfigKuberneteResourceLimit:DiscoveryAgentConfigKuberneteResourceLimit"},"description":"Maximum amount of compute resources allowed.\n"},"requests":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfigKuberneteResourceRequest:DiscoveryAgentConfigKuberneteResourceRequest"},"description":"Minimum amount of compute resources required.\n"}},"type":"object"},"harness:service/DiscoveryAgentConfigKuberneteResourceLimit:DiscoveryAgentConfigKuberneteResourceLimit":{"properties":{"cpu":{"type":"string","description":"CPU limit in CPU units (e.g., 500m = 0.5 CPU, 2 = 2 CPUs).\n"},"memory":{"type":"string","description":"Memory limit in bytes (e.g., 128Mi, 1Gi).\n"}},"type":"object"},"harness:service/DiscoveryAgentConfigKuberneteResourceRequest:DiscoveryAgentConfigKuberneteResourceRequest":{"properties":{"cpu":{"type":"string","description":"CPU request in CPU units (e.g., 100m = 0.1 CPU).\n"},"memory":{"type":"string","description":"Memory request in bytes (e.g., 128Mi, 1Gi).\n"}},"type":"object"},"harness:service/DiscoveryAgentConfigKuberneteToleration:DiscoveryAgentConfigKuberneteToleration":{"properties":{"effect":{"type":"string","description":"Effect indicates the taint effect to match.\n"},"key":{"type":"string","description":"The taint key that the toleration applies to.\n"},"operator":{"type":"string","description":"Operator represents a key's relationship to the value.\n"},"tolerationSeconds":{"type":"integer","description":"TolerationSeconds represents the period of time the toleration tolerates the taint.\n"},"value":{"type":"string","description":"The taint value the toleration matches to.\n"}},"type":"object","required":["effect","key","operator"]},"harness:service/DiscoveryAgentConfigMtl:DiscoveryAgentConfigMtl":{"properties":{"certPath":{"type":"string","description":"Path to the certificate file.\n"},"keyPath":{"type":"string","description":"Path to the key file.\n"},"secretName":{"type":"string","description":"Name of the Kubernetes secret containing the certificate and key.\n"},"url":{"type":"string","description":"URL of the mTLS server.\n"}},"type":"object"},"harness:service/DiscoveryAgentConfigProxy:DiscoveryAgentConfigProxy":{"properties":{"httpProxy":{"type":"string","description":"HTTP proxy URL.\n"},"httpsProxy":{"type":"string","description":"HTTPS proxy URL.\n"},"noProxy":{"type":"string","description":"Comma-separated list of hosts that should not use the proxy.\n"},"url":{"type":"string","description":"Proxy server URL.\n"}},"type":"object"},"harness:service/DiscoveryAgentInstallationDetail:DiscoveryAgentInstallationDetail":{"properties":{"accountIdentifier":{"type":"string","description":"The account identifier for the installation.\n"},"agentDetails":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentInstallationDetailAgentDetail:DiscoveryAgentInstallationDetailAgentDetail"},"description":"Details about the installed agent.\n"},"agentId":{"type":"string","description":"The ID of the installed agent.\n"},"createdAt":{"type":"string","description":"The timestamp when the installation was created.\n"},"createdBy":{"type":"string","description":"The user who created the installation.\n"},"delegateId":{"type":"string","description":"The ID of the delegate used for installation.\n"},"delegateTaskId":{"type":"string","description":"The ID of the delegate task for the installation.\n"},"delegateTaskStatus":{"type":"string","description":"The status of the delegate task (e.g., 'SUCCESS').\n"},"environmentIdentifier":{"type":"string","description":"The environment identifier for the installation.\n"},"id":{"type":"string","description":"The unique identifier of the installation.\n"},"isCronTriggered":{"type":"boolean","description":"Whether the installation was triggered by a cron job.\n"},"logStreamCreatedAt":{"type":"string","description":"The timestamp when the log stream was created.\n"},"logStreamId":{"type":"string","description":"The ID of the log stream for the installation.\n"},"organizationIdentifier":{"type":"string","description":"The organization identifier for the installation.\n"},"projectIdentifier":{"type":"string","description":"The project identifier for the installation.\n"},"removed":{"type":"boolean","description":"Whether the installation has been removed.\n"},"stopped":{"type":"boolean","description":"Whether the installation has been stopped.\n"},"updatedAt":{"type":"string","description":"The timestamp when the installation was last updated.\n"},"updatedBy":{"type":"string","description":"The user who last updated the installation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["accountIdentifier","agentDetails","agentId","createdAt","createdBy","delegateId","delegateTaskId","delegateTaskStatus","environmentIdentifier","id","isCronTriggered","logStreamCreatedAt","logStreamId","organizationIdentifier","projectIdentifier","removed","stopped","updatedAt","updatedBy"]}}},"harness:service/DiscoveryAgentInstallationDetailAgentDetail:DiscoveryAgentInstallationDetailAgentDetail":{"properties":{"clusters":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentInstallationDetailAgentDetailCluster:DiscoveryAgentInstallationDetailAgentDetailCluster"},"description":"Details about the cluster where the agent is installed.\n"},"status":{"type":"string","description":"The status of the agent installation.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["clusters","status"]}}},"harness:service/DiscoveryAgentInstallationDetailAgentDetailCluster:DiscoveryAgentInstallationDetailAgentDetailCluster":{"properties":{"name":{"type":"string","description":"The name of the cluster.\n"},"namespace":{"type":"string","description":"The namespace where the agent is installed.\n"},"status":{"type":"string","description":"The status of the cluster (e.g., 'Succeeded').\n"},"uid":{"type":"string","description":"The UID of the cluster.\n"}},"type":"object","language":{"nodejs":{"requiredOutputs":["name","namespace","status","uid"]}}},"harness:service/DiscoverySettingImageRegistry:DiscoverySettingImageRegistry":{"properties":{"account":{"type":"string","description":"The account name for the image registry.\n"},"secrets":{"type":"array","items":{"type":"string"},"description":"List of secrets for the image registry.\n"},"server":{"type":"string","description":"The server URL for the image registry.\n"}},"type":"object","required":["account","server"]},"harness:service/EcsVariable:EcsVariable":{"properties":{"name":{"type":"string","description":"Name of the variable\n"},"type":{"type":"string","description":"Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT'\n"},"value":{"type":"string","description":"Value of the variable\n"}},"type":"object","required":["name","type","value"]},"harness:service/HelmVariable:HelmVariable":{"properties":{"name":{"type":"string","description":"Name of the variable\n"},"type":{"type":"string","description":"Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT'\n"},"value":{"type":"string","description":"Value of the variable\n"}},"type":"object","required":["name","type","value"]},"harness:service/KubernetesVariable:KubernetesVariable":{"properties":{"name":{"type":"string","description":"Name of the variable\n"},"type":{"type":"string","description":"Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT'\n"},"value":{"type":"string","description":"Value of the variable\n"}},"type":"object","required":["name","type","value"]},"harness:service/LambdaVariable:LambdaVariable":{"properties":{"name":{"type":"string","description":"Name of the variable\n"},"type":{"type":"string","description":"Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT'\n"},"value":{"type":"string","description":"Value of the variable\n"}},"type":"object","required":["name","type","value"]},"harness:service/SshVariable:SshVariable":{"properties":{"name":{"type":"string","description":"Name of the variable\n"},"type":{"type":"string","description":"Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT'\n"},"value":{"type":"string","description":"Value of the variable\n"}},"type":"object","required":["name","type","value"]},"harness:service/TanzuVariable:TanzuVariable":{"properties":{"name":{"type":"string","description":"Name of the variable\n"},"type":{"type":"string","description":"Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT'\n"},"value":{"type":"string","description":"Value of the variable\n"}},"type":"object","required":["name","type","value"]},"harness:service/WinrmVariable:WinrmVariable":{"properties":{"name":{"type":"string","description":"Name of the variable\n"},"type":{"type":"string","description":"Type of the variable. Options are 'TEXT' and 'ENCRYPTED_TEXT'\n"},"value":{"type":"string","description":"Value of the variable\n"}},"type":"object","required":["name","type","value"]},"harness:service/getDiscoveryAgentConfig:getDiscoveryAgentConfig":{"properties":{"collectorImage":{"type":"string","description":"Docker image for the collector.\n"},"datas":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentConfigData:getDiscoveryAgentConfigData"},"description":"Data collection configuration.\n"},"imagePullSecrets":{"type":"array","items":{"type":"string"},"description":"List of image pull secrets.\n"},"kubernetes":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentConfigKubernete:getDiscoveryAgentConfigKubernete"},"description":"Kubernetes-specific configuration.\n"},"logWatcherImage":{"type":"string","description":"Docker image for the log watcher.\n"},"mtls":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentConfigMtl:getDiscoveryAgentConfigMtl"},"description":"mTLS configuration.\n"},"proxies":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentConfigProxy:getDiscoveryAgentConfigProxy"},"description":"Proxy configuration.\n"},"skipSecureVerify":{"type":"boolean","description":"Whether to skip TLS verification.\n"}},"type":"object","required":["collectorImage","datas","imagePullSecrets","kubernetes","logWatcherImage","mtls","proxies","skipSecureVerify"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentConfigData:getDiscoveryAgentConfigData":{"properties":{"blacklistedNamespaces":{"type":"array","items":{"type":"string"},"description":"List of namespaces to exclude from discovery.\n"},"collectionWindowInMin":{"type":"integer","description":"Collection window in minutes.\n"},"crons":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentConfigDataCron:getDiscoveryAgentConfigDataCron"},"description":"Cron schedule for data collection.\n"},"enableBatchResources":{"type":"boolean","description":"Whether to enable batch resources.\n"},"enableNodeAgent":{"type":"boolean","description":"Whether to enable node agent.\n"},"enableOrphanedPod":{"type":"boolean","description":"Whether to enable orphaned pod detection.\n"},"namespaceSelector":{"type":"string","description":"Namespace selector for the agent.\n"},"nodeAgentSelector":{"type":"string","description":"Node selector for the node agent.\n"},"observedNamespaces":{"type":"array","items":{"type":"string"},"description":"List of namespaces to observe.\n"}},"type":"object","required":["blacklistedNamespaces","collectionWindowInMin","crons","enableBatchResources","enableNodeAgent","enableOrphanedPod","namespaceSelector","nodeAgentSelector","observedNamespaces"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentConfigDataCron:getDiscoveryAgentConfigDataCron":{"properties":{"expression":{"type":"string","description":"Cron expression for scheduling.\n"}},"type":"object","required":["expression"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentConfigKubernete:getDiscoveryAgentConfigKubernete":{"properties":{"annotations":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to add to all resources.\n"},"disableNamespaceCreation":{"type":"boolean","description":"Whether to disable namespace creation.\n"},"imagePullPolicy":{"type":"string","description":"The image pull policy.\n"},"labels":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to add to all resources.\n"},"namespace":{"type":"string","description":"Kubernetes namespace to use\n"},"namespaced":{"type":"boolean","description":"Whether the agent is namespaced.\n"},"nodeSelector":{"type":"object","additionalProperties":{"type":"string"},"description":"Node selector labels.\n"},"resources":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentConfigKuberneteResource:getDiscoveryAgentConfigKuberneteResource"},"description":"Compute resource requirements for the agent container.\n"},"runAsGroup":{"type":"integer","description":"The group ID to run as.\n"},"runAsUser":{"type":"integer","description":"The user ID to run as.\n"},"serviceAccount":{"type":"string","description":"Service account to use\n"},"tolerations":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentConfigKuberneteToleration:getDiscoveryAgentConfigKuberneteToleration"},"description":"Tolerations for pod assignment.\n"}},"type":"object","required":["annotations","disableNamespaceCreation","imagePullPolicy","labels","namespace","namespaced","nodeSelector","resources","runAsGroup","runAsUser","serviceAccount","tolerations"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentConfigKuberneteResource:getDiscoveryAgentConfigKuberneteResource":{"properties":{"limits":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentConfigKuberneteResourceLimit:getDiscoveryAgentConfigKuberneteResourceLimit"},"description":"Maximum amount of compute resources allowed.\n"},"requests":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentConfigKuberneteResourceRequest:getDiscoveryAgentConfigKuberneteResourceRequest"},"description":"Minimum amount of compute resources required.\n"}},"type":"object","required":["limits","requests"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentConfigKuberneteResourceLimit:getDiscoveryAgentConfigKuberneteResourceLimit":{"properties":{"cpu":{"type":"string","description":"CPU limit in CPU units (e.g., 500m = 0.5 CPU, 2 = 2 CPUs).\n"},"memory":{"type":"string","description":"Memory limit in bytes (e.g., 128Mi, 1Gi).\n"}},"type":"object","required":["cpu","memory"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentConfigKuberneteResourceRequest:getDiscoveryAgentConfigKuberneteResourceRequest":{"properties":{"cpu":{"type":"string","description":"CPU request in CPU units (e.g., 100m = 0.1 CPU).\n"},"memory":{"type":"string","description":"Memory request in bytes (e.g., 128Mi, 1Gi).\n"}},"type":"object","required":["cpu","memory"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentConfigKuberneteToleration:getDiscoveryAgentConfigKuberneteToleration":{"properties":{"effect":{"type":"string","description":"Effect indicates the taint effect to match.\n"},"key":{"type":"string","description":"The taint key that the toleration applies to.\n"},"operator":{"type":"string","description":"Operator represents a key's relationship to the value.\n"},"tolerationSeconds":{"type":"integer","description":"TolerationSeconds represents the period of time the toleration tolerates the taint.\n"},"value":{"type":"string","description":"The taint value the toleration matches to.\n"}},"type":"object","required":["effect","key","operator","tolerationSeconds","value"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentConfigMtl:getDiscoveryAgentConfigMtl":{"properties":{"certPath":{"type":"string","description":"Path to the certificate file.\n"},"keyPath":{"type":"string","description":"Path to the key file.\n"},"secretName":{"type":"string","description":"Name of the Kubernetes secret containing the certificate and key.\n"},"url":{"type":"string","description":"URL of the mTLS server.\n"}},"type":"object","required":["certPath","keyPath","secretName","url"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentConfigProxy:getDiscoveryAgentConfigProxy":{"properties":{"httpProxy":{"type":"string","description":"HTTP proxy URL.\n"},"httpsProxy":{"type":"string","description":"HTTPS proxy URL.\n"},"noProxy":{"type":"string","description":"Comma-separated list of hosts that should not use the proxy.\n"},"url":{"type":"string","description":"Proxy server URL.\n"}},"type":"object","required":["httpProxy","httpsProxy","noProxy","url"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentInstallationDetail:getDiscoveryAgentInstallationDetail":{"properties":{"accountIdentifier":{"type":"string","description":"Account identifier of the installation.\n"},"agentDetails":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentInstallationDetailAgentDetail:getDiscoveryAgentInstallationDetailAgentDetail"},"description":"Details about the agent installation.\n"},"agentId":{"type":"string","description":"ID of the agent.\n"},"createdAt":{"type":"string","description":"When the installation was created.\n"},"createdBy":{"type":"string","description":"Who created the installation.\n"},"delegateId":{"type":"string","description":"ID of the delegate.\n"},"delegateTaskId":{"type":"string","description":"ID of the delegate task.\n"},"delegateTaskStatus":{"type":"string","description":"Status of the delegate task.\n"},"environmentIdentifier":{"type":"string","description":"Environment identifier of the installation.\n"},"id":{"type":"string","description":"Installation ID.\n"},"isCronTriggered":{"type":"boolean","description":"Whether the installation was triggered by a cron job.\n"},"logStreamCreatedAt":{"type":"string","description":"When the log stream was created.\n"},"logStreamId":{"type":"string","description":"ID of the log stream.\n"},"orgIdentifier":{"type":"string","description":"Organization identifier of the installation.\n"},"projectIdentifier":{"type":"string","description":"Project identifier of the installation.\n"},"removed":{"type":"boolean","description":"Whether the installation has been removed.\n"},"removedAt":{"type":"string","description":"When the installation was removed.\n"},"stopped":{"type":"boolean","description":"Whether the installation has been stopped.\n"},"updatedAt":{"type":"string","description":"When the installation was last updated.\n"},"updatedBy":{"type":"string","description":"Who last updated the installation.\n"}},"type":"object","required":["accountIdentifier","agentDetails","agentId","createdAt","createdBy","delegateId","delegateTaskId","delegateTaskStatus","environmentIdentifier","id","isCronTriggered","logStreamCreatedAt","logStreamId","orgIdentifier","projectIdentifier","removed","removedAt","stopped","updatedAt","updatedBy"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentInstallationDetailAgentDetail:getDiscoveryAgentInstallationDetailAgentDetail":{"properties":{"clusters":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentInstallationDetailAgentDetailCluster:getDiscoveryAgentInstallationDetailAgentDetailCluster"},"description":"Cluster information.\n"},"nodes":{"type":"array","items":{"$ref":"#/types/harness:service/getDiscoveryAgentInstallationDetailAgentDetailNode:getDiscoveryAgentInstallationDetailAgentDetailNode"},"description":"List of nodes in the cluster.\n"},"status":{"type":"string","description":"Status of the agent.\n"}},"type":"object","required":["clusters","nodes","status"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentInstallationDetailAgentDetailCluster:getDiscoveryAgentInstallationDetailAgentDetailCluster":{"properties":{"name":{"type":"string","description":"Name of the cluster.\n"},"namespace":{"type":"string","description":"Namespace of the cluster.\n"},"status":{"type":"string","description":"Status of the cluster.\n"},"uid":{"type":"string","description":"UID of the cluster.\n"}},"type":"object","required":["name","namespace","status","uid"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoveryAgentInstallationDetailAgentDetailNode:getDiscoveryAgentInstallationDetailAgentDetailNode":{"properties":{"name":{"type":"string","description":"Name of the node.\n"},"namespace":{"type":"string","description":"Namespace of the node.\n"},"status":{"type":"string","description":"Status of the node.\n"},"uid":{"type":"string","description":"UID of the node.\n"}},"type":"object","required":["name","namespace","status","uid"],"language":{"nodejs":{"requiredInputs":[]}}},"harness:service/getDiscoverySettingImageRegistry:getDiscoverySettingImageRegistry":{"properties":{"account":{"type":"string","description":"The account name for the image registry.\n"},"secrets":{"type":"array","items":{"type":"string"},"description":"List of secrets for the image registry.\n"},"server":{"type":"string","description":"The server URL for the image registry.\n"}},"type":"object","required":["account","secrets","server"],"language":{"nodejs":{"requiredInputs":[]}}}},"provider":{"description":"The provider type for the harness package. By default, resources use package-wide configuration\nsettings, however an explicit `Provider` instance may be created and passed during resource\nconstruction to achieve fine-grained programmatic control over provider settings. See the\n[documentation](https://www.pulumi.com/docs/reference/programming-model/#providers) for more information.\n","properties":{"accountId":{"type":"string","description":"The Harness account id. This can also be set using the `HARNESS_ACCOUNT_ID` environment variable."},"apiKey":{"type":"string","description":"The Harness API key. This can also be set using the `HARNESS_API_KEY` environment variable. For more information to create an API key in FirstGen, see https://docs.harness.io/article/smloyragsm-api-keys#create_an_api_key."},"endpoint":{"type":"string","description":"The URL of the Harness API endpoint. The default is `https://app.harness.io/gateway`. This can also be set using the `HARNESS_ENDPOINT` environment variable."},"platformApiKey":{"type":"string","description":"The API key for the Harness next gen platform. This can also be set using the `HARNESS_PLATFORM_API_KEY` environment variable. For more information to create an API key in NextGen, see https://docs.harness.io/article/tdoad7xrh9-add-and-manage-api-keys."}},"inputProperties":{"accountId":{"type":"string","description":"The Harness account id. This can also be set using the `HARNESS_ACCOUNT_ID` environment variable.","defaultInfo":{"environment":["HARNESS_ACCOUNT_ID"]}},"apiKey":{"type":"string","description":"The Harness API key. This can also be set using the `HARNESS_API_KEY` environment variable. For more information to create an API key in FirstGen, see https://docs.harness.io/article/smloyragsm-api-keys#create_an_api_key.","defaultInfo":{"environment":["HARNESS_API_KEY"]}},"endpoint":{"type":"string","description":"The URL of the Harness API endpoint. The default is `https://app.harness.io/gateway`. This can also be set using the `HARNESS_ENDPOINT` environment variable.","defaultInfo":{"environment":["HARNESS_ENDPOINT"]}},"platformApiKey":{"type":"string","description":"The API key for the Harness next gen platform. This can also be set using the `HARNESS_PLATFORM_API_KEY` environment variable. For more information to create an API key in NextGen, see https://docs.harness.io/article/tdoad7xrh9-add-and-manage-api-keys.","defaultInfo":{"environment":["HARNESS_PLATFORM_API_KEY"]}}},"methods":{"terraformConfig":"pulumi:providers:harness/terraformConfig"}},"resources":{"harness:autostopping/awsAlb:AwsAlb":{"description":"Resource for creating an AWS application load balancer\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.autostopping.AwsAlb(\"test\", {\n    name: \"name\",\n    cloudConnectorId: \"cloud_connector_id\",\n    hostName: \"host_name\",\n    region: \"region\",\n    vpc: \"vpc\",\n    securityGroups: [\n        \"sg1\",\n        \"sg2\",\n    ],\n    deleteCloudResourcesOnDestroy: true,\n});\nconst harnessAlb = new harness.autostopping.AwsAlb(\"harness_alb\", {\n    name: \"harness_alb\",\n    cloudConnectorId: \"cloud_connector_id\",\n    hostName: \"host.name\",\n    albArn: \"arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/harness_alb/id\",\n    region: \"region\",\n    vpc: \"vpc\",\n    securityGroups: [\"sg-0\"],\n    deleteCloudResourcesOnDestroy: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.autostopping.AwsAlb(\"test\",\n    name=\"name\",\n    cloud_connector_id=\"cloud_connector_id\",\n    host_name=\"host_name\",\n    region=\"region\",\n    vpc=\"vpc\",\n    security_groups=[\n        \"sg1\",\n        \"sg2\",\n    ],\n    delete_cloud_resources_on_destroy=True)\nharness_alb = harness.autostopping.AwsAlb(\"harness_alb\",\n    name=\"harness_alb\",\n    cloud_connector_id=\"cloud_connector_id\",\n    host_name=\"host.name\",\n    alb_arn=\"arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/harness_alb/id\",\n    region=\"region\",\n    vpc=\"vpc\",\n    security_groups=[\"sg-0\"],\n    delete_cloud_resources_on_destroy=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Autostopping.AwsAlb(\"test\", new()\n    {\n        Name = \"name\",\n        CloudConnectorId = \"cloud_connector_id\",\n        HostName = \"host_name\",\n        Region = \"region\",\n        Vpc = \"vpc\",\n        SecurityGroups = new[]\n        {\n            \"sg1\",\n            \"sg2\",\n        },\n        DeleteCloudResourcesOnDestroy = true,\n    });\n\n    var harnessAlb = new Harness.Autostopping.AwsAlb(\"harness_alb\", new()\n    {\n        Name = \"harness_alb\",\n        CloudConnectorId = \"cloud_connector_id\",\n        HostName = \"host.name\",\n        AlbArn = \"arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/harness_alb/id\",\n        Region = \"region\",\n        Vpc = \"vpc\",\n        SecurityGroups = new[]\n        {\n            \"sg-0\",\n        },\n        DeleteCloudResourcesOnDestroy = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/autostopping\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autostopping.NewAwsAlb(ctx, \"test\", \u0026autostopping.AwsAlbArgs{\n\t\t\tName:             pulumi.String(\"name\"),\n\t\t\tCloudConnectorId: pulumi.String(\"cloud_connector_id\"),\n\t\t\tHostName:         \"host_name\",\n\t\t\tRegion:           pulumi.String(\"region\"),\n\t\t\tVpc:              pulumi.String(\"vpc\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg1\"),\n\t\t\t\tpulumi.String(\"sg2\"),\n\t\t\t},\n\t\t\tDeleteCloudResourcesOnDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autostopping.NewAwsAlb(ctx, \"harness_alb\", \u0026autostopping.AwsAlbArgs{\n\t\t\tName:             pulumi.String(\"harness_alb\"),\n\t\t\tCloudConnectorId: pulumi.String(\"cloud_connector_id\"),\n\t\t\tHostName:         \"host.name\",\n\t\t\tAlbArn:           pulumi.String(\"arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/harness_alb/id\"),\n\t\t\tRegion:           pulumi.String(\"region\"),\n\t\t\tVpc:              pulumi.String(\"vpc\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg-0\"),\n\t\t\t},\n\t\t\tDeleteCloudResourcesOnDestroy: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.autostopping.AwsAlb;\nimport com.pulumi.harness.autostopping.AwsAlbArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new AwsAlb(\"test\", AwsAlbArgs.builder()\n            .name(\"name\")\n            .cloudConnectorId(\"cloud_connector_id\")\n            .hostName(\"host_name\")\n            .region(\"region\")\n            .vpc(\"vpc\")\n            .securityGroups(            \n                \"sg1\",\n                \"sg2\")\n            .deleteCloudResourcesOnDestroy(true)\n            .build());\n\n        var harnessAlb = new AwsAlb(\"harnessAlb\", AwsAlbArgs.builder()\n            .name(\"harness_alb\")\n            .cloudConnectorId(\"cloud_connector_id\")\n            .hostName(\"host.name\")\n            .albArn(\"arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/harness_alb/id\")\n            .region(\"region\")\n            .vpc(\"vpc\")\n            .securityGroups(\"sg-0\")\n            .deleteCloudResourcesOnDestroy(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:autostopping:AwsAlb\n    properties:\n      name: name\n      cloudConnectorId: cloud_connector_id\n      hostName: host_name\n      region: region\n      vpc: vpc\n      securityGroups:\n        - sg1\n        - sg2\n      deleteCloudResourcesOnDestroy: true\n  harnessAlb:\n    type: harness:autostopping:AwsAlb\n    name: harness_alb\n    properties:\n      name: harness_alb\n      cloudConnectorId: cloud_connector_id\n      hostName: host.name\n      albArn: arn:aws:elasticloadbalancing:region:aws_account_id:loadbalancer/app/harness_alb/id\n      region: region\n      vpc: vpc\n      securityGroups:\n        - sg-0\n      deleteCloudResourcesOnDestroy: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"albArn":{"type":"string","description":"Arn of AWS ALB to be imported. Required only for importing existing ALB\n"},"certificateId":{"type":"string"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the loadabalancer entity will be deleted on Terraform destroy. When set to true, the associated ALB will be deleted permanently from AWS account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, leaving the cloud resources intact.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"required":["albArn","cloudConnectorId","deleteCloudResourcesOnDestroy","identifier","name","region","vpc"],"inputProperties":{"albArn":{"type":"string","description":"Arn of AWS ALB to be imported. Required only for importing existing ALB\n"},"certificateId":{"type":"string"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the loadabalancer entity will be deleted on Terraform destroy. When set to true, the associated ALB will be deleted permanently from AWS account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, leaving the cloud resources intact.\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"requiredInputs":["cloudConnectorId","deleteCloudResourcesOnDestroy","region","vpc"],"stateInputs":{"description":"Input properties used for looking up and filtering AwsAlb resources.\n","properties":{"albArn":{"type":"string","description":"Arn of AWS ALB to be imported. Required only for importing existing ALB\n"},"certificateId":{"type":"string"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the loadabalancer entity will be deleted on Terraform destroy. When set to true, the associated ALB will be deleted permanently from AWS account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, leaving the cloud resources intact.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"type":"object"}},"harness:autostopping/awsProxy:AwsProxy":{"description":"Resource for creating an AWS Autostopping proxy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.autostopping.AwsProxy(\"test\", {\n    name: \"name\",\n    cloudConnectorId: \"cloud_connector_id\",\n    region: \"region\",\n    vpc: \"vpc\",\n    securityGroups: [\n        \"sg1\",\n        \"sg2\",\n    ],\n    machineType: \"t2.medium\",\n    apiKey: \"\",\n    allocateStaticIp: true,\n    deleteCloudResourcesOnDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.autostopping.AwsProxy(\"test\",\n    name=\"name\",\n    cloud_connector_id=\"cloud_connector_id\",\n    region=\"region\",\n    vpc=\"vpc\",\n    security_groups=[\n        \"sg1\",\n        \"sg2\",\n    ],\n    machine_type=\"t2.medium\",\n    api_key=\"\",\n    allocate_static_ip=True,\n    delete_cloud_resources_on_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Autostopping.AwsProxy(\"test\", new()\n    {\n        Name = \"name\",\n        CloudConnectorId = \"cloud_connector_id\",\n        Region = \"region\",\n        Vpc = \"vpc\",\n        SecurityGroups = new[]\n        {\n            \"sg1\",\n            \"sg2\",\n        },\n        MachineType = \"t2.medium\",\n        ApiKey = \"\",\n        AllocateStaticIp = true,\n        DeleteCloudResourcesOnDestroy = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/autostopping\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autostopping.NewAwsProxy(ctx, \"test\", \u0026autostopping.AwsProxyArgs{\n\t\t\tName:             pulumi.String(\"name\"),\n\t\t\tCloudConnectorId: pulumi.String(\"cloud_connector_id\"),\n\t\t\tRegion:           pulumi.String(\"region\"),\n\t\t\tVpc:              pulumi.String(\"vpc\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"sg1\"),\n\t\t\t\tpulumi.String(\"sg2\"),\n\t\t\t},\n\t\t\tMachineType:                   pulumi.String(\"t2.medium\"),\n\t\t\tApiKey:                        pulumi.String(\"\"),\n\t\t\tAllocateStaticIp:              pulumi.Bool(true),\n\t\t\tDeleteCloudResourcesOnDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.autostopping.AwsProxy;\nimport com.pulumi.harness.autostopping.AwsProxyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new AwsProxy(\"test\", AwsProxyArgs.builder()\n            .name(\"name\")\n            .cloudConnectorId(\"cloud_connector_id\")\n            .region(\"region\")\n            .vpc(\"vpc\")\n            .securityGroups(            \n                \"sg1\",\n                \"sg2\")\n            .machineType(\"t2.medium\")\n            .apiKey(\"\")\n            .allocateStaticIp(true)\n            .deleteCloudResourcesOnDestroy(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:autostopping:AwsProxy\n    properties:\n      name: name\n      cloudConnectorId: cloud_connector_id\n      region: region\n      vpc: vpc\n      securityGroups:\n        - sg1\n        - sg2\n      machineType: t2.medium\n      apiKey: \"\"\n      allocateStaticIp: true\n      deleteCloudResourcesOnDestroy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificates":{"$ref":"#/types/harness:autostopping/AwsProxyCertificates:AwsProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from AWS account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in AWS account itself.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"keypair":{"type":"string"},"machineType":{"type":"string","description":"Machine instance type\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"required":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","identifier","machineType","name","region","vpc"],"inputProperties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificates":{"$ref":"#/types/harness:autostopping/AwsProxyCertificates:AwsProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from AWS account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in AWS account itself.\n"},"keypair":{"type":"string"},"machineType":{"type":"string","description":"Machine instance type\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"requiredInputs":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","machineType","region","vpc"],"stateInputs":{"description":"Input properties used for looking up and filtering AwsProxy resources.\n","properties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificates":{"$ref":"#/types/harness:autostopping/AwsProxyCertificates:AwsProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from AWS account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in AWS account itself.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"keypair":{"type":"string"},"machineType":{"type":"string","description":"Machine instance type\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"type":"object"}},"harness:autostopping/azureGateway:AzureGateway":{"description":"Resource for creating an Azure Application Gateway\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.autostopping.AzureGateway(\"test\", {\n    name: \"name\",\n    cloudConnectorId: \"cloud_connector_id\",\n    hostName: \"host_name\",\n    region: \"eastus2\",\n    resourceGroup: \"resource_group\",\n    subnetId: \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\",\n    vpc: \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\",\n    azureFuncRegion: \"westus2\",\n    frontendIp: \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/publicIPAddresses/publicip\",\n    skuSize: \"sku2\",\n    deleteCloudResourcesOnDestroy: true,\n});\nconst importTest = new harness.autostopping.AzureGateway(\"import_test\", {\n    name: \"import_test\",\n    cloudConnectorId: \"cloud_connector_id\",\n    hostName: \"host_name\",\n    region: \"westus2\",\n    resourceGroup: \"test_resource_group\",\n    appGatewayId: \"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway\",\n    certificateId: \"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway/sslCertificates/certificate_name\",\n    azureFuncRegion: \"westus2\",\n    vpc: \"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/virtualNetworks/test_resource_group_vnet\",\n    deleteCloudResourcesOnDestroy: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.autostopping.AzureGateway(\"test\",\n    name=\"name\",\n    cloud_connector_id=\"cloud_connector_id\",\n    host_name=\"host_name\",\n    region=\"eastus2\",\n    resource_group=\"resource_group\",\n    subnet_id=\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\",\n    vpc=\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\",\n    azure_func_region=\"westus2\",\n    frontend_ip=\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/publicIPAddresses/publicip\",\n    sku_size=\"sku2\",\n    delete_cloud_resources_on_destroy=True)\nimport_test = harness.autostopping.AzureGateway(\"import_test\",\n    name=\"import_test\",\n    cloud_connector_id=\"cloud_connector_id\",\n    host_name=\"host_name\",\n    region=\"westus2\",\n    resource_group=\"test_resource_group\",\n    app_gateway_id=\"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway\",\n    certificate_id=\"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway/sslCertificates/certificate_name\",\n    azure_func_region=\"westus2\",\n    vpc=\"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/virtualNetworks/test_resource_group_vnet\",\n    delete_cloud_resources_on_destroy=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Autostopping.AzureGateway(\"test\", new()\n    {\n        Name = \"name\",\n        CloudConnectorId = \"cloud_connector_id\",\n        HostName = \"host_name\",\n        Region = \"eastus2\",\n        ResourceGroup = \"resource_group\",\n        SubnetId = \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\",\n        Vpc = \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\",\n        AzureFuncRegion = \"westus2\",\n        FrontendIp = \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/publicIPAddresses/publicip\",\n        SkuSize = \"sku2\",\n        DeleteCloudResourcesOnDestroy = true,\n    });\n\n    var importTest = new Harness.Autostopping.AzureGateway(\"import_test\", new()\n    {\n        Name = \"import_test\",\n        CloudConnectorId = \"cloud_connector_id\",\n        HostName = \"host_name\",\n        Region = \"westus2\",\n        ResourceGroup = \"test_resource_group\",\n        AppGatewayId = \"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway\",\n        CertificateId = \"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway/sslCertificates/certificate_name\",\n        AzureFuncRegion = \"westus2\",\n        Vpc = \"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/virtualNetworks/test_resource_group_vnet\",\n        DeleteCloudResourcesOnDestroy = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/autostopping\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autostopping.NewAzureGateway(ctx, \"test\", \u0026autostopping.AzureGatewayArgs{\n\t\t\tName:                          pulumi.String(\"name\"),\n\t\t\tCloudConnectorId:              pulumi.String(\"cloud_connector_id\"),\n\t\t\tHostName:                      \"host_name\",\n\t\t\tRegion:                        pulumi.String(\"eastus2\"),\n\t\t\tResourceGroup:                 pulumi.String(\"resource_group\"),\n\t\t\tSubnetId:                      pulumi.String(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\"),\n\t\t\tVpc:                           pulumi.String(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\"),\n\t\t\tAzureFuncRegion:               pulumi.String(\"westus2\"),\n\t\t\tFrontendIp:                    pulumi.String(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/publicIPAddresses/publicip\"),\n\t\t\tSkuSize:                       pulumi.String(\"sku2\"),\n\t\t\tDeleteCloudResourcesOnDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autostopping.NewAzureGateway(ctx, \"import_test\", \u0026autostopping.AzureGatewayArgs{\n\t\t\tName:                          pulumi.String(\"import_test\"),\n\t\t\tCloudConnectorId:              pulumi.String(\"cloud_connector_id\"),\n\t\t\tHostName:                      \"host_name\",\n\t\t\tRegion:                        pulumi.String(\"westus2\"),\n\t\t\tResourceGroup:                 pulumi.String(\"test_resource_group\"),\n\t\t\tAppGatewayId:                  pulumi.String(\"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway\"),\n\t\t\tCertificateId:                 pulumi.String(\"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway/sslCertificates/certificate_name\"),\n\t\t\tAzureFuncRegion:               pulumi.String(\"westus2\"),\n\t\t\tVpc:                           pulumi.String(\"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/virtualNetworks/test_resource_group_vnet\"),\n\t\t\tDeleteCloudResourcesOnDestroy: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.autostopping.AzureGateway;\nimport com.pulumi.harness.autostopping.AzureGatewayArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new AzureGateway(\"test\", AzureGatewayArgs.builder()\n            .name(\"name\")\n            .cloudConnectorId(\"cloud_connector_id\")\n            .hostName(\"host_name\")\n            .region(\"eastus2\")\n            .resourceGroup(\"resource_group\")\n            .subnetId(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\")\n            .vpc(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\")\n            .azureFuncRegion(\"westus2\")\n            .frontendIp(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/publicIPAddresses/publicip\")\n            .skuSize(\"sku2\")\n            .deleteCloudResourcesOnDestroy(true)\n            .build());\n\n        var importTest = new AzureGateway(\"importTest\", AzureGatewayArgs.builder()\n            .name(\"import_test\")\n            .cloudConnectorId(\"cloud_connector_id\")\n            .hostName(\"host_name\")\n            .region(\"westus2\")\n            .resourceGroup(\"test_resource_group\")\n            .appGatewayId(\"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway\")\n            .certificateId(\"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway/sslCertificates/certificate_name\")\n            .azureFuncRegion(\"westus2\")\n            .vpc(\"/subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/virtualNetworks/test_resource_group_vnet\")\n            .deleteCloudResourcesOnDestroy(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:autostopping:AzureGateway\n    properties:\n      name: name\n      cloudConnectorId: cloud_connector_id\n      hostName: host_name\n      region: eastus2\n      resourceGroup: resource_group\n      subnetId: /subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\n      vpc: /subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\n      azureFuncRegion: westus2\n      frontendIp: /subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/publicIPAddresses/publicip\n      skuSize: sku2\n      deleteCloudResourcesOnDestroy: true\n  importTest:\n    type: harness:autostopping:AzureGateway\n    name: import_test\n    properties:\n      name: import_test\n      cloudConnectorId: cloud_connector_id\n      hostName: host_name\n      region: westus2\n      resourceGroup: test_resource_group\n      appGatewayId: /subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway\n      certificateId: /subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/applicationGateways/TestAppGateway/sslCertificates/certificate_name\n      azureFuncRegion: westus2\n      vpc: /subscriptions/subscription_id/resourceGroups/test_resource_group/providers/Microsoft.Network/virtualNetworks/test_resource_group_vnet\n      deleteCloudResourcesOnDestroy: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"appGatewayId":{"type":"string","description":"ID of Azure AppGateway for importing. Required only for importing exiging AppGateway\n"},"azureFuncRegion":{"type":"string","description":"Region in which azure cloud function will be provisioned\n"},"certificateId":{"type":"string","description":"ID of existing SSL certificate from AppGateway being imported. Required only for importing existing AppGateway. Required only for SSL based rules\n"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the loadabalancer entity will be deleted on Terraform destroy. When set to true, the associated Application Gateway will be deleted permanently from Azure account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, leaving the cloud resources intact.\n"},"frontendIp":{"type":"string","description":"ID of IP address to be used. Required only for creating new AppGateway. See https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-components#static-versus-dynamic-public-ip-address for more details\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"resourceGroup":{"type":"string","description":"Resource group in which cloud resources are hosted\n"},"skuSize":{"type":"string","description":"Size of machine used for the gateway. Required only for creating new AppGateway\n"},"subnetId":{"type":"string","description":"Subnet in which cloud resources are hosted. Required only for creating new AppGateway\n"},"vpc":{"type":"string","description":"VNet in which cloud resources are hosted. Required only for creating new AppGateway\n"}},"required":["azureFuncRegion","cloudConnectorId","deleteCloudResourcesOnDestroy","identifier","name","region","resourceGroup","vpc"],"inputProperties":{"appGatewayId":{"type":"string","description":"ID of Azure AppGateway for importing. Required only for importing exiging AppGateway\n"},"azureFuncRegion":{"type":"string","description":"Region in which azure cloud function will be provisioned\n"},"certificateId":{"type":"string","description":"ID of existing SSL certificate from AppGateway being imported. Required only for importing existing AppGateway. Required only for SSL based rules\n"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the loadabalancer entity will be deleted on Terraform destroy. When set to true, the associated Application Gateway will be deleted permanently from Azure account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, leaving the cloud resources intact.\n"},"frontendIp":{"type":"string","description":"ID of IP address to be used. Required only for creating new AppGateway. See https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-components#static-versus-dynamic-public-ip-address for more details\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"resourceGroup":{"type":"string","description":"Resource group in which cloud resources are hosted\n"},"skuSize":{"type":"string","description":"Size of machine used for the gateway. Required only for creating new AppGateway\n"},"subnetId":{"type":"string","description":"Subnet in which cloud resources are hosted. Required only for creating new AppGateway\n"},"vpc":{"type":"string","description":"VNet in which cloud resources are hosted. Required only for creating new AppGateway\n"}},"requiredInputs":["azureFuncRegion","cloudConnectorId","deleteCloudResourcesOnDestroy","region","resourceGroup","vpc"],"stateInputs":{"description":"Input properties used for looking up and filtering AzureGateway resources.\n","properties":{"appGatewayId":{"type":"string","description":"ID of Azure AppGateway for importing. Required only for importing exiging AppGateway\n"},"azureFuncRegion":{"type":"string","description":"Region in which azure cloud function will be provisioned\n"},"certificateId":{"type":"string","description":"ID of existing SSL certificate from AppGateway being imported. Required only for importing existing AppGateway. Required only for SSL based rules\n"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the loadabalancer entity will be deleted on Terraform destroy. When set to true, the associated Application Gateway will be deleted permanently from Azure account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, leaving the cloud resources intact.\n"},"frontendIp":{"type":"string","description":"ID of IP address to be used. Required only for creating new AppGateway. See https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-components#static-versus-dynamic-public-ip-address for more details\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"resourceGroup":{"type":"string","description":"Resource group in which cloud resources are hosted\n"},"skuSize":{"type":"string","description":"Size of machine used for the gateway. Required only for creating new AppGateway\n"},"subnetId":{"type":"string","description":"Subnet in which cloud resources are hosted. Required only for creating new AppGateway\n"},"vpc":{"type":"string","description":"VNet in which cloud resources are hosted. Required only for creating new AppGateway\n"}},"type":"object"}},"harness:autostopping/azureProxy:AzureProxy":{"description":"Resource for creating an Azure autostopping proxy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.autostopping.AzureProxy(\"test\", {\n    name: \"name\",\n    cloudConnectorId: \"cloud_connector_id\",\n    region: \"eastus2\",\n    resourceGroup: \"resource_group\",\n    vpc: \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\",\n    subnetId: \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\",\n    securityGroups: [\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/networkSecurityGroups/network_security_group\"],\n    allocateStaticIp: true,\n    machineType: \"Standard_D2s_v3\",\n    keypair: \"\",\n    apiKey: \"\",\n    deleteCloudResourcesOnDestroy: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.autostopping.AzureProxy(\"test\",\n    name=\"name\",\n    cloud_connector_id=\"cloud_connector_id\",\n    region=\"eastus2\",\n    resource_group=\"resource_group\",\n    vpc=\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\",\n    subnet_id=\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\",\n    security_groups=[\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/networkSecurityGroups/network_security_group\"],\n    allocate_static_ip=True,\n    machine_type=\"Standard_D2s_v3\",\n    keypair=\"\",\n    api_key=\"\",\n    delete_cloud_resources_on_destroy=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Autostopping.AzureProxy(\"test\", new()\n    {\n        Name = \"name\",\n        CloudConnectorId = \"cloud_connector_id\",\n        Region = \"eastus2\",\n        ResourceGroup = \"resource_group\",\n        Vpc = \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\",\n        SubnetId = \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\",\n        SecurityGroups = new[]\n        {\n            \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/networkSecurityGroups/network_security_group\",\n        },\n        AllocateStaticIp = true,\n        MachineType = \"Standard_D2s_v3\",\n        Keypair = \"\",\n        ApiKey = \"\",\n        DeleteCloudResourcesOnDestroy = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/autostopping\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autostopping.NewAzureProxy(ctx, \"test\", \u0026autostopping.AzureProxyArgs{\n\t\t\tName:             pulumi.String(\"name\"),\n\t\t\tCloudConnectorId: pulumi.String(\"cloud_connector_id\"),\n\t\t\tRegion:           pulumi.String(\"eastus2\"),\n\t\t\tResourceGroup:    pulumi.String(\"resource_group\"),\n\t\t\tVpc:              pulumi.String(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\"),\n\t\t\tSubnetId:         pulumi.String(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/networkSecurityGroups/network_security_group\"),\n\t\t\t},\n\t\t\tAllocateStaticIp:              pulumi.Bool(true),\n\t\t\tMachineType:                   pulumi.String(\"Standard_D2s_v3\"),\n\t\t\tKeypair:                       pulumi.String(\"\"),\n\t\t\tApiKey:                        pulumi.String(\"\"),\n\t\t\tDeleteCloudResourcesOnDestroy: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.autostopping.AzureProxy;\nimport com.pulumi.harness.autostopping.AzureProxyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new AzureProxy(\"test\", AzureProxyArgs.builder()\n            .name(\"name\")\n            .cloudConnectorId(\"cloud_connector_id\")\n            .region(\"eastus2\")\n            .resourceGroup(\"resource_group\")\n            .vpc(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\")\n            .subnetId(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\")\n            .securityGroups(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/networkSecurityGroups/network_security_group\")\n            .allocateStaticIp(true)\n            .machineType(\"Standard_D2s_v3\")\n            .keypair(\"\")\n            .apiKey(\"\")\n            .deleteCloudResourcesOnDestroy(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:autostopping:AzureProxy\n    properties:\n      name: name\n      cloudConnectorId: cloud_connector_id\n      region: eastus2\n      resourceGroup: resource_group\n      vpc: /subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network\n      subnetId: /subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/virtualNetworks/virtual_network/subnets/subnet_id\n      securityGroups:\n        - /subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Network/networkSecurityGroups/network_security_group\n      allocateStaticIp: true\n      machineType: Standard_D2s_v3\n      keypair: \"\"\n      apiKey: \"\"\n      deleteCloudResourcesOnDestroy: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificateId":{"type":"string"},"certificates":{"$ref":"#/types/harness:autostopping/AzureProxyCertificates:AzureProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from Azure account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in Azure account itself.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"keypair":{"type":"string","description":"Name of SSH Key to be used for proxy VM\n"},"machineType":{"type":"string","description":"Type of instance to be used for proxy\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"resourceGroup":{"type":"string","description":"Resource group in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"subnetId":{"type":"string","description":"Subnet in which cloud resources are hosted\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"required":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","identifier","keypair","machineType","name","region","resourceGroup","subnetId","vpc"],"inputProperties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificateId":{"type":"string"},"certificates":{"$ref":"#/types/harness:autostopping/AzureProxyCertificates:AzureProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from Azure account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in Azure account itself.\n"},"keypair":{"type":"string","description":"Name of SSH Key to be used for proxy VM\n"},"machineType":{"type":"string","description":"Type of instance to be used for proxy\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"resourceGroup":{"type":"string","description":"Resource group in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"subnetId":{"type":"string","description":"Subnet in which cloud resources are hosted\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"requiredInputs":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","keypair","machineType","region","resourceGroup","subnetId","vpc"],"stateInputs":{"description":"Input properties used for looking up and filtering AzureProxy resources.\n","properties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificateId":{"type":"string"},"certificates":{"$ref":"#/types/harness:autostopping/AzureProxyCertificates:AzureProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from Azure account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in Azure account itself.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"keypair":{"type":"string","description":"Name of SSH Key to be used for proxy VM\n"},"machineType":{"type":"string","description":"Type of instance to be used for proxy\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"resourceGroup":{"type":"string","description":"Resource group in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"subnetId":{"type":"string","description":"Subnet in which cloud resources are hosted\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"type":"object"}},"harness:autostopping/gcpProxy:GcpProxy":{"description":"Resource for creating an GCP Autostopping proxy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.autostopping.GcpProxy(\"test\", {\n    name: \"name\",\n    cloudConnectorId: \"cloud_connector_id\",\n    region: \"region\",\n    vpc: \"https://www.googleapis.com/compute/v1/projects/project_id/global/networks/netwok_id\",\n    zone: \"zone\",\n    securityGroups: [\"http-server\"],\n    machineType: \"e2-micro\",\n    subnetId: \"https://www.googleapis.com/compute/v1/projects/project_id/regions/region/subnetworks/subnet_name\",\n    apiKey: \"\",\n    allocateStaticIp: false,\n    certificates: {\n        keySecretId: \"projects/project_id/secrets/secret_id/versions/1\",\n        certSecretId: \"projects/project_id/secrets/secret_id/versions/1\",\n    },\n    deleteCloudResourcesOnDestroy: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.autostopping.GcpProxy(\"test\",\n    name=\"name\",\n    cloud_connector_id=\"cloud_connector_id\",\n    region=\"region\",\n    vpc=\"https://www.googleapis.com/compute/v1/projects/project_id/global/networks/netwok_id\",\n    zone=\"zone\",\n    security_groups=[\"http-server\"],\n    machine_type=\"e2-micro\",\n    subnet_id=\"https://www.googleapis.com/compute/v1/projects/project_id/regions/region/subnetworks/subnet_name\",\n    api_key=\"\",\n    allocate_static_ip=False,\n    certificates={\n        \"key_secret_id\": \"projects/project_id/secrets/secret_id/versions/1\",\n        \"cert_secret_id\": \"projects/project_id/secrets/secret_id/versions/1\",\n    },\n    delete_cloud_resources_on_destroy=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Autostopping.GcpProxy(\"test\", new()\n    {\n        Name = \"name\",\n        CloudConnectorId = \"cloud_connector_id\",\n        Region = \"region\",\n        Vpc = \"https://www.googleapis.com/compute/v1/projects/project_id/global/networks/netwok_id\",\n        Zone = \"zone\",\n        SecurityGroups = new[]\n        {\n            \"http-server\",\n        },\n        MachineType = \"e2-micro\",\n        SubnetId = \"https://www.googleapis.com/compute/v1/projects/project_id/regions/region/subnetworks/subnet_name\",\n        ApiKey = \"\",\n        AllocateStaticIp = false,\n        Certificates = new Harness.Autostopping.Inputs.GcpProxyCertificatesArgs\n        {\n            KeySecretId = \"projects/project_id/secrets/secret_id/versions/1\",\n            CertSecretId = \"projects/project_id/secrets/secret_id/versions/1\",\n        },\n        DeleteCloudResourcesOnDestroy = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/autostopping\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autostopping.NewGcpProxy(ctx, \"test\", \u0026autostopping.GcpProxyArgs{\n\t\t\tName:             pulumi.String(\"name\"),\n\t\t\tCloudConnectorId: pulumi.String(\"cloud_connector_id\"),\n\t\t\tRegion:           pulumi.String(\"region\"),\n\t\t\tVpc:              pulumi.String(\"https://www.googleapis.com/compute/v1/projects/project_id/global/networks/netwok_id\"),\n\t\t\tZone:             pulumi.String(\"zone\"),\n\t\t\tSecurityGroups: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"http-server\"),\n\t\t\t},\n\t\t\tMachineType:      pulumi.String(\"e2-micro\"),\n\t\t\tSubnetId:         pulumi.String(\"https://www.googleapis.com/compute/v1/projects/project_id/regions/region/subnetworks/subnet_name\"),\n\t\t\tApiKey:           pulumi.String(\"\"),\n\t\t\tAllocateStaticIp: pulumi.Bool(false),\n\t\t\tCertificates: \u0026autostopping.GcpProxyCertificatesArgs{\n\t\t\t\tKeySecretId:  pulumi.String(\"projects/project_id/secrets/secret_id/versions/1\"),\n\t\t\t\tCertSecretId: pulumi.String(\"projects/project_id/secrets/secret_id/versions/1\"),\n\t\t\t},\n\t\t\tDeleteCloudResourcesOnDestroy: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.autostopping.GcpProxy;\nimport com.pulumi.harness.autostopping.GcpProxyArgs;\nimport com.pulumi.harness.autostopping.inputs.GcpProxyCertificatesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new GcpProxy(\"test\", GcpProxyArgs.builder()\n            .name(\"name\")\n            .cloudConnectorId(\"cloud_connector_id\")\n            .region(\"region\")\n            .vpc(\"https://www.googleapis.com/compute/v1/projects/project_id/global/networks/netwok_id\")\n            .zone(\"zone\")\n            .securityGroups(\"http-server\")\n            .machineType(\"e2-micro\")\n            .subnetId(\"https://www.googleapis.com/compute/v1/projects/project_id/regions/region/subnetworks/subnet_name\")\n            .apiKey(\"\")\n            .allocateStaticIp(false)\n            .certificates(GcpProxyCertificatesArgs.builder()\n                .keySecretId(\"projects/project_id/secrets/secret_id/versions/1\")\n                .certSecretId(\"projects/project_id/secrets/secret_id/versions/1\")\n                .build())\n            .deleteCloudResourcesOnDestroy(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:autostopping:GcpProxy\n    properties:\n      name: name\n      cloudConnectorId: cloud_connector_id\n      region: region\n      vpc: https://www.googleapis.com/compute/v1/projects/project_id/global/networks/netwok_id\n      zone: zone\n      securityGroups:\n        - http-server\n      machineType: e2-micro\n      subnetId: https://www.googleapis.com/compute/v1/projects/project_id/regions/region/subnetworks/subnet_name\n      apiKey: \"\"\n      allocateStaticIp: false\n      certificates:\n        keySecretId: projects/project_id/secrets/secret_id/versions/1\n        certSecretId: projects/project_id/secrets/secret_id/versions/1\n      deleteCloudResourcesOnDestroy: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificates":{"$ref":"#/types/harness:autostopping/GcpProxyCertificates:GcpProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from GCP account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in GCP account itself.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"machineType":{"type":"string","description":"Machine instance type\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"subnetId":{"type":"string","description":"VPC in which cloud resources are hosted\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"},"zone":{"type":"string","description":"Zone in which cloud resources are hosted\n"}},"required":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","identifier","machineType","name","region","subnetId","vpc","zone"],"inputProperties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificates":{"$ref":"#/types/harness:autostopping/GcpProxyCertificates:GcpProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from GCP account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in GCP account itself.\n"},"machineType":{"type":"string","description":"Machine instance type\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"subnetId":{"type":"string","description":"VPC in which cloud resources are hosted\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"},"zone":{"type":"string","description":"Zone in which cloud resources are hosted\n"}},"requiredInputs":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","machineType","region","subnetId","vpc","zone"],"stateInputs":{"description":"Input properties used for looking up and filtering GcpProxy resources.\n","properties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificates":{"$ref":"#/types/harness:autostopping/GcpProxyCertificates:GcpProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from GCP account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in GCP account itself.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"machineType":{"type":"string","description":"Machine instance type\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"subnetId":{"type":"string","description":"VPC in which cloud resources are hosted\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"},"zone":{"type":"string","description":"Zone in which cloud resources are hosted\n"}},"type":"object"}},"harness:autostopping/ruleEcs:RuleEcs":{"description":"Resource for creating a AutoStopping rule for ECS services.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.autostopping.RuleEcs(\"test\", {\n    name: \"name\",\n    cloudConnectorId: \"cloud_connector_id\",\n    idleTimeMins: 10,\n    dryRun: true,\n    container: {\n        cluster: \"cluster\",\n        service: \"service\",\n        region: \"us-east-1\",\n        taskCount: 1,\n    },\n    tcp: [{\n        proxyId: \"proxy_id\",\n        forwardRule: [{\n            port: 2233,\n        }],\n    }],\n    depends: [{\n        ruleId: 24576,\n        delayInSec: 5,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.autostopping.RuleEcs(\"test\",\n    name=\"name\",\n    cloud_connector_id=\"cloud_connector_id\",\n    idle_time_mins=10,\n    dry_run=True,\n    container={\n        \"cluster\": \"cluster\",\n        \"service\": \"service\",\n        \"region\": \"us-east-1\",\n        \"task_count\": 1,\n    },\n    tcp=[{\n        \"proxyId\": \"proxy_id\",\n        \"forwardRule\": [{\n            \"port\": 2233,\n        }],\n    }],\n    depends=[{\n        \"rule_id\": 24576,\n        \"delay_in_sec\": 5,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Autostopping.RuleEcs(\"test\", new()\n    {\n        Name = \"name\",\n        CloudConnectorId = \"cloud_connector_id\",\n        IdleTimeMins = 10,\n        DryRun = true,\n        Container = new Harness.Autostopping.Inputs.RuleEcsContainerArgs\n        {\n            Cluster = \"cluster\",\n            Service = \"service\",\n            Region = \"us-east-1\",\n            TaskCount = 1,\n        },\n        Tcp = new[]\n        {\n            \n            {\n                { \"proxyId\", \"proxy_id\" },\n                { \"forwardRule\", new[]\n                {\n                    \n                    {\n                        { \"port\", 2233 },\n                    },\n                } },\n            },\n        },\n        Depends = new[]\n        {\n            new Harness.Autostopping.Inputs.RuleEcsDependArgs\n            {\n                RuleId = 24576,\n                DelayInSec = 5,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/autostopping\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autostopping.NewRuleEcs(ctx, \"test\", \u0026autostopping.RuleEcsArgs{\n\t\t\tName:             pulumi.String(\"name\"),\n\t\t\tCloudConnectorId: pulumi.String(\"cloud_connector_id\"),\n\t\t\tIdleTimeMins:     pulumi.Int(10),\n\t\t\tDryRun:           pulumi.Bool(true),\n\t\t\tContainer: \u0026autostopping.RuleEcsContainerArgs{\n\t\t\t\tCluster:   pulumi.String(\"cluster\"),\n\t\t\t\tService:   pulumi.String(\"service\"),\n\t\t\t\tRegion:    pulumi.String(\"us-east-1\"),\n\t\t\t\tTaskCount: pulumi.Int(1),\n\t\t\t},\n\t\t\tTcp: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"proxyId\": \"proxy_id\",\n\t\t\t\t\t\"forwardRule\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"port\": 2233,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDepends: autostopping.RuleEcsDependArray{\n\t\t\t\t\u0026autostopping.RuleEcsDependArgs{\n\t\t\t\t\tRuleId:     pulumi.Int(24576),\n\t\t\t\t\tDelayInSec: pulumi.Int(5),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.autostopping.RuleEcs;\nimport com.pulumi.harness.autostopping.RuleEcsArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleEcsContainerArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleEcsDependArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new RuleEcs(\"test\", RuleEcsArgs.builder()\n            .name(\"name\")\n            .cloudConnectorId(\"cloud_connector_id\")\n            .idleTimeMins(10)\n            .dryRun(true)\n            .container(RuleEcsContainerArgs.builder()\n                .cluster(\"cluster\")\n                .service(\"service\")\n                .region(\"us-east-1\")\n                .taskCount(1)\n                .build())\n            .tcp(List.of(Map.ofEntries(\n                Map.entry(\"proxyId\", \"proxy_id\"),\n                Map.entry(\"forwardRule\", List.of(Map.of(\"port\", 2233)))\n            )))\n            .depends(RuleEcsDependArgs.builder()\n                .ruleId(24576)\n                .delayInSec(5)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:autostopping:RuleEcs\n    properties:\n      name: name\n      cloudConnectorId: cloud_connector_id\n      idleTimeMins: 10\n      dryRun: true\n      container:\n        cluster: cluster\n        service: service\n        region: us-east-1\n        taskCount: 1\n      tcp:\n        - proxyId: proxy_id\n          forwardRule:\n            - port: 2233\n      depends:\n        - ruleId: 24576\n          delayInSec: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"container":{"$ref":"#/types/harness:autostopping/RuleEcsContainer:RuleEcsContainer"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleEcsDepend:RuleEcsDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleEcsHttp:RuleEcsHttp"},"description":"Http routing configuration\n"},"identifier":{"type":"number","description":"Unique identifier of the resource\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"}},"required":["cloudConnectorId","identifier","name"],"inputProperties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"container":{"$ref":"#/types/harness:autostopping/RuleEcsContainer:RuleEcsContainer"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleEcsDepend:RuleEcsDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleEcsHttp:RuleEcsHttp"},"description":"Http routing configuration\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"}},"requiredInputs":["cloudConnectorId"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleEcs resources.\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"container":{"$ref":"#/types/harness:autostopping/RuleEcsContainer:RuleEcsContainer"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleEcsDepend:RuleEcsDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleEcsHttp:RuleEcsHttp"},"description":"Http routing configuration\n"},"identifier":{"type":"number","description":"Unique identifier of the resource\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"}},"type":"object"}},"harness:autostopping/ruleRds:RuleRds":{"description":"Resource for creating a AutoStopping rule for RDS databases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.autostopping.RuleRds(\"test\", {\n    name: \"name\",\n    cloudConnectorId: \"cloud_connector_id\",\n    idleTimeMins: 10,\n    dryRun: true,\n    database: {\n        id: \"database_id\",\n        region: \"region\",\n    },\n    tcps: [{\n        proxyId: \"proxy_id\",\n        forwardRules: [{\n            port: 2233,\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.autostopping.RuleRds(\"test\",\n    name=\"name\",\n    cloud_connector_id=\"cloud_connector_id\",\n    idle_time_mins=10,\n    dry_run=True,\n    database={\n        \"id\": \"database_id\",\n        \"region\": \"region\",\n    },\n    tcps=[{\n        \"proxy_id\": \"proxy_id\",\n        \"forward_rules\": [{\n            \"port\": 2233,\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Autostopping.RuleRds(\"test\", new()\n    {\n        Name = \"name\",\n        CloudConnectorId = \"cloud_connector_id\",\n        IdleTimeMins = 10,\n        DryRun = true,\n        Database = new Harness.Autostopping.Inputs.RuleRdsDatabaseArgs\n        {\n            Id = \"database_id\",\n            Region = \"region\",\n        },\n        Tcps = new[]\n        {\n            new Harness.Autostopping.Inputs.RuleRdsTcpArgs\n            {\n                ProxyId = \"proxy_id\",\n                ForwardRules = new[]\n                {\n                    new Harness.Autostopping.Inputs.RuleRdsTcpForwardRuleArgs\n                    {\n                        Port = 2233,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/autostopping\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autostopping.NewRuleRds(ctx, \"test\", \u0026autostopping.RuleRdsArgs{\n\t\t\tName:             pulumi.String(\"name\"),\n\t\t\tCloudConnectorId: pulumi.String(\"cloud_connector_id\"),\n\t\t\tIdleTimeMins:     pulumi.Int(10),\n\t\t\tDryRun:           pulumi.Bool(true),\n\t\t\tDatabase: \u0026autostopping.RuleRdsDatabaseArgs{\n\t\t\t\tId:     pulumi.String(\"database_id\"),\n\t\t\t\tRegion: pulumi.String(\"region\"),\n\t\t\t},\n\t\t\tTcps: autostopping.RuleRdsTcpArray{\n\t\t\t\t\u0026autostopping.RuleRdsTcpArgs{\n\t\t\t\t\tProxyId: pulumi.String(\"proxy_id\"),\n\t\t\t\t\tForwardRules: autostopping.RuleRdsTcpForwardRuleArray{\n\t\t\t\t\t\t\u0026autostopping.RuleRdsTcpForwardRuleArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(2233),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.autostopping.RuleRds;\nimport com.pulumi.harness.autostopping.RuleRdsArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleRdsDatabaseArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleRdsTcpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new RuleRds(\"test\", RuleRdsArgs.builder()\n            .name(\"name\")\n            .cloudConnectorId(\"cloud_connector_id\")\n            .idleTimeMins(10)\n            .dryRun(true)\n            .database(RuleRdsDatabaseArgs.builder()\n                .id(\"database_id\")\n                .region(\"region\")\n                .build())\n            .tcps(RuleRdsTcpArgs.builder()\n                .proxyId(\"proxy_id\")\n                .forwardRules(RuleRdsTcpForwardRuleArgs.builder()\n                    .port(2233)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:autostopping:RuleRds\n    properties:\n      name: name\n      cloudConnectorId: cloud_connector_id\n      idleTimeMins: 10\n      dryRun: true\n      database:\n        id: database_id\n        region: region\n      tcps:\n        - proxyId: proxy_id\n          forwardRules:\n            - port: 2233\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"database":{"$ref":"#/types/harness:autostopping/RuleRdsDatabase:RuleRdsDatabase"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleRdsDepend:RuleRdsDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"identifier":{"type":"number","description":"Unique identifier of the resource\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"tcps":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleRdsTcp:RuleRdsTcp"},"description":"TCP routing configuration\n"}},"required":["cloudConnectorId","database","identifier","name"],"inputProperties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"database":{"$ref":"#/types/harness:autostopping/RuleRdsDatabase:RuleRdsDatabase"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleRdsDepend:RuleRdsDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"tcps":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleRdsTcp:RuleRdsTcp"},"description":"TCP routing configuration\n"}},"requiredInputs":["cloudConnectorId","database"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleRds resources.\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"database":{"$ref":"#/types/harness:autostopping/RuleRdsDatabase:RuleRdsDatabase"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleRdsDepend:RuleRdsDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"identifier":{"type":"number","description":"Unique identifier of the resource\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"tcps":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleRdsTcp:RuleRdsTcp"},"description":"TCP routing configuration\n"}},"type":"object"}},"harness:autostopping/ruleScaleGroup:RuleScaleGroup":{"description":"Resource for creating a Harness AutoStopping rule for Scaling Groups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.autostopping.RuleScaleGroup(\"test\", {\n    name: \"test\",\n    cloudConnectorId: \"test-connector\",\n    idleTimeMins: 5,\n    customDomains: [\"app.example.com\"],\n    scaleGroup: {\n        id: \"asg-arn\",\n        name: \"asg-name\",\n        region: \"us-east-1\",\n        desired: 1,\n        min: 1,\n        max: 2,\n        onDemand: 1,\n    },\n    https: [{\n        proxyId: \"lb-id\",\n        routings: [{\n            sourceProtocol: \"http\",\n            sourcePort: 80,\n            action: \"forward\",\n            targetProtocol: \"http\",\n            targetPort: 80,\n        }],\n        healths: [{\n            protocol: \"http\",\n            port: 80,\n            path: \"/\",\n            timeout: 30,\n            statusCodeFrom: 200,\n            statusCodeTo: 299,\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.autostopping.RuleScaleGroup(\"test\",\n    name=\"test\",\n    cloud_connector_id=\"test-connector\",\n    idle_time_mins=5,\n    custom_domains=[\"app.example.com\"],\n    scale_group={\n        \"id\": \"asg-arn\",\n        \"name\": \"asg-name\",\n        \"region\": \"us-east-1\",\n        \"desired\": 1,\n        \"min\": 1,\n        \"max\": 2,\n        \"on_demand\": 1,\n    },\n    https=[{\n        \"proxy_id\": \"lb-id\",\n        \"routings\": [{\n            \"source_protocol\": \"http\",\n            \"source_port\": 80,\n            \"action\": \"forward\",\n            \"target_protocol\": \"http\",\n            \"target_port\": 80,\n        }],\n        \"healths\": [{\n            \"protocol\": \"http\",\n            \"port\": 80,\n            \"path\": \"/\",\n            \"timeout\": 30,\n            \"status_code_from\": 200,\n            \"status_code_to\": 299,\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Autostopping.RuleScaleGroup(\"test\", new()\n    {\n        Name = \"test\",\n        CloudConnectorId = \"test-connector\",\n        IdleTimeMins = 5,\n        CustomDomains = new[]\n        {\n            \"app.example.com\",\n        },\n        ScaleGroup = new Harness.Autostopping.Inputs.RuleScaleGroupScaleGroupArgs\n        {\n            Id = \"asg-arn\",\n            Name = \"asg-name\",\n            Region = \"us-east-1\",\n            Desired = 1,\n            Min = 1,\n            Max = 2,\n            OnDemand = 1,\n        },\n        Https = new[]\n        {\n            new Harness.Autostopping.Inputs.RuleScaleGroupHttpArgs\n            {\n                ProxyId = \"lb-id\",\n                Routings = new[]\n                {\n                    new Harness.Autostopping.Inputs.RuleScaleGroupHttpRoutingArgs\n                    {\n                        SourceProtocol = \"http\",\n                        SourcePort = 80,\n                        Action = \"forward\",\n                        TargetProtocol = \"http\",\n                        TargetPort = 80,\n                    },\n                },\n                Healths = new[]\n                {\n                    new Harness.Autostopping.Inputs.RuleScaleGroupHttpHealthArgs\n                    {\n                        Protocol = \"http\",\n                        Port = 80,\n                        Path = \"/\",\n                        Timeout = 30,\n                        StatusCodeFrom = 200,\n                        StatusCodeTo = 299,\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/autostopping\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autostopping.NewRuleScaleGroup(ctx, \"test\", \u0026autostopping.RuleScaleGroupArgs{\n\t\t\tName:             pulumi.String(\"test\"),\n\t\t\tCloudConnectorId: pulumi.String(\"test-connector\"),\n\t\t\tIdleTimeMins:     pulumi.Int(5),\n\t\t\tCustomDomains: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"app.example.com\"),\n\t\t\t},\n\t\t\tScaleGroup: \u0026autostopping.RuleScaleGroupScaleGroupArgs{\n\t\t\t\tId:       pulumi.String(\"asg-arn\"),\n\t\t\t\tName:     pulumi.String(\"asg-name\"),\n\t\t\t\tRegion:   pulumi.String(\"us-east-1\"),\n\t\t\t\tDesired:  pulumi.Int(1),\n\t\t\t\tMin:      pulumi.Int(1),\n\t\t\t\tMax:      pulumi.Int(2),\n\t\t\t\tOnDemand: pulumi.Int(1),\n\t\t\t},\n\t\t\tHttps: autostopping.RuleScaleGroupHttpArray{\n\t\t\t\t\u0026autostopping.RuleScaleGroupHttpArgs{\n\t\t\t\t\tProxyId: pulumi.String(\"lb-id\"),\n\t\t\t\t\tRoutings: autostopping.RuleScaleGroupHttpRoutingArray{\n\t\t\t\t\t\t\u0026autostopping.RuleScaleGroupHttpRoutingArgs{\n\t\t\t\t\t\t\tSourceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t\tSourcePort:     pulumi.Int(80),\n\t\t\t\t\t\t\tAction:         pulumi.String(\"forward\"),\n\t\t\t\t\t\t\tTargetProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t\tTargetPort:     pulumi.Int(80),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tHealths: autostopping.RuleScaleGroupHttpHealthArray{\n\t\t\t\t\t\t\u0026autostopping.RuleScaleGroupHttpHealthArgs{\n\t\t\t\t\t\t\tProtocol:       pulumi.String(\"http\"),\n\t\t\t\t\t\t\tPort:           pulumi.Int(80),\n\t\t\t\t\t\t\tPath:           pulumi.String(\"/\"),\n\t\t\t\t\t\t\tTimeout:        pulumi.Int(30),\n\t\t\t\t\t\t\tStatusCodeFrom: pulumi.Int(200),\n\t\t\t\t\t\t\tStatusCodeTo:   pulumi.Int(299),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.autostopping.RuleScaleGroup;\nimport com.pulumi.harness.autostopping.RuleScaleGroupArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleScaleGroupScaleGroupArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleScaleGroupHttpArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new RuleScaleGroup(\"test\", RuleScaleGroupArgs.builder()\n            .name(\"test\")\n            .cloudConnectorId(\"test-connector\")\n            .idleTimeMins(5)\n            .customDomains(\"app.example.com\")\n            .scaleGroup(RuleScaleGroupScaleGroupArgs.builder()\n                .id(\"asg-arn\")\n                .name(\"asg-name\")\n                .region(\"us-east-1\")\n                .desired(1)\n                .min(1)\n                .max(2)\n                .onDemand(1)\n                .build())\n            .https(RuleScaleGroupHttpArgs.builder()\n                .proxyId(\"lb-id\")\n                .routings(RuleScaleGroupHttpRoutingArgs.builder()\n                    .sourceProtocol(\"http\")\n                    .sourcePort(80)\n                    .action(\"forward\")\n                    .targetProtocol(\"http\")\n                    .targetPort(80)\n                    .build())\n                .healths(RuleScaleGroupHttpHealthArgs.builder()\n                    .protocol(\"http\")\n                    .port(80)\n                    .path(\"/\")\n                    .timeout(30)\n                    .statusCodeFrom(200)\n                    .statusCodeTo(299)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:autostopping:RuleScaleGroup\n    properties:\n      name: test\n      cloudConnectorId: test-connector\n      idleTimeMins: 5\n      customDomains:\n        - app.example.com\n      scaleGroup:\n        id: asg-arn\n        name: asg-name\n        region: us-east-1\n        desired: 1\n        min: 1\n        max: 2\n        onDemand: 1\n      https:\n        - proxyId: lb-id\n          routings:\n            - sourceProtocol: http\n              sourcePort: 80\n              action: forward\n              targetProtocol: http\n              targetPort: 80\n          healths:\n            - protocol: http\n              port: 80\n              path: /\n              timeout: 30\n              statusCodeFrom: 200\n              statusCodeTo: 299\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleScaleGroupDepend:RuleScaleGroupDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleScaleGroupHttp:RuleScaleGroupHttp"},"description":"Http routing configuration\n"},"identifier":{"type":"number","description":"Unique identifier of the resource\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"scaleGroup":{"$ref":"#/types/harness:autostopping/RuleScaleGroupScaleGroup:RuleScaleGroupScaleGroup","description":"Scaling Group configuration\n"}},"required":["cloudConnectorId","identifier","name","scaleGroup"],"inputProperties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleScaleGroupDepend:RuleScaleGroupDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleScaleGroupHttp:RuleScaleGroupHttp"},"description":"Http routing configuration\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"scaleGroup":{"$ref":"#/types/harness:autostopping/RuleScaleGroupScaleGroup:RuleScaleGroupScaleGroup","description":"Scaling Group configuration\n"}},"requiredInputs":["cloudConnectorId","scaleGroup"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleScaleGroup resources.\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleScaleGroupDepend:RuleScaleGroupDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleScaleGroupHttp:RuleScaleGroupHttp"},"description":"Http routing configuration\n"},"identifier":{"type":"number","description":"Unique identifier of the resource\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"scaleGroup":{"$ref":"#/types/harness:autostopping/RuleScaleGroupScaleGroup:RuleScaleGroupScaleGroup","description":"Scaling Group configuration\n"}},"type":"object"}},"harness:autostopping/ruleVm:RuleVm":{"description":"Resource for creating a AutoStopping rule for VMs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.autostopping.RuleVm(\"test\", {\n    name: \"name\",\n    cloudConnectorId: \"cloud_connector_id\",\n    idleTimeMins: 10,\n    dryRun: true,\n    filter: {\n        vmIds: [\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Compute/virtualMachines/virtual_machine\"],\n        regions: [\"useast2\"],\n    },\n    https: [{\n        proxyId: \"proxy_id\",\n        routings: [\n            {\n                sourceProtocol: \"https\",\n                targetProtocol: \"https\",\n                sourcePort: 443,\n                targetPort: 443,\n                action: \"forward\",\n            },\n            {\n                sourceProtocol: \"http\",\n                targetProtocol: \"http\",\n                sourcePort: 80,\n                targetPort: 80,\n                action: \"forward\",\n            },\n        ],\n        healths: [{\n            protocol: \"http\",\n            port: 80,\n            path: \"/\",\n            timeout: 30,\n            statusCodeFrom: 200,\n            statusCodeTo: 299,\n        }],\n    }],\n    tcps: [{\n        proxyId: \"proxy_id\",\n        sshes: [{\n            port: 22,\n        }],\n        rdps: [{\n            port: 3389,\n        }],\n        forwardRules: [{\n            port: 2233,\n        }],\n    }],\n    depends: [{\n        ruleId: 24576,\n        delayInSec: 5,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.autostopping.RuleVm(\"test\",\n    name=\"name\",\n    cloud_connector_id=\"cloud_connector_id\",\n    idle_time_mins=10,\n    dry_run=True,\n    filter={\n        \"vm_ids\": [\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Compute/virtualMachines/virtual_machine\"],\n        \"regions\": [\"useast2\"],\n    },\n    https=[{\n        \"proxy_id\": \"proxy_id\",\n        \"routings\": [\n            {\n                \"source_protocol\": \"https\",\n                \"target_protocol\": \"https\",\n                \"source_port\": 443,\n                \"target_port\": 443,\n                \"action\": \"forward\",\n            },\n            {\n                \"source_protocol\": \"http\",\n                \"target_protocol\": \"http\",\n                \"source_port\": 80,\n                \"target_port\": 80,\n                \"action\": \"forward\",\n            },\n        ],\n        \"healths\": [{\n            \"protocol\": \"http\",\n            \"port\": 80,\n            \"path\": \"/\",\n            \"timeout\": 30,\n            \"status_code_from\": 200,\n            \"status_code_to\": 299,\n        }],\n    }],\n    tcps=[{\n        \"proxy_id\": \"proxy_id\",\n        \"sshes\": [{\n            \"port\": 22,\n        }],\n        \"rdps\": [{\n            \"port\": 3389,\n        }],\n        \"forward_rules\": [{\n            \"port\": 2233,\n        }],\n    }],\n    depends=[{\n        \"rule_id\": 24576,\n        \"delay_in_sec\": 5,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Autostopping.RuleVm(\"test\", new()\n    {\n        Name = \"name\",\n        CloudConnectorId = \"cloud_connector_id\",\n        IdleTimeMins = 10,\n        DryRun = true,\n        Filter = new Harness.Autostopping.Inputs.RuleVmFilterArgs\n        {\n            VmIds = new[]\n            {\n                \"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Compute/virtualMachines/virtual_machine\",\n            },\n            Regions = new[]\n            {\n                \"useast2\",\n            },\n        },\n        Https = new[]\n        {\n            new Harness.Autostopping.Inputs.RuleVmHttpArgs\n            {\n                ProxyId = \"proxy_id\",\n                Routings = new[]\n                {\n                    new Harness.Autostopping.Inputs.RuleVmHttpRoutingArgs\n                    {\n                        SourceProtocol = \"https\",\n                        TargetProtocol = \"https\",\n                        SourcePort = 443,\n                        TargetPort = 443,\n                        Action = \"forward\",\n                    },\n                    new Harness.Autostopping.Inputs.RuleVmHttpRoutingArgs\n                    {\n                        SourceProtocol = \"http\",\n                        TargetProtocol = \"http\",\n                        SourcePort = 80,\n                        TargetPort = 80,\n                        Action = \"forward\",\n                    },\n                },\n                Healths = new[]\n                {\n                    new Harness.Autostopping.Inputs.RuleVmHttpHealthArgs\n                    {\n                        Protocol = \"http\",\n                        Port = 80,\n                        Path = \"/\",\n                        Timeout = 30,\n                        StatusCodeFrom = 200,\n                        StatusCodeTo = 299,\n                    },\n                },\n            },\n        },\n        Tcps = new[]\n        {\n            new Harness.Autostopping.Inputs.RuleVmTcpArgs\n            {\n                ProxyId = \"proxy_id\",\n                Sshes = new[]\n                {\n                    new Harness.Autostopping.Inputs.RuleVmTcpSshArgs\n                    {\n                        Port = 22,\n                    },\n                },\n                Rdps = new[]\n                {\n                    new Harness.Autostopping.Inputs.RuleVmTcpRdpArgs\n                    {\n                        Port = 3389,\n                    },\n                },\n                ForwardRules = new[]\n                {\n                    new Harness.Autostopping.Inputs.RuleVmTcpForwardRuleArgs\n                    {\n                        Port = 2233,\n                    },\n                },\n            },\n        },\n        Depends = new[]\n        {\n            new Harness.Autostopping.Inputs.RuleVmDependArgs\n            {\n                RuleId = 24576,\n                DelayInSec = 5,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/autostopping\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := autostopping.NewRuleVm(ctx, \"test\", \u0026autostopping.RuleVmArgs{\n\t\t\tName:             pulumi.String(\"name\"),\n\t\t\tCloudConnectorId: pulumi.String(\"cloud_connector_id\"),\n\t\t\tIdleTimeMins:     pulumi.Int(10),\n\t\t\tDryRun:           pulumi.Bool(true),\n\t\t\tFilter: \u0026autostopping.RuleVmFilterArgs{\n\t\t\t\tVmIds: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Compute/virtualMachines/virtual_machine\"),\n\t\t\t\t},\n\t\t\t\tRegions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"useast2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tHttps: autostopping.RuleVmHttpArray{\n\t\t\t\t\u0026autostopping.RuleVmHttpArgs{\n\t\t\t\t\tProxyId: pulumi.String(\"proxy_id\"),\n\t\t\t\t\tRoutings: autostopping.RuleVmHttpRoutingArray{\n\t\t\t\t\t\t\u0026autostopping.RuleVmHttpRoutingArgs{\n\t\t\t\t\t\t\tSourceProtocol: pulumi.String(\"https\"),\n\t\t\t\t\t\t\tTargetProtocol: pulumi.String(\"https\"),\n\t\t\t\t\t\t\tSourcePort:     pulumi.Int(443),\n\t\t\t\t\t\t\tTargetPort:     pulumi.Int(443),\n\t\t\t\t\t\t\tAction:         pulumi.String(\"forward\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026autostopping.RuleVmHttpRoutingArgs{\n\t\t\t\t\t\t\tSourceProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t\tTargetProtocol: pulumi.String(\"http\"),\n\t\t\t\t\t\t\tSourcePort:     pulumi.Int(80),\n\t\t\t\t\t\t\tTargetPort:     pulumi.Int(80),\n\t\t\t\t\t\t\tAction:         pulumi.String(\"forward\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tHealths: autostopping.RuleVmHttpHealthArray{\n\t\t\t\t\t\t\u0026autostopping.RuleVmHttpHealthArgs{\n\t\t\t\t\t\t\tProtocol:       pulumi.String(\"http\"),\n\t\t\t\t\t\t\tPort:           pulumi.Int(80),\n\t\t\t\t\t\t\tPath:           pulumi.String(\"/\"),\n\t\t\t\t\t\t\tTimeout:        pulumi.Int(30),\n\t\t\t\t\t\t\tStatusCodeFrom: pulumi.Int(200),\n\t\t\t\t\t\t\tStatusCodeTo:   pulumi.Int(299),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTcps: autostopping.RuleVmTcpArray{\n\t\t\t\t\u0026autostopping.RuleVmTcpArgs{\n\t\t\t\t\tProxyId: pulumi.String(\"proxy_id\"),\n\t\t\t\t\tSshes: autostopping.RuleVmTcpSshArray{\n\t\t\t\t\t\t\u0026autostopping.RuleVmTcpSshArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(22),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tRdps: autostopping.RuleVmTcpRdpArray{\n\t\t\t\t\t\t\u0026autostopping.RuleVmTcpRdpArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(3389),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tForwardRules: autostopping.RuleVmTcpForwardRuleArray{\n\t\t\t\t\t\t\u0026autostopping.RuleVmTcpForwardRuleArgs{\n\t\t\t\t\t\t\tPort: pulumi.Int(2233),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tDepends: autostopping.RuleVmDependArray{\n\t\t\t\t\u0026autostopping.RuleVmDependArgs{\n\t\t\t\t\tRuleId:     pulumi.Int(24576),\n\t\t\t\t\tDelayInSec: pulumi.Int(5),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.autostopping.RuleVm;\nimport com.pulumi.harness.autostopping.RuleVmArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleVmFilterArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleVmHttpArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleVmTcpArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleVmDependArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new RuleVm(\"test\", RuleVmArgs.builder()\n            .name(\"name\")\n            .cloudConnectorId(\"cloud_connector_id\")\n            .idleTimeMins(10)\n            .dryRun(true)\n            .filter(RuleVmFilterArgs.builder()\n                .vmIds(\"/subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Compute/virtualMachines/virtual_machine\")\n                .regions(\"useast2\")\n                .build())\n            .https(RuleVmHttpArgs.builder()\n                .proxyId(\"proxy_id\")\n                .routings(                \n                    RuleVmHttpRoutingArgs.builder()\n                        .sourceProtocol(\"https\")\n                        .targetProtocol(\"https\")\n                        .sourcePort(443)\n                        .targetPort(443)\n                        .action(\"forward\")\n                        .build(),\n                    RuleVmHttpRoutingArgs.builder()\n                        .sourceProtocol(\"http\")\n                        .targetProtocol(\"http\")\n                        .sourcePort(80)\n                        .targetPort(80)\n                        .action(\"forward\")\n                        .build())\n                .healths(RuleVmHttpHealthArgs.builder()\n                    .protocol(\"http\")\n                    .port(80)\n                    .path(\"/\")\n                    .timeout(30)\n                    .statusCodeFrom(200)\n                    .statusCodeTo(299)\n                    .build())\n                .build())\n            .tcps(RuleVmTcpArgs.builder()\n                .proxyId(\"proxy_id\")\n                .sshes(RuleVmTcpSshArgs.builder()\n                    .port(22)\n                    .build())\n                .rdps(RuleVmTcpRdpArgs.builder()\n                    .port(3389)\n                    .build())\n                .forwardRules(RuleVmTcpForwardRuleArgs.builder()\n                    .port(2233)\n                    .build())\n                .build())\n            .depends(RuleVmDependArgs.builder()\n                .ruleId(24576)\n                .delayInSec(5)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:autostopping:RuleVm\n    properties:\n      name: name\n      cloudConnectorId: cloud_connector_id\n      idleTimeMins: 10\n      dryRun: true\n      filter:\n        vmIds:\n          - /subscriptions/subscription_id/resourceGroups/resource_group/providers/Microsoft.Compute/virtualMachines/virtual_machine\n        regions:\n          - useast2\n      https:\n        - proxyId: proxy_id\n          routings:\n            - sourceProtocol: https\n              targetProtocol: https\n              sourcePort: 443\n              targetPort: 443\n              action: forward\n            - sourceProtocol: http\n              targetProtocol: http\n              sourcePort: 80\n              targetPort: 80\n              action: forward\n          healths:\n            - protocol: http\n              port: 80\n              path: /\n              timeout: 30\n              statusCodeFrom: 200\n              statusCodeTo: 299\n      tcps:\n        - proxyId: proxy_id\n          sshes:\n            - port: 22\n          rdps:\n            - port: 3389\n          forwardRules:\n            - port: 2233\n      depends:\n        - ruleId: 24576\n          delayInSec: 5\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmDepend:RuleVmDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"filter":{"$ref":"#/types/harness:autostopping/RuleVmFilter:RuleVmFilter"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmHttp:RuleVmHttp"},"description":"Http routing configuration\n"},"identifier":{"type":"number","description":"Unique identifier of the resource\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"tcps":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmTcp:RuleVmTcp"},"description":"TCP routing configuration\n"},"useSpot":{"type":"boolean","description":"Boolean that indicates whether the selected instances should be converted to spot vm\n"}},"required":["cloudConnectorId","filter","identifier","name"],"inputProperties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmDepend:RuleVmDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"filter":{"$ref":"#/types/harness:autostopping/RuleVmFilter:RuleVmFilter"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmHttp:RuleVmHttp"},"description":"Http routing configuration\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"tcps":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmTcp:RuleVmTcp"},"description":"TCP routing configuration\n"},"useSpot":{"type":"boolean","description":"Boolean that indicates whether the selected instances should be converted to spot vm\n"}},"requiredInputs":["cloudConnectorId","filter"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleVm resources.\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmDepend:RuleVmDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"filter":{"$ref":"#/types/harness:autostopping/RuleVmFilter:RuleVmFilter"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmHttp:RuleVmHttp"},"description":"Http routing configuration\n"},"identifier":{"type":"number","description":"Unique identifier of the resource\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"tcps":{"type":"array","items":{"$ref":"#/types/harness:autostopping/RuleVmTcp:RuleVmTcp"},"description":"TCP routing configuration\n"},"useSpot":{"type":"boolean","description":"Boolean that indicates whether the selected instances should be converted to spot vm\n"}},"type":"object"}},"harness:autostopping/schedule:Schedule":{"description":"Resource for creating a fixed schedule for Harness AutoStopping rule\n\n","properties":{"endingOn":{"type":"string","description":"Time until which schedule will be active. Need to be in YYYY-MM-DD HH:mm:SS format. Eg 2006-01-02 15:04:05\n"},"identifier":{"type":"number","description":"Unique identifier of the schedule\n"},"name":{"type":"string","description":"Name of the schedule\n"},"repeats":{"type":"array","items":{"$ref":"#/types/harness:autostopping/ScheduleRepeat:ScheduleRepeat"},"description":"For defining periodic schedule. Periodic nature will be applicable from the time of creation of schedule, unless specific 'time_period' is specified\n"},"rules":{"type":"array","items":{"type":"number"},"description":"ID of AutoStopping rules on which the schedule applies\n"},"scheduleType":{"type":"string","description":"Type of the schedule. Valid values are \u003cspan pulumi-lang-nodejs=\"`uptime`\" pulumi-lang-dotnet=\"`Uptime`\" pulumi-lang-go=\"`uptime`\" pulumi-lang-python=\"`uptime`\" pulumi-lang-yaml=\"`uptime`\" pulumi-lang-java=\"`uptime`\"\u003e`uptime`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`downtime`\" pulumi-lang-dotnet=\"`Downtime`\" pulumi-lang-go=\"`downtime`\" pulumi-lang-python=\"`downtime`\" pulumi-lang-yaml=\"`downtime`\" pulumi-lang-java=\"`downtime`\"\u003e`downtime`\u003c/span\u003e\n"},"startingFrom":{"type":"string","description":"Time from which schedule will be active. Schedule will take immediate effect if\u003cspan pulumi-lang-nodejs=\" startingFrom \" pulumi-lang-dotnet=\" StartingFrom \" pulumi-lang-go=\" startingFrom \" pulumi-lang-python=\" starting_from \" pulumi-lang-yaml=\" startingFrom \" pulumi-lang-java=\" startingFrom \"\u003e starting_from \u003c/span\u003eis not specified. Need to be in YYYY-MM-DD HH:mm:SS format. Eg 2006-01-02 15:04:05\n"},"timeZone":{"type":"string","description":"Time zone in which schedule needs to be executed\n"}},"required":["identifier","name","rules","scheduleType","timeZone"],"inputProperties":{"endingOn":{"type":"string","description":"Time until which schedule will be active. Need to be in YYYY-MM-DD HH:mm:SS format. Eg 2006-01-02 15:04:05\n"},"name":{"type":"string","description":"Name of the schedule\n"},"repeats":{"type":"array","items":{"$ref":"#/types/harness:autostopping/ScheduleRepeat:ScheduleRepeat"},"description":"For defining periodic schedule. Periodic nature will be applicable from the time of creation of schedule, unless specific 'time_period' is specified\n"},"rules":{"type":"array","items":{"type":"number"},"description":"ID of AutoStopping rules on which the schedule applies\n"},"scheduleType":{"type":"string","description":"Type of the schedule. Valid values are \u003cspan pulumi-lang-nodejs=\"`uptime`\" pulumi-lang-dotnet=\"`Uptime`\" pulumi-lang-go=\"`uptime`\" pulumi-lang-python=\"`uptime`\" pulumi-lang-yaml=\"`uptime`\" pulumi-lang-java=\"`uptime`\"\u003e`uptime`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`downtime`\" pulumi-lang-dotnet=\"`Downtime`\" pulumi-lang-go=\"`downtime`\" pulumi-lang-python=\"`downtime`\" pulumi-lang-yaml=\"`downtime`\" pulumi-lang-java=\"`downtime`\"\u003e`downtime`\u003c/span\u003e\n"},"startingFrom":{"type":"string","description":"Time from which schedule will be active. Schedule will take immediate effect if\u003cspan pulumi-lang-nodejs=\" startingFrom \" pulumi-lang-dotnet=\" StartingFrom \" pulumi-lang-go=\" startingFrom \" pulumi-lang-python=\" starting_from \" pulumi-lang-yaml=\" startingFrom \" pulumi-lang-java=\" startingFrom \"\u003e starting_from \u003c/span\u003eis not specified. Need to be in YYYY-MM-DD HH:mm:SS format. Eg 2006-01-02 15:04:05\n"},"timeZone":{"type":"string","description":"Time zone in which schedule needs to be executed\n"}},"requiredInputs":["rules","scheduleType","timeZone"],"stateInputs":{"description":"Input properties used for looking up and filtering Schedule resources.\n","properties":{"endingOn":{"type":"string","description":"Time until which schedule will be active. Need to be in YYYY-MM-DD HH:mm:SS format. Eg 2006-01-02 15:04:05\n"},"identifier":{"type":"number","description":"Unique identifier of the schedule\n"},"name":{"type":"string","description":"Name of the schedule\n"},"repeats":{"type":"array","items":{"$ref":"#/types/harness:autostopping/ScheduleRepeat:ScheduleRepeat"},"description":"For defining periodic schedule. Periodic nature will be applicable from the time of creation of schedule, unless specific 'time_period' is specified\n"},"rules":{"type":"array","items":{"type":"number"},"description":"ID of AutoStopping rules on which the schedule applies\n"},"scheduleType":{"type":"string","description":"Type of the schedule. Valid values are \u003cspan pulumi-lang-nodejs=\"`uptime`\" pulumi-lang-dotnet=\"`Uptime`\" pulumi-lang-go=\"`uptime`\" pulumi-lang-python=\"`uptime`\" pulumi-lang-yaml=\"`uptime`\" pulumi-lang-java=\"`uptime`\"\u003e`uptime`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`downtime`\" pulumi-lang-dotnet=\"`Downtime`\" pulumi-lang-go=\"`downtime`\" pulumi-lang-python=\"`downtime`\" pulumi-lang-yaml=\"`downtime`\" pulumi-lang-java=\"`downtime`\"\u003e`downtime`\u003c/span\u003e\n"},"startingFrom":{"type":"string","description":"Time from which schedule will be active. Schedule will take immediate effect if\u003cspan pulumi-lang-nodejs=\" startingFrom \" pulumi-lang-dotnet=\" StartingFrom \" pulumi-lang-go=\" startingFrom \" pulumi-lang-python=\" starting_from \" pulumi-lang-yaml=\" startingFrom \" pulumi-lang-java=\" startingFrom \"\u003e starting_from \u003c/span\u003eis not specified. Need to be in YYYY-MM-DD HH:mm:SS format. Eg 2006-01-02 15:04:05\n"},"timeZone":{"type":"string","description":"Time zone in which schedule needs to be executed\n"}},"type":"object"}},"harness:chaos/hub:Hub":{"description":"Resource for managing a Harness Chaos Hub\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.chaos.Hub(\"example\", {\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n    name: \"\u003cname\u003e\",\n    description: \"\u003cdescription\u003e\",\n    connectorId: \"\u003cconnector_id\u003e\",\n    repoBranch: \"\u003crepo_branch\u003e\",\n    repoName: \"\u003crepo_name\u003e\",\n    isDefault: false,\n    tags: [\n        \"\u003ctag1\u003e\",\n        \"\u003ctag2\u003e\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.chaos.Hub(\"example\",\n    org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\",\n    name=\"\u003cname\u003e\",\n    description=\"\u003cdescription\u003e\",\n    connector_id=\"\u003cconnector_id\u003e\",\n    repo_branch=\"\u003crepo_branch\u003e\",\n    repo_name=\"\u003crepo_name\u003e\",\n    is_default=False,\n    tags=[\n        \"\u003ctag1\u003e\",\n        \"\u003ctag2\u003e\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Chaos.Hub(\"example\", new()\n    {\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n        Name = \"\u003cname\u003e\",\n        Description = \"\u003cdescription\u003e\",\n        ConnectorId = \"\u003cconnector_id\u003e\",\n        RepoBranch = \"\u003crepo_branch\u003e\",\n        RepoName = \"\u003crepo_name\u003e\",\n        IsDefault = false,\n        Tags = new[]\n        {\n            \"\u003ctag1\u003e\",\n            \"\u003ctag2\u003e\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/chaos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chaos.NewHub(ctx, \"example\", \u0026chaos.HubArgs{\n\t\t\tOrgId:       pulumi.String(\"\u003corg_id\u003e\"),\n\t\t\tProjectId:   pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tName:        pulumi.String(\"\u003cname\u003e\"),\n\t\t\tDescription: pulumi.String(\"\u003cdescription\u003e\"),\n\t\t\tConnectorId: pulumi.String(\"\u003cconnector_id\u003e\"),\n\t\t\tRepoBranch:  pulumi.String(\"\u003crepo_branch\u003e\"),\n\t\t\tRepoName:    pulumi.String(\"\u003crepo_name\u003e\"),\n\t\t\tIsDefault:   pulumi.Bool(false),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"\u003ctag1\u003e\"),\n\t\t\t\tpulumi.String(\"\u003ctag2\u003e\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.chaos.Hub;\nimport com.pulumi.harness.chaos.HubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Hub(\"example\", HubArgs.builder()\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .name(\"\u003cname\u003e\")\n            .description(\"\u003cdescription\u003e\")\n            .connectorId(\"\u003cconnector_id\u003e\")\n            .repoBranch(\"\u003crepo_branch\u003e\")\n            .repoName(\"\u003crepo_name\u003e\")\n            .isDefault(false)\n            .tags(            \n                \"\u003ctag1\u003e\",\n                \"\u003ctag2\u003e\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:chaos:Hub\n    properties:\n      orgId: \u003corg_id\u003e\n      projectId: \u003cproject_id\u003e\n      name: \u003cname\u003e\n      description: \u003cdescription\u003e\n      connectorId: \u003cconnector_id\u003e\n      repoBranch: \u003crepo_branch\u003e\n      repoName: \u003crepo_name\u003e\n      isDefault: false\n      tags:\n        - \u003ctag1\u003e\n        - \u003ctag2\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport Project level Chaos Hub\n\n```sh\n$ pulumi import harness:chaos/hub:Hub example \u003corg_id\u003e/\u003cproject_id\u003e/\u003chub_id\u003e\n```\n\n","properties":{"connectorId":{"type":"string","description":"ID of the Git connector\n"},"connectorScope":{"type":"string","description":"Scope of the Git connector (PROJECT, ORGANISATION, or ACCOUNT)\n"},"createdAt":{"type":"string","description":"Creation timestamp\n"},"description":{"type":"string","description":"Description of the chaos hub\n"},"isAvailable":{"type":"boolean","description":"Whether the chaos hub is available\n"},"isDefault":{"type":"boolean","description":"Whether this is the default chaos hub\n"},"lastSyncedAt":{"type":"string","description":"Timestamp of the last sync\n"},"name":{"type":"string","description":"Name of the chaos hub\n"},"orgId":{"type":"string","description":"The organization ID of the chaos hub\n"},"projectId":{"type":"string","description":"The project ID of the chaos hub\n"},"repoBranch":{"type":"string","description":"Git repository branch\n"},"repoName":{"type":"string","description":"Name of the Git repository (required for account-level connectors)\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the chaos hub\n"},"totalExperiments":{"type":"integer","description":"Total number of experiments in the hub\n"},"totalFaults":{"type":"integer","description":"Total number of faults in the hub\n"},"updatedAt":{"type":"string","description":"Last update timestamp\n"}},"required":["connectorId","createdAt","isAvailable","lastSyncedAt","name","repoBranch","totalExperiments","totalFaults","updatedAt"],"inputProperties":{"connectorId":{"type":"string","description":"ID of the Git connector\n"},"connectorScope":{"type":"string","description":"Scope of the Git connector (PROJECT, ORGANISATION, or ACCOUNT)\n"},"description":{"type":"string","description":"Description of the chaos hub\n"},"isDefault":{"type":"boolean","description":"Whether this is the default chaos hub\n"},"name":{"type":"string","description":"Name of the chaos hub\n"},"orgId":{"type":"string","description":"The organization ID of the chaos hub\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"The project ID of the chaos hub\n","willReplaceOnChanges":true},"repoBranch":{"type":"string","description":"Git repository branch\n"},"repoName":{"type":"string","description":"Name of the Git repository (required for account-level connectors)\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the chaos hub\n"}},"requiredInputs":["connectorId","repoBranch"],"stateInputs":{"description":"Input properties used for looking up and filtering Hub resources.\n","properties":{"connectorId":{"type":"string","description":"ID of the Git connector\n"},"connectorScope":{"type":"string","description":"Scope of the Git connector (PROJECT, ORGANISATION, or ACCOUNT)\n"},"createdAt":{"type":"string","description":"Creation timestamp\n"},"description":{"type":"string","description":"Description of the chaos hub\n"},"isAvailable":{"type":"boolean","description":"Whether the chaos hub is available\n"},"isDefault":{"type":"boolean","description":"Whether this is the default chaos hub\n"},"lastSyncedAt":{"type":"string","description":"Timestamp of the last sync\n"},"name":{"type":"string","description":"Name of the chaos hub\n"},"orgId":{"type":"string","description":"The organization ID of the chaos hub\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"The project ID of the chaos hub\n","willReplaceOnChanges":true},"repoBranch":{"type":"string","description":"Git repository branch\n"},"repoName":{"type":"string","description":"Name of the Git repository (required for account-level connectors)\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the chaos hub\n"},"totalExperiments":{"type":"integer","description":"Total number of experiments in the hub\n"},"totalFaults":{"type":"integer","description":"Total number of faults in the hub\n"},"updatedAt":{"type":"string","description":"Last update timestamp\n"}},"type":"object"}},"harness:chaos/hubSync:HubSync":{"description":"Resource for syncing a Harness Chaos Hub\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.chaos.HubSync(\"example\", {\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n    hubId: \"\u003chub_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.chaos.HubSync(\"example\",\n    org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\",\n    hub_id=\"\u003chub_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Chaos.HubSync(\"example\", new()\n    {\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n        HubId = \"\u003chub_id\u003e\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/chaos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chaos.NewHubSync(ctx, \"example\", \u0026chaos.HubSyncArgs{\n\t\t\tOrgId:     pulumi.String(\"\u003corg_id\u003e\"),\n\t\t\tProjectId: pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tHubId:     pulumi.String(\"\u003chub_id\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.chaos.HubSync;\nimport com.pulumi.harness.chaos.HubSyncArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new HubSync(\"example\", HubSyncArgs.builder()\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .hubId(\"\u003chub_id\u003e\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:chaos:HubSync\n    properties:\n      orgId: \u003corg_id\u003e\n      projectId: \u003cproject_id\u003e\n      hubId: \u003chub_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"hubId":{"type":"string","description":"The ID of the Chaos Hub to sync\n"},"lastSyncedAt":{"type":"string","description":"Timestamp of the last sync\n"},"orgId":{"type":"string"},"projectId":{"type":"string"}},"required":["hubId","lastSyncedAt","orgId","projectId"],"inputProperties":{"hubId":{"type":"string","description":"The ID of the Chaos Hub to sync\n","willReplaceOnChanges":true},"orgId":{"type":"string","willReplaceOnChanges":true},"projectId":{"type":"string","willReplaceOnChanges":true}},"requiredInputs":["hubId","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering HubSync resources.\n","properties":{"hubId":{"type":"string","description":"The ID of the Chaos Hub to sync\n","willReplaceOnChanges":true},"lastSyncedAt":{"type":"string","description":"Timestamp of the last sync\n"},"orgId":{"type":"string","willReplaceOnChanges":true},"projectId":{"type":"string","willReplaceOnChanges":true}},"type":"object"}},"harness:chaos/imageRegistry:ImageRegistry":{"description":"Resource for managing a Harness Chaos Image Registry\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.chaos.ImageRegistry(\"example\", {\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n    registryServer: \"\u003cregistry_server\u003e\",\n    registryAccount: \"\u003cregistry_account\u003e\",\n    isPrivate: true,\n    secretName: \"\u003csecret_name\u003e\",\n    isDefault: false,\n    isOverrideAllowed: true,\n    useCustomImages: true,\n    customImages: [{\n        logWatcher: \"\u003clog_watcher_image\u003e\",\n        ddcr: \"\u003cddcr_image\u003e\",\n        ddcrLib: \"\u003cddcr_lib_image\u003e\",\n        ddcrFault: \"\u003cddcr_fault_image\u003e\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.chaos.ImageRegistry(\"example\",\n    org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\",\n    registry_server=\"\u003cregistry_server\u003e\",\n    registry_account=\"\u003cregistry_account\u003e\",\n    is_private=True,\n    secret_name=\"\u003csecret_name\u003e\",\n    is_default=False,\n    is_override_allowed=True,\n    use_custom_images=True,\n    custom_images=[{\n        \"log_watcher\": \"\u003clog_watcher_image\u003e\",\n        \"ddcr\": \"\u003cddcr_image\u003e\",\n        \"ddcr_lib\": \"\u003cddcr_lib_image\u003e\",\n        \"ddcr_fault\": \"\u003cddcr_fault_image\u003e\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Chaos.ImageRegistry(\"example\", new()\n    {\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n        RegistryServer = \"\u003cregistry_server\u003e\",\n        RegistryAccount = \"\u003cregistry_account\u003e\",\n        IsPrivate = true,\n        SecretName = \"\u003csecret_name\u003e\",\n        IsDefault = false,\n        IsOverrideAllowed = true,\n        UseCustomImages = true,\n        CustomImages = new[]\n        {\n            new Harness.Chaos.Inputs.ImageRegistryCustomImageArgs\n            {\n                LogWatcher = \"\u003clog_watcher_image\u003e\",\n                Ddcr = \"\u003cddcr_image\u003e\",\n                DdcrLib = \"\u003cddcr_lib_image\u003e\",\n                DdcrFault = \"\u003cddcr_fault_image\u003e\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/chaos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chaos.NewImageRegistry(ctx, \"example\", \u0026chaos.ImageRegistryArgs{\n\t\t\tOrgId:             pulumi.String(\"\u003corg_id\u003e\"),\n\t\t\tProjectId:         pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tRegistryServer:    pulumi.String(\"\u003cregistry_server\u003e\"),\n\t\t\tRegistryAccount:   pulumi.String(\"\u003cregistry_account\u003e\"),\n\t\t\tIsPrivate:         pulumi.Bool(true),\n\t\t\tSecretName:        pulumi.String(\"\u003csecret_name\u003e\"),\n\t\t\tIsDefault:         pulumi.Bool(false),\n\t\t\tIsOverrideAllowed: pulumi.Bool(true),\n\t\t\tUseCustomImages:   pulumi.Bool(true),\n\t\t\tCustomImages: chaos.ImageRegistryCustomImageArray{\n\t\t\t\t\u0026chaos.ImageRegistryCustomImageArgs{\n\t\t\t\t\tLogWatcher: pulumi.String(\"\u003clog_watcher_image\u003e\"),\n\t\t\t\t\tDdcr:       pulumi.String(\"\u003cddcr_image\u003e\"),\n\t\t\t\t\tDdcrLib:    pulumi.String(\"\u003cddcr_lib_image\u003e\"),\n\t\t\t\t\tDdcrFault:  pulumi.String(\"\u003cddcr_fault_image\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.chaos.ImageRegistry;\nimport com.pulumi.harness.chaos.ImageRegistryArgs;\nimport com.pulumi.harness.chaos.inputs.ImageRegistryCustomImageArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ImageRegistry(\"example\", ImageRegistryArgs.builder()\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .registryServer(\"\u003cregistry_server\u003e\")\n            .registryAccount(\"\u003cregistry_account\u003e\")\n            .isPrivate(true)\n            .secretName(\"\u003csecret_name\u003e\")\n            .isDefault(false)\n            .isOverrideAllowed(true)\n            .useCustomImages(true)\n            .customImages(ImageRegistryCustomImageArgs.builder()\n                .logWatcher(\"\u003clog_watcher_image\u003e\")\n                .ddcr(\"\u003cddcr_image\u003e\")\n                .ddcrLib(\"\u003cddcr_lib_image\u003e\")\n                .ddcrFault(\"\u003cddcr_fault_image\u003e\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:chaos:ImageRegistry\n    properties:\n      orgId: \u003corg_id\u003e\n      projectId: \u003cproject_id\u003e\n      registryServer: \u003cregistry_server\u003e\n      registryAccount: \u003cregistry_account\u003e\n      isPrivate: true\n      secretName: \u003csecret_name\u003e\n      isDefault: false\n      isOverrideAllowed: true\n      useCustomImages: true # Custom images configuration\n      customImages:\n        - logWatcher: \u003clog_watcher_image\u003e\n          ddcr: \u003cddcr_image\u003e\n          ddcrLib: \u003cddcr_lib_image\u003e\n          ddcrFault: \u003cddcr_fault_image\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"createdAt":{"type":"string","description":"Creation timestamp\n"},"customImages":{"type":"array","items":{"$ref":"#/types/harness:chaos/ImageRegistryCustomImage:ImageRegistryCustomImage"},"description":"Custom images configuration\n"},"infraId":{"type":"string","description":"The infrastructure ID to set up the image registry\n"},"isDefault":{"type":"boolean","description":"Whether this is the default registry\n"},"isOverrideAllowed":{"type":"boolean","description":"Whether override is allowed for this registry\n"},"isPrivate":{"type":"boolean","description":"Whether the registry is private\n"},"orgId":{"type":"string","description":"The organization ID of the image registry\n"},"projectId":{"type":"string","description":"The project ID of the image registry\n"},"registryAccount":{"type":"string","description":"The registry account name\n"},"registryServer":{"type":"string","description":"The registry server URL\n"},"secretName":{"type":"string","description":"The name of the secret for authentication\n"},"updatedAt":{"type":"string","description":"Last update timestamp\n"},"useCustomImages":{"type":"boolean","description":"Whether to use custom images\n"}},"required":["createdAt","customImages","isPrivate","registryAccount","registryServer","updatedAt"],"inputProperties":{"customImages":{"type":"array","items":{"$ref":"#/types/harness:chaos/ImageRegistryCustomImage:ImageRegistryCustomImage"},"description":"Custom images configuration\n"},"infraId":{"type":"string","description":"The infrastructure ID to set up the image registry\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Whether this is the default registry\n"},"isOverrideAllowed":{"type":"boolean","description":"Whether override is allowed for this registry\n"},"isPrivate":{"type":"boolean","description":"Whether the registry is private\n"},"orgId":{"type":"string","description":"The organization ID of the image registry\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"The project ID of the image registry\n","willReplaceOnChanges":true},"registryAccount":{"type":"string","description":"The registry account name\n"},"registryServer":{"type":"string","description":"The registry server URL\n"},"secretName":{"type":"string","description":"The name of the secret for authentication\n"},"useCustomImages":{"type":"boolean","description":"Whether to use custom images\n"}},"requiredInputs":["isPrivate","registryAccount","registryServer"],"stateInputs":{"description":"Input properties used for looking up and filtering ImageRegistry resources.\n","properties":{"createdAt":{"type":"string","description":"Creation timestamp\n"},"customImages":{"type":"array","items":{"$ref":"#/types/harness:chaos/ImageRegistryCustomImage:ImageRegistryCustomImage"},"description":"Custom images configuration\n"},"infraId":{"type":"string","description":"The infrastructure ID to set up the image registry\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Whether this is the default registry\n"},"isOverrideAllowed":{"type":"boolean","description":"Whether override is allowed for this registry\n"},"isPrivate":{"type":"boolean","description":"Whether the registry is private\n"},"orgId":{"type":"string","description":"The organization ID of the image registry\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"The project ID of the image registry\n","willReplaceOnChanges":true},"registryAccount":{"type":"string","description":"The registry account name\n"},"registryServer":{"type":"string","description":"The registry server URL\n"},"secretName":{"type":"string","description":"The name of the secret for authentication\n"},"updatedAt":{"type":"string","description":"Last update timestamp\n"},"useCustomImages":{"type":"boolean","description":"Whether to use custom images\n"}},"type":"object"}},"harness:chaos/infrastructureV2:InfrastructureV2":{"description":"Resource for managing Harness Chaos Infrastructure V2.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport Project level Chaos Infrastructure v2\n\n```sh\n$ pulumi import harness:chaos/infrastructureV2:InfrastructureV2 example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cenvironment_id\u003e/\u003cinfra_id\u003e\n```\n\n","properties":{"aiEnabled":{"type":"boolean","description":"Enable AI features for the infrastructure.\n"},"annotation":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the infrastructure pods.\n"},"containers":{"type":"string","description":"Container configurations.\n"},"correlationId":{"type":"string","description":"Correlation ID for the request.\n"},"createdAt":{"type":"string","description":"Creation timestamp.\n"},"description":{"type":"string","description":"Description of the infrastructure.\n"},"discoveryAgentId":{"type":"string","description":"ID of the discovery agent to use.\n"},"environmentId":{"type":"string","description":"The ID of the environment.\n"},"envs":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Env:InfrastructureV2Env"},"description":"List of environment variables to set in the container.\n"},"identifiers":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Identifier:InfrastructureV2Identifier"},"description":"Identifier for the infrastructure.\n"},"identity":{"type":"string","description":"Identity for the infrastructure.\n"},"imageRegistries":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2ImageRegistry:InfrastructureV2ImageRegistry"},"description":"Configuration for the container image registry.\n"},"infraId":{"type":"string","description":"ID of the infrastructure.\n"},"infraNamespace":{"type":"string","description":"Namespace where the infrastructure is installed.\n"},"infraScope":{"type":"string","description":"Scope of the infrastructure. Valid values: NAMESPACE, CLUSTER\n"},"infraType":{"type":"string","description":"Type of the infrastructure. Valid values: KUBERNETES, KUBERNETESV2\n"},"insecureSkipVerify":{"type":"boolean","description":"Skip TLS verification for the infrastructure.\n"},"installCommand":{"type":"string","description":"Installation command for the infrastructure.\n"},"k8sConnectorId":{"type":"string","description":"Kubernetes connector identifier.\n"},"label":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the infrastructure pods.\n"},"mtls":{"$ref":"#/types/harness:chaos/InfrastructureV2Mtls:InfrastructureV2Mtls","description":"mTLS configuration for the infrastructure.\n"},"name":{"type":"string","description":"Name of the infrastructure.\n"},"namespace":{"type":"string","description":"Kubernetes namespace where the infrastructure will be installed. Maps to the infrastructure namespace.\n"},"nodeSelector":{"type":"object","additionalProperties":{"type":"string"},"description":"Node selector for the infrastructure pods.\n"},"orgId":{"type":"string","description":"The ID of the organization.\n"},"projectId":{"type":"string","description":"The ID of the project.\n"},"proxy":{"$ref":"#/types/harness:chaos/InfrastructureV2Proxy:InfrastructureV2Proxy","description":"Proxy configuration for the infrastructure.\n"},"runAsGroup":{"type":"integer","description":"Group ID to run the infrastructure as.\n"},"runAsUser":{"type":"integer","description":"User ID to run the infrastructure as.\n"},"serviceAccount":{"type":"string","description":"Service account used by the infrastructure.\n"},"status":{"type":"string","description":"Status of the infrastructure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the infrastructure.\n"},"tolerations":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Toleration:InfrastructureV2Toleration"},"description":"If specified, the pod's tolerations.\n"},"updatedAt":{"type":"string","description":"Last update timestamp.\n"},"volumeMounts":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2VolumeMount:InfrastructureV2VolumeMount"},"description":"Volume mounts for the container.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Volume:InfrastructureV2Volume"},"description":"Volumes to be created in the infrastructure.\n"}},"required":["correlationId","createdAt","environmentId","identifiers","identity","imageRegistries","infraId","infraNamespace","infraScope","installCommand","k8sConnectorId","name","orgId","projectId","status","updatedAt"],"inputProperties":{"aiEnabled":{"type":"boolean","description":"Enable AI features for the infrastructure.\n"},"annotation":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the infrastructure pods.\n"},"containers":{"type":"string","description":"Container configurations.\n"},"correlationId":{"type":"string","description":"Correlation ID for the request.\n"},"description":{"type":"string","description":"Description of the infrastructure.\n"},"discoveryAgentId":{"type":"string","description":"ID of the discovery agent to use.\n"},"environmentId":{"type":"string","description":"The ID of the environment.\n","willReplaceOnChanges":true},"envs":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Env:InfrastructureV2Env"},"description":"List of environment variables to set in the container.\n"},"imageRegistries":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2ImageRegistry:InfrastructureV2ImageRegistry"},"description":"Configuration for the container image registry.\n"},"infraId":{"type":"string","description":"ID of the infrastructure.\n"},"infraScope":{"type":"string","description":"Scope of the infrastructure. Valid values: NAMESPACE, CLUSTER\n","willReplaceOnChanges":true},"infraType":{"type":"string","description":"Type of the infrastructure. Valid values: KUBERNETES, KUBERNETESV2\n"},"insecureSkipVerify":{"type":"boolean","description":"Skip TLS verification for the infrastructure.\n"},"label":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the infrastructure pods.\n"},"mtls":{"$ref":"#/types/harness:chaos/InfrastructureV2Mtls:InfrastructureV2Mtls","description":"mTLS configuration for the infrastructure.\n"},"name":{"type":"string","description":"Name of the infrastructure.\n"},"namespace":{"type":"string","description":"Kubernetes namespace where the infrastructure will be installed. Maps to the infrastructure namespace.\n"},"nodeSelector":{"type":"object","additionalProperties":{"type":"string"},"description":"Node selector for the infrastructure pods.\n"},"orgId":{"type":"string","description":"The ID of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"The ID of the project.\n","willReplaceOnChanges":true},"proxy":{"$ref":"#/types/harness:chaos/InfrastructureV2Proxy:InfrastructureV2Proxy","description":"Proxy configuration for the infrastructure.\n"},"runAsGroup":{"type":"integer","description":"Group ID to run the infrastructure as.\n"},"runAsUser":{"type":"integer","description":"User ID to run the infrastructure as.\n"},"serviceAccount":{"type":"string","description":"Service account used by the infrastructure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the infrastructure.\n"},"tolerations":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Toleration:InfrastructureV2Toleration"},"description":"If specified, the pod's tolerations.\n"},"volumeMounts":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2VolumeMount:InfrastructureV2VolumeMount"},"description":"Volume mounts for the container.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Volume:InfrastructureV2Volume"},"description":"Volumes to be created in the infrastructure.\n"}},"requiredInputs":["environmentId","infraId","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering InfrastructureV2 resources.\n","properties":{"aiEnabled":{"type":"boolean","description":"Enable AI features for the infrastructure.\n"},"annotation":{"type":"object","additionalProperties":{"type":"string"},"description":"Annotations to apply to the infrastructure pods.\n"},"containers":{"type":"string","description":"Container configurations.\n"},"correlationId":{"type":"string","description":"Correlation ID for the request.\n"},"createdAt":{"type":"string","description":"Creation timestamp.\n"},"description":{"type":"string","description":"Description of the infrastructure.\n"},"discoveryAgentId":{"type":"string","description":"ID of the discovery agent to use.\n"},"environmentId":{"type":"string","description":"The ID of the environment.\n","willReplaceOnChanges":true},"envs":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Env:InfrastructureV2Env"},"description":"List of environment variables to set in the container.\n"},"identifiers":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Identifier:InfrastructureV2Identifier"},"description":"Identifier for the infrastructure.\n"},"identity":{"type":"string","description":"Identity for the infrastructure.\n"},"imageRegistries":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2ImageRegistry:InfrastructureV2ImageRegistry"},"description":"Configuration for the container image registry.\n"},"infraId":{"type":"string","description":"ID of the infrastructure.\n"},"infraNamespace":{"type":"string","description":"Namespace where the infrastructure is installed.\n"},"infraScope":{"type":"string","description":"Scope of the infrastructure. Valid values: NAMESPACE, CLUSTER\n","willReplaceOnChanges":true},"infraType":{"type":"string","description":"Type of the infrastructure. Valid values: KUBERNETES, KUBERNETESV2\n"},"insecureSkipVerify":{"type":"boolean","description":"Skip TLS verification for the infrastructure.\n"},"installCommand":{"type":"string","description":"Installation command for the infrastructure.\n"},"k8sConnectorId":{"type":"string","description":"Kubernetes connector identifier.\n"},"label":{"type":"object","additionalProperties":{"type":"string"},"description":"Labels to apply to the infrastructure pods.\n"},"mtls":{"$ref":"#/types/harness:chaos/InfrastructureV2Mtls:InfrastructureV2Mtls","description":"mTLS configuration for the infrastructure.\n"},"name":{"type":"string","description":"Name of the infrastructure.\n"},"namespace":{"type":"string","description":"Kubernetes namespace where the infrastructure will be installed. Maps to the infrastructure namespace.\n"},"nodeSelector":{"type":"object","additionalProperties":{"type":"string"},"description":"Node selector for the infrastructure pods.\n"},"orgId":{"type":"string","description":"The ID of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"The ID of the project.\n","willReplaceOnChanges":true},"proxy":{"$ref":"#/types/harness:chaos/InfrastructureV2Proxy:InfrastructureV2Proxy","description":"Proxy configuration for the infrastructure.\n"},"runAsGroup":{"type":"integer","description":"Group ID to run the infrastructure as.\n"},"runAsUser":{"type":"integer","description":"User ID to run the infrastructure as.\n"},"serviceAccount":{"type":"string","description":"Service account used by the infrastructure.\n"},"status":{"type":"string","description":"Status of the infrastructure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the infrastructure.\n"},"tolerations":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Toleration:InfrastructureV2Toleration"},"description":"If specified, the pod's tolerations.\n"},"updatedAt":{"type":"string","description":"Last update timestamp.\n"},"volumeMounts":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2VolumeMount:InfrastructureV2VolumeMount"},"description":"Volume mounts for the container.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/harness:chaos/InfrastructureV2Volume:InfrastructureV2Volume"},"description":"Volumes to be created in the infrastructure.\n"}},"type":"object"}},"harness:chaos/securityGovernanceCondition:SecurityGovernanceCondition":{"description":"Resource for managing a Harness Chaos Security Governance Condition\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Example of a Kubernetes Security Governance Condition\nconst k8sCondition = new harness.chaos.SecurityGovernanceCondition(\"k8s_condition\", {\n    orgId: orgId,\n    projectId: projectId,\n    name: \"k8s-security-condition\",\n    description: \"Security governance condition for Kubernetes workloads\",\n    infraType: \"KubernetesV2\",\n    faultSpec: {\n        operator: \"NOT_EQUAL_TO\",\n        faults: [\n            {\n                faultType: \"FAULT\",\n                name: \"pod-delete\",\n            },\n            {\n                faultType: \"FAULT\",\n                name: \"pod-dns\",\n            },\n        ],\n    },\n    k8sSpec: {\n        infraSpec: {\n            operator: \"EQUAL_TO\",\n            infraIds: [k8sInfraId],\n        },\n        applicationSpec: {\n            operator: \"EQUAL_TO\",\n            workloads: [{\n                namespace: \"default\",\n                kind: \"deployment\",\n                label: \"app=nginx\",\n                services: [\"nginx-service\"],\n                applicationMapId: \"nginx-app\",\n            }],\n        },\n        chaosServiceAccountSpec: {\n            operator: \"EQUAL_TO\",\n            serviceAccounts: [\n                \"default\",\n                \"chaos-service-account\",\n            ],\n        },\n    },\n    tags: [\n        \"env:prod\",\n        \"team:security\",\n        \"platform:k8s\",\n    ],\n});\n// Example of a Windows Security Governance Condition\nconst windowsCondition = new harness.chaos.SecurityGovernanceCondition(\"windows_condition\", {\n    orgId: orgId,\n    projectId: projectId,\n    name: \"windows-security-condition\",\n    description: \"Security governance condition for Windows hosts\",\n    infraType: \"Windows\",\n    faultSpec: {\n        operator: \"NOT_EQUAL_TO\",\n        faults: [\n            {\n                faultType: \"FAULT\",\n                name: \"process-kill\",\n            },\n            {\n                faultType: \"FAULT\",\n                name: \"cpu-hog\",\n            },\n        ],\n    },\n    machineSpec: {\n        infraSpec: {\n            operator: \"EQUAL_TO\",\n            infraIds: [windowsInfraId],\n        },\n    },\n    tags: [\n        \"env:prod\",\n        \"team:security\",\n        \"platform:windows\",\n    ],\n});\n// Example of a Linux Security Governance Condition\nconst linuxCondition = new harness.chaos.SecurityGovernanceCondition(\"linux_condition\", {\n    orgId: orgId,\n    projectId: projectId,\n    name: \"linux-security-condition\",\n    description: \"Security governance condition for Linux hosts\",\n    infraType: \"Linux\",\n    faultSpec: {\n        operator: \"NOT_EQUAL_TO\",\n        faults: [\n            {\n                faultType: \"FAULT\",\n                name: \"process-kill\",\n            },\n            {\n                faultType: \"FAULT\",\n                name: \"memory-hog\",\n            },\n        ],\n    },\n    machineSpec: {\n        infraSpec: {\n            operator: \"EQUAL_TO\",\n            infraIds: [linuxInfraId],\n        },\n    },\n    tags: [\n        \"env:prod\",\n        \"team:security\",\n        \"platform:linux\",\n    ],\n});\nexport const k8sConditionId = k8sCondition.id;\nexport const windowsConditionId = windowsCondition.id;\nexport const linuxConditionId = linuxCondition.id;\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Example of a Kubernetes Security Governance Condition\nk8s_condition = harness.chaos.SecurityGovernanceCondition(\"k8s_condition\",\n    org_id=org_id,\n    project_id=project_id,\n    name=\"k8s-security-condition\",\n    description=\"Security governance condition for Kubernetes workloads\",\n    infra_type=\"KubernetesV2\",\n    fault_spec={\n        \"operator\": \"NOT_EQUAL_TO\",\n        \"faults\": [\n            {\n                \"fault_type\": \"FAULT\",\n                \"name\": \"pod-delete\",\n            },\n            {\n                \"fault_type\": \"FAULT\",\n                \"name\": \"pod-dns\",\n            },\n        ],\n    },\n    k8s_spec={\n        \"infra_spec\": {\n            \"operator\": \"EQUAL_TO\",\n            \"infra_ids\": [k8s_infra_id],\n        },\n        \"application_spec\": {\n            \"operator\": \"EQUAL_TO\",\n            \"workloads\": [{\n                \"namespace\": \"default\",\n                \"kind\": \"deployment\",\n                \"label\": \"app=nginx\",\n                \"services\": [\"nginx-service\"],\n                \"application_map_id\": \"nginx-app\",\n            }],\n        },\n        \"chaos_service_account_spec\": {\n            \"operator\": \"EQUAL_TO\",\n            \"service_accounts\": [\n                \"default\",\n                \"chaos-service-account\",\n            ],\n        },\n    },\n    tags=[\n        \"env:prod\",\n        \"team:security\",\n        \"platform:k8s\",\n    ])\n# Example of a Windows Security Governance Condition\nwindows_condition = harness.chaos.SecurityGovernanceCondition(\"windows_condition\",\n    org_id=org_id,\n    project_id=project_id,\n    name=\"windows-security-condition\",\n    description=\"Security governance condition for Windows hosts\",\n    infra_type=\"Windows\",\n    fault_spec={\n        \"operator\": \"NOT_EQUAL_TO\",\n        \"faults\": [\n            {\n                \"fault_type\": \"FAULT\",\n                \"name\": \"process-kill\",\n            },\n            {\n                \"fault_type\": \"FAULT\",\n                \"name\": \"cpu-hog\",\n            },\n        ],\n    },\n    machine_spec={\n        \"infra_spec\": {\n            \"operator\": \"EQUAL_TO\",\n            \"infra_ids\": [windows_infra_id],\n        },\n    },\n    tags=[\n        \"env:prod\",\n        \"team:security\",\n        \"platform:windows\",\n    ])\n# Example of a Linux Security Governance Condition\nlinux_condition = harness.chaos.SecurityGovernanceCondition(\"linux_condition\",\n    org_id=org_id,\n    project_id=project_id,\n    name=\"linux-security-condition\",\n    description=\"Security governance condition for Linux hosts\",\n    infra_type=\"Linux\",\n    fault_spec={\n        \"operator\": \"NOT_EQUAL_TO\",\n        \"faults\": [\n            {\n                \"fault_type\": \"FAULT\",\n                \"name\": \"process-kill\",\n            },\n            {\n                \"fault_type\": \"FAULT\",\n                \"name\": \"memory-hog\",\n            },\n        ],\n    },\n    machine_spec={\n        \"infra_spec\": {\n            \"operator\": \"EQUAL_TO\",\n            \"infra_ids\": [linux_infra_id],\n        },\n    },\n    tags=[\n        \"env:prod\",\n        \"team:security\",\n        \"platform:linux\",\n    ])\npulumi.export(\"k8sConditionId\", k8s_condition.id)\npulumi.export(\"windowsConditionId\", windows_condition.id)\npulumi.export(\"linuxConditionId\", linux_condition.id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Example of a Kubernetes Security Governance Condition\n    var k8sCondition = new Harness.Chaos.SecurityGovernanceCondition(\"k8s_condition\", new()\n    {\n        OrgId = orgId,\n        ProjectId = projectId,\n        Name = \"k8s-security-condition\",\n        Description = \"Security governance condition for Kubernetes workloads\",\n        InfraType = \"KubernetesV2\",\n        FaultSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionFaultSpecArgs\n        {\n            Operator = \"NOT_EQUAL_TO\",\n            Faults = new[]\n            {\n                new Harness.Chaos.Inputs.SecurityGovernanceConditionFaultSpecFaultArgs\n                {\n                    FaultType = \"FAULT\",\n                    Name = \"pod-delete\",\n                },\n                new Harness.Chaos.Inputs.SecurityGovernanceConditionFaultSpecFaultArgs\n                {\n                    FaultType = \"FAULT\",\n                    Name = \"pod-dns\",\n                },\n            },\n        },\n        K8sSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionK8sSpecArgs\n        {\n            InfraSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionK8sSpecInfraSpecArgs\n            {\n                Operator = \"EQUAL_TO\",\n                InfraIds = new[]\n                {\n                    k8sInfraId,\n                },\n            },\n            ApplicationSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionK8sSpecApplicationSpecArgs\n            {\n                Operator = \"EQUAL_TO\",\n                Workloads = new[]\n                {\n                    new Harness.Chaos.Inputs.SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs\n                    {\n                        Namespace = \"default\",\n                        Kind = \"deployment\",\n                        Label = \"app=nginx\",\n                        Services = new[]\n                        {\n                            \"nginx-service\",\n                        },\n                        ApplicationMapId = \"nginx-app\",\n                    },\n                },\n            },\n            ChaosServiceAccountSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs\n            {\n                Operator = \"EQUAL_TO\",\n                ServiceAccounts = new[]\n                {\n                    \"default\",\n                    \"chaos-service-account\",\n                },\n            },\n        },\n        Tags = new[]\n        {\n            \"env:prod\",\n            \"team:security\",\n            \"platform:k8s\",\n        },\n    });\n\n    // Example of a Windows Security Governance Condition\n    var windowsCondition = new Harness.Chaos.SecurityGovernanceCondition(\"windows_condition\", new()\n    {\n        OrgId = orgId,\n        ProjectId = projectId,\n        Name = \"windows-security-condition\",\n        Description = \"Security governance condition for Windows hosts\",\n        InfraType = \"Windows\",\n        FaultSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionFaultSpecArgs\n        {\n            Operator = \"NOT_EQUAL_TO\",\n            Faults = new[]\n            {\n                new Harness.Chaos.Inputs.SecurityGovernanceConditionFaultSpecFaultArgs\n                {\n                    FaultType = \"FAULT\",\n                    Name = \"process-kill\",\n                },\n                new Harness.Chaos.Inputs.SecurityGovernanceConditionFaultSpecFaultArgs\n                {\n                    FaultType = \"FAULT\",\n                    Name = \"cpu-hog\",\n                },\n            },\n        },\n        MachineSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionMachineSpecArgs\n        {\n            InfraSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionMachineSpecInfraSpecArgs\n            {\n                Operator = \"EQUAL_TO\",\n                InfraIds = new[]\n                {\n                    windowsInfraId,\n                },\n            },\n        },\n        Tags = new[]\n        {\n            \"env:prod\",\n            \"team:security\",\n            \"platform:windows\",\n        },\n    });\n\n    // Example of a Linux Security Governance Condition\n    var linuxCondition = new Harness.Chaos.SecurityGovernanceCondition(\"linux_condition\", new()\n    {\n        OrgId = orgId,\n        ProjectId = projectId,\n        Name = \"linux-security-condition\",\n        Description = \"Security governance condition for Linux hosts\",\n        InfraType = \"Linux\",\n        FaultSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionFaultSpecArgs\n        {\n            Operator = \"NOT_EQUAL_TO\",\n            Faults = new[]\n            {\n                new Harness.Chaos.Inputs.SecurityGovernanceConditionFaultSpecFaultArgs\n                {\n                    FaultType = \"FAULT\",\n                    Name = \"process-kill\",\n                },\n                new Harness.Chaos.Inputs.SecurityGovernanceConditionFaultSpecFaultArgs\n                {\n                    FaultType = \"FAULT\",\n                    Name = \"memory-hog\",\n                },\n            },\n        },\n        MachineSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionMachineSpecArgs\n        {\n            InfraSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionMachineSpecInfraSpecArgs\n            {\n                Operator = \"EQUAL_TO\",\n                InfraIds = new[]\n                {\n                    linuxInfraId,\n                },\n            },\n        },\n        Tags = new[]\n        {\n            \"env:prod\",\n            \"team:security\",\n            \"platform:linux\",\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"k8sConditionId\"] = k8sCondition.Id,\n        [\"windowsConditionId\"] = windowsCondition.Id,\n        [\"linuxConditionId\"] = linuxCondition.Id,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/chaos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example of a Kubernetes Security Governance Condition\n\t\tk8sCondition, err := chaos.NewSecurityGovernanceCondition(ctx, \"k8s_condition\", \u0026chaos.SecurityGovernanceConditionArgs{\n\t\t\tOrgId:       pulumi.Any(orgId),\n\t\t\tProjectId:   pulumi.Any(projectId),\n\t\t\tName:        pulumi.String(\"k8s-security-condition\"),\n\t\t\tDescription: pulumi.String(\"Security governance condition for Kubernetes workloads\"),\n\t\t\tInfraType:   pulumi.String(\"KubernetesV2\"),\n\t\t\tFaultSpec: \u0026chaos.SecurityGovernanceConditionFaultSpecArgs{\n\t\t\t\tOperator: pulumi.String(\"NOT_EQUAL_TO\"),\n\t\t\t\tFaults: chaos.SecurityGovernanceConditionFaultSpecFaultArray{\n\t\t\t\t\t\u0026chaos.SecurityGovernanceConditionFaultSpecFaultArgs{\n\t\t\t\t\t\tFaultType: pulumi.String(\"FAULT\"),\n\t\t\t\t\t\tName:      pulumi.String(\"pod-delete\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chaos.SecurityGovernanceConditionFaultSpecFaultArgs{\n\t\t\t\t\t\tFaultType: pulumi.String(\"FAULT\"),\n\t\t\t\t\t\tName:      pulumi.String(\"pod-dns\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tK8sSpec: \u0026chaos.SecurityGovernanceConditionK8sSpecArgs{\n\t\t\t\tInfraSpec: \u0026chaos.SecurityGovernanceConditionK8sSpecInfraSpecArgs{\n\t\t\t\t\tOperator: pulumi.String(\"EQUAL_TO\"),\n\t\t\t\t\tInfraIds: pulumi.StringArray{\n\t\t\t\t\t\tk8sInfraId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tApplicationSpec: \u0026chaos.SecurityGovernanceConditionK8sSpecApplicationSpecArgs{\n\t\t\t\t\tOperator: pulumi.String(\"EQUAL_TO\"),\n\t\t\t\t\tWorkloads: chaos.SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArray{\n\t\t\t\t\t\t\u0026chaos.SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs{\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"default\"),\n\t\t\t\t\t\t\tKind:      pulumi.String(\"deployment\"),\n\t\t\t\t\t\t\tLabel:     pulumi.String(\"app=nginx\"),\n\t\t\t\t\t\t\tServices: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"nginx-service\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tApplicationMapId: pulumi.String(\"nginx-app\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tChaosServiceAccountSpec: \u0026chaos.SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs{\n\t\t\t\t\tOperator: pulumi.String(\"EQUAL_TO\"),\n\t\t\t\t\tServiceAccounts: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"default\"),\n\t\t\t\t\t\tpulumi.String(\"chaos-service-account\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"env:prod\"),\n\t\t\t\tpulumi.String(\"team:security\"),\n\t\t\t\tpulumi.String(\"platform:k8s\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example of a Windows Security Governance Condition\n\t\twindowsCondition, err := chaos.NewSecurityGovernanceCondition(ctx, \"windows_condition\", \u0026chaos.SecurityGovernanceConditionArgs{\n\t\t\tOrgId:       pulumi.Any(orgId),\n\t\t\tProjectId:   pulumi.Any(projectId),\n\t\t\tName:        pulumi.String(\"windows-security-condition\"),\n\t\t\tDescription: pulumi.String(\"Security governance condition for Windows hosts\"),\n\t\t\tInfraType:   pulumi.String(\"Windows\"),\n\t\t\tFaultSpec: \u0026chaos.SecurityGovernanceConditionFaultSpecArgs{\n\t\t\t\tOperator: pulumi.String(\"NOT_EQUAL_TO\"),\n\t\t\t\tFaults: chaos.SecurityGovernanceConditionFaultSpecFaultArray{\n\t\t\t\t\t\u0026chaos.SecurityGovernanceConditionFaultSpecFaultArgs{\n\t\t\t\t\t\tFaultType: pulumi.String(\"FAULT\"),\n\t\t\t\t\t\tName:      pulumi.String(\"process-kill\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chaos.SecurityGovernanceConditionFaultSpecFaultArgs{\n\t\t\t\t\t\tFaultType: pulumi.String(\"FAULT\"),\n\t\t\t\t\t\tName:      pulumi.String(\"cpu-hog\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMachineSpec: \u0026chaos.SecurityGovernanceConditionMachineSpecArgs{\n\t\t\t\tInfraSpec: \u0026chaos.SecurityGovernanceConditionMachineSpecInfraSpecArgs{\n\t\t\t\t\tOperator: pulumi.String(\"EQUAL_TO\"),\n\t\t\t\t\tInfraIds: pulumi.StringArray{\n\t\t\t\t\t\twindowsInfraId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"env:prod\"),\n\t\t\t\tpulumi.String(\"team:security\"),\n\t\t\t\tpulumi.String(\"platform:windows\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example of a Linux Security Governance Condition\n\t\tlinuxCondition, err := chaos.NewSecurityGovernanceCondition(ctx, \"linux_condition\", \u0026chaos.SecurityGovernanceConditionArgs{\n\t\t\tOrgId:       pulumi.Any(orgId),\n\t\t\tProjectId:   pulumi.Any(projectId),\n\t\t\tName:        pulumi.String(\"linux-security-condition\"),\n\t\t\tDescription: pulumi.String(\"Security governance condition for Linux hosts\"),\n\t\t\tInfraType:   pulumi.String(\"Linux\"),\n\t\t\tFaultSpec: \u0026chaos.SecurityGovernanceConditionFaultSpecArgs{\n\t\t\t\tOperator: pulumi.String(\"NOT_EQUAL_TO\"),\n\t\t\t\tFaults: chaos.SecurityGovernanceConditionFaultSpecFaultArray{\n\t\t\t\t\t\u0026chaos.SecurityGovernanceConditionFaultSpecFaultArgs{\n\t\t\t\t\t\tFaultType: pulumi.String(\"FAULT\"),\n\t\t\t\t\t\tName:      pulumi.String(\"process-kill\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chaos.SecurityGovernanceConditionFaultSpecFaultArgs{\n\t\t\t\t\t\tFaultType: pulumi.String(\"FAULT\"),\n\t\t\t\t\t\tName:      pulumi.String(\"memory-hog\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tMachineSpec: \u0026chaos.SecurityGovernanceConditionMachineSpecArgs{\n\t\t\t\tInfraSpec: \u0026chaos.SecurityGovernanceConditionMachineSpecInfraSpecArgs{\n\t\t\t\t\tOperator: pulumi.String(\"EQUAL_TO\"),\n\t\t\t\t\tInfraIds: pulumi.StringArray{\n\t\t\t\t\t\tlinuxInfraId,\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"env:prod\"),\n\t\t\t\tpulumi.String(\"team:security\"),\n\t\t\t\tpulumi.String(\"platform:linux\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"k8sConditionId\", k8sCondition.ID())\n\t\tctx.Export(\"windowsConditionId\", windowsCondition.ID())\n\t\tctx.Export(\"linuxConditionId\", linuxCondition.ID())\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.chaos.SecurityGovernanceCondition;\nimport com.pulumi.harness.chaos.SecurityGovernanceConditionArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionFaultSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionK8sSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionK8sSpecInfraSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionK8sSpecApplicationSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionMachineSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionMachineSpecInfraSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Example of a Kubernetes Security Governance Condition\n        var k8sCondition = new SecurityGovernanceCondition(\"k8sCondition\", SecurityGovernanceConditionArgs.builder()\n            .orgId(orgId)\n            .projectId(projectId)\n            .name(\"k8s-security-condition\")\n            .description(\"Security governance condition for Kubernetes workloads\")\n            .infraType(\"KubernetesV2\")\n            .faultSpec(SecurityGovernanceConditionFaultSpecArgs.builder()\n                .operator(\"NOT_EQUAL_TO\")\n                .faults(                \n                    SecurityGovernanceConditionFaultSpecFaultArgs.builder()\n                        .faultType(\"FAULT\")\n                        .name(\"pod-delete\")\n                        .build(),\n                    SecurityGovernanceConditionFaultSpecFaultArgs.builder()\n                        .faultType(\"FAULT\")\n                        .name(\"pod-dns\")\n                        .build())\n                .build())\n            .k8sSpec(SecurityGovernanceConditionK8sSpecArgs.builder()\n                .infraSpec(SecurityGovernanceConditionK8sSpecInfraSpecArgs.builder()\n                    .operator(\"EQUAL_TO\")\n                    .infraIds(k8sInfraId)\n                    .build())\n                .applicationSpec(SecurityGovernanceConditionK8sSpecApplicationSpecArgs.builder()\n                    .operator(\"EQUAL_TO\")\n                    .workloads(SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs.builder()\n                        .namespace(\"default\")\n                        .kind(\"deployment\")\n                        .label(\"app=nginx\")\n                        .services(\"nginx-service\")\n                        .applicationMapId(\"nginx-app\")\n                        .build())\n                    .build())\n                .chaosServiceAccountSpec(SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs.builder()\n                    .operator(\"EQUAL_TO\")\n                    .serviceAccounts(                    \n                        \"default\",\n                        \"chaos-service-account\")\n                    .build())\n                .build())\n            .tags(            \n                \"env:prod\",\n                \"team:security\",\n                \"platform:k8s\")\n            .build());\n\n        // Example of a Windows Security Governance Condition\n        var windowsCondition = new SecurityGovernanceCondition(\"windowsCondition\", SecurityGovernanceConditionArgs.builder()\n            .orgId(orgId)\n            .projectId(projectId)\n            .name(\"windows-security-condition\")\n            .description(\"Security governance condition for Windows hosts\")\n            .infraType(\"Windows\")\n            .faultSpec(SecurityGovernanceConditionFaultSpecArgs.builder()\n                .operator(\"NOT_EQUAL_TO\")\n                .faults(                \n                    SecurityGovernanceConditionFaultSpecFaultArgs.builder()\n                        .faultType(\"FAULT\")\n                        .name(\"process-kill\")\n                        .build(),\n                    SecurityGovernanceConditionFaultSpecFaultArgs.builder()\n                        .faultType(\"FAULT\")\n                        .name(\"cpu-hog\")\n                        .build())\n                .build())\n            .machineSpec(SecurityGovernanceConditionMachineSpecArgs.builder()\n                .infraSpec(SecurityGovernanceConditionMachineSpecInfraSpecArgs.builder()\n                    .operator(\"EQUAL_TO\")\n                    .infraIds(windowsInfraId)\n                    .build())\n                .build())\n            .tags(            \n                \"env:prod\",\n                \"team:security\",\n                \"platform:windows\")\n            .build());\n\n        // Example of a Linux Security Governance Condition\n        var linuxCondition = new SecurityGovernanceCondition(\"linuxCondition\", SecurityGovernanceConditionArgs.builder()\n            .orgId(orgId)\n            .projectId(projectId)\n            .name(\"linux-security-condition\")\n            .description(\"Security governance condition for Linux hosts\")\n            .infraType(\"Linux\")\n            .faultSpec(SecurityGovernanceConditionFaultSpecArgs.builder()\n                .operator(\"NOT_EQUAL_TO\")\n                .faults(                \n                    SecurityGovernanceConditionFaultSpecFaultArgs.builder()\n                        .faultType(\"FAULT\")\n                        .name(\"process-kill\")\n                        .build(),\n                    SecurityGovernanceConditionFaultSpecFaultArgs.builder()\n                        .faultType(\"FAULT\")\n                        .name(\"memory-hog\")\n                        .build())\n                .build())\n            .machineSpec(SecurityGovernanceConditionMachineSpecArgs.builder()\n                .infraSpec(SecurityGovernanceConditionMachineSpecInfraSpecArgs.builder()\n                    .operator(\"EQUAL_TO\")\n                    .infraIds(linuxInfraId)\n                    .build())\n                .build())\n            .tags(            \n                \"env:prod\",\n                \"team:security\",\n                \"platform:linux\")\n            .build());\n\n        ctx.export(\"k8sConditionId\", k8sCondition.id());\n        ctx.export(\"windowsConditionId\", windowsCondition.id());\n        ctx.export(\"linuxConditionId\", linuxCondition.id());\n    }\n}\n```\n```yaml\nresources:\n  # Example of a Kubernetes Security Governance Condition\n  k8sCondition:\n    type: harness:chaos:SecurityGovernanceCondition\n    name: k8s_condition\n    properties:\n      orgId: ${orgId}\n      projectId: ${projectId}\n      name: k8s-security-condition\n      description: Security governance condition for Kubernetes workloads\n      infraType: KubernetesV2\n      faultSpec:\n        operator: NOT_EQUAL_TO\n        faults:\n          - faultType: FAULT\n            name: pod-delete\n          - faultType: FAULT\n            name: pod-dns\n      k8sSpec:\n        infraSpec:\n          operator: EQUAL_TO\n          infraIds:\n            - ${k8sInfraId}\n        applicationSpec:\n          operator: EQUAL_TO\n          workloads:\n            - namespace: default\n              kind: deployment\n              label: app=nginx\n              services:\n                - nginx-service\n              applicationMapId: nginx-app\n        chaosServiceAccountSpec:\n          operator: EQUAL_TO\n          serviceAccounts:\n            - default\n            - chaos-service-account\n      tags:\n        - env:prod\n        - team:security\n        - platform:k8s\n  # Example of a Windows Security Governance Condition\n  windowsCondition:\n    type: harness:chaos:SecurityGovernanceCondition\n    name: windows_condition\n    properties:\n      orgId: ${orgId}\n      projectId: ${projectId}\n      name: windows-security-condition\n      description: Security governance condition for Windows hosts\n      infraType: Windows\n      faultSpec:\n        operator: NOT_EQUAL_TO\n        faults:\n          - faultType: FAULT\n            name: process-kill\n          - faultType: FAULT\n            name: cpu-hog\n      machineSpec:\n        infraSpec:\n          operator: EQUAL_TO\n          infraIds:\n            - ${windowsInfraId}\n      tags:\n        - env:prod\n        - team:security\n        - platform:windows\n  # Example of a Linux Security Governance Condition\n  linuxCondition:\n    type: harness:chaos:SecurityGovernanceCondition\n    name: linux_condition\n    properties:\n      orgId: ${orgId}\n      projectId: ${projectId}\n      name: linux-security-condition\n      description: Security governance condition for Linux hosts\n      infraType: Linux\n      faultSpec:\n        operator: NOT_EQUAL_TO\n        faults:\n          - faultType: FAULT\n            name: process-kill\n          - faultType: FAULT\n            name: memory-hog\n      machineSpec:\n        infraSpec:\n          operator: EQUAL_TO\n          infraIds:\n            - ${linuxInfraId}\n      tags:\n        - env:prod\n        - team:security\n        - platform:linux\noutputs:\n  # Output the created conditions\n  k8sConditionId: ${k8sCondition.id}\n  windowsConditionId: ${windowsCondition.id}\n  linuxConditionId: ${linuxCondition.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport Project level Chaos Security Governance Condition\n\n```sh\n$ pulumi import harness:chaos/securityGovernanceCondition:SecurityGovernanceCondition example org_id/project_id/condition_id\n```\n\n","properties":{"description":{"type":"string","description":"Description of the security governance condition\n"},"faultSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionFaultSpec:SecurityGovernanceConditionFaultSpec","description":"Specification for faults to be included in the condition\n"},"infraType":{"type":"string","description":"Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container)\n"},"k8sSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionK8sSpec:SecurityGovernanceConditionK8sSpec","description":"Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2)\n"},"machineSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionMachineSpec:SecurityGovernanceConditionMachineSpec","description":"Machine specific configuration (required when infra*type is LINUX or WINDOWS)\n"},"name":{"type":"string","description":"Name of the security governance condition\n"},"orgId":{"type":"string","description":"The organization ID of the security governance condition\n"},"projectId":{"type":"string","description":"The project ID of the security governance condition\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the security governance condition\n"}},"required":["faultSpec","infraType","name","orgId","projectId"],"inputProperties":{"description":{"type":"string","description":"Description of the security governance condition\n"},"faultSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionFaultSpec:SecurityGovernanceConditionFaultSpec","description":"Specification for faults to be included in the condition\n"},"infraType":{"type":"string","description":"Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container)\n","willReplaceOnChanges":true},"k8sSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionK8sSpec:SecurityGovernanceConditionK8sSpec","description":"Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2)\n"},"machineSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionMachineSpec:SecurityGovernanceConditionMachineSpec","description":"Machine specific configuration (required when infra*type is LINUX or WINDOWS)\n"},"name":{"type":"string","description":"Name of the security governance condition\n"},"orgId":{"type":"string","description":"The organization ID of the security governance condition\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"The project ID of the security governance condition\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the security governance condition\n"}},"requiredInputs":["faultSpec","infraType","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering SecurityGovernanceCondition resources.\n","properties":{"description":{"type":"string","description":"Description of the security governance condition\n"},"faultSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionFaultSpec:SecurityGovernanceConditionFaultSpec","description":"Specification for faults to be included in the condition\n"},"infraType":{"type":"string","description":"Type of infrastructure (Kubernetes, KubernetesV2, Linux, Windows, CloudFoundry, Container)\n","willReplaceOnChanges":true},"k8sSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionK8sSpec:SecurityGovernanceConditionK8sSpec","description":"Kubernetes specific configuration (required when infra*type is KUBERNETES or KUBERNETESV2)\n"},"machineSpec":{"$ref":"#/types/harness:chaos/SecurityGovernanceConditionMachineSpec:SecurityGovernanceConditionMachineSpec","description":"Machine specific configuration (required when infra*type is LINUX or WINDOWS)\n"},"name":{"type":"string","description":"Name of the security governance condition\n"},"orgId":{"type":"string","description":"The organization ID of the security governance condition\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"The project ID of the security governance condition\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the security governance condition\n"}},"type":"object"}},"harness:chaos/securityGovernanceRule:SecurityGovernanceRule":{"description":"Resource for managing a Harness Chaos Security Governance Rule\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// K8s Rule\nconst example = new harness.chaos.SecurityGovernanceRule(\"example\", {\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n    name: \"\u003cname\u003e\",\n    description: \"\u003cdescription\u003e\",\n    isEnabled: true,\n    conditionIds: [\"\u003ccondition_id\u003e\"],\n    userGroupIds: [\"_project_all_users\"],\n    tags: [\n        \"\u003ctag1\u003e\",\n        \"\u003ctag2\u003e\",\n    ],\n    timeWindows: [{\n        timeZone: \"UTC\",\n        startTime: 1711238400000,\n        duration: \"24h\",\n        recurrence: {\n            type: \"Daily\",\n            until: -1,\n        },\n    }],\n});\n// Linux Rule\nconst linuxRule = new harness.chaos.SecurityGovernanceRule(\"linux_rule\", {\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n    name: \"\u003cname\u003e\",\n    description: \"\u003cdescription\u003e\",\n    isEnabled: true,\n    conditionIds: [\"\u003ccondition_id\u003e\"],\n    userGroupIds: [\"_project_all_users\"],\n    tags: [\n        \"\u003ctag1\u003e\",\n        \"\u003ctag2\u003e\",\n    ],\n    timeWindows: [{\n        timeZone: \"UTC\",\n        startTime: 1711238400000,\n        duration: \"24h\",\n        recurrence: {\n            type: \"Daily\",\n            until: -1,\n        },\n    }],\n});\n// Windows Rule\nconst windowsRule = new harness.chaos.SecurityGovernanceRule(\"windows_rule\", {\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n    name: \"\u003cname\u003e\",\n    description: \"\u003cdescription\u003e\",\n    isEnabled: true,\n    conditionIds: [\"\u003ccondition_id\u003e\"],\n    userGroupIds: [\"_project_all_users\"],\n    tags: [\n        \"\u003ctag1\u003e\",\n        \"\u003ctag2\u003e\",\n    ],\n    timeWindows: [{\n        timeZone: \"UTC\",\n        startTime: 1711238400000,\n        duration: \"24h\",\n        recurrence: {\n            type: \"Daily\",\n            until: -1,\n        },\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# K8s Rule\nexample = harness.chaos.SecurityGovernanceRule(\"example\",\n    org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\",\n    name=\"\u003cname\u003e\",\n    description=\"\u003cdescription\u003e\",\n    is_enabled=True,\n    condition_ids=[\"\u003ccondition_id\u003e\"],\n    user_group_ids=[\"_project_all_users\"],\n    tags=[\n        \"\u003ctag1\u003e\",\n        \"\u003ctag2\u003e\",\n    ],\n    time_windows=[{\n        \"time_zone\": \"UTC\",\n        \"start_time\": 1711238400000,\n        \"duration\": \"24h\",\n        \"recurrence\": {\n            \"type\": \"Daily\",\n            \"until\": -1,\n        },\n    }])\n# Linux Rule\nlinux_rule = harness.chaos.SecurityGovernanceRule(\"linux_rule\",\n    org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\",\n    name=\"\u003cname\u003e\",\n    description=\"\u003cdescription\u003e\",\n    is_enabled=True,\n    condition_ids=[\"\u003ccondition_id\u003e\"],\n    user_group_ids=[\"_project_all_users\"],\n    tags=[\n        \"\u003ctag1\u003e\",\n        \"\u003ctag2\u003e\",\n    ],\n    time_windows=[{\n        \"time_zone\": \"UTC\",\n        \"start_time\": 1711238400000,\n        \"duration\": \"24h\",\n        \"recurrence\": {\n            \"type\": \"Daily\",\n            \"until\": -1,\n        },\n    }])\n# Windows Rule\nwindows_rule = harness.chaos.SecurityGovernanceRule(\"windows_rule\",\n    org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\",\n    name=\"\u003cname\u003e\",\n    description=\"\u003cdescription\u003e\",\n    is_enabled=True,\n    condition_ids=[\"\u003ccondition_id\u003e\"],\n    user_group_ids=[\"_project_all_users\"],\n    tags=[\n        \"\u003ctag1\u003e\",\n        \"\u003ctag2\u003e\",\n    ],\n    time_windows=[{\n        \"time_zone\": \"UTC\",\n        \"start_time\": 1711238400000,\n        \"duration\": \"24h\",\n        \"recurrence\": {\n            \"type\": \"Daily\",\n            \"until\": -1,\n        },\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // K8s Rule\n    var example = new Harness.Chaos.SecurityGovernanceRule(\"example\", new()\n    {\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n        Name = \"\u003cname\u003e\",\n        Description = \"\u003cdescription\u003e\",\n        IsEnabled = true,\n        ConditionIds = new[]\n        {\n            \"\u003ccondition_id\u003e\",\n        },\n        UserGroupIds = new[]\n        {\n            \"_project_all_users\",\n        },\n        Tags = new[]\n        {\n            \"\u003ctag1\u003e\",\n            \"\u003ctag2\u003e\",\n        },\n        TimeWindows = new[]\n        {\n            new Harness.Chaos.Inputs.SecurityGovernanceRuleTimeWindowArgs\n            {\n                TimeZone = \"UTC\",\n                StartTime = 1711238400000,\n                Duration = \"24h\",\n                Recurrence = new Harness.Chaos.Inputs.SecurityGovernanceRuleTimeWindowRecurrenceArgs\n                {\n                    Type = \"Daily\",\n                    Until = -1,\n                },\n            },\n        },\n    });\n\n    // Linux Rule\n    var linuxRule = new Harness.Chaos.SecurityGovernanceRule(\"linux_rule\", new()\n    {\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n        Name = \"\u003cname\u003e\",\n        Description = \"\u003cdescription\u003e\",\n        IsEnabled = true,\n        ConditionIds = new[]\n        {\n            \"\u003ccondition_id\u003e\",\n        },\n        UserGroupIds = new[]\n        {\n            \"_project_all_users\",\n        },\n        Tags = new[]\n        {\n            \"\u003ctag1\u003e\",\n            \"\u003ctag2\u003e\",\n        },\n        TimeWindows = new[]\n        {\n            new Harness.Chaos.Inputs.SecurityGovernanceRuleTimeWindowArgs\n            {\n                TimeZone = \"UTC\",\n                StartTime = 1711238400000,\n                Duration = \"24h\",\n                Recurrence = new Harness.Chaos.Inputs.SecurityGovernanceRuleTimeWindowRecurrenceArgs\n                {\n                    Type = \"Daily\",\n                    Until = -1,\n                },\n            },\n        },\n    });\n\n    // Windows Rule\n    var windowsRule = new Harness.Chaos.SecurityGovernanceRule(\"windows_rule\", new()\n    {\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n        Name = \"\u003cname\u003e\",\n        Description = \"\u003cdescription\u003e\",\n        IsEnabled = true,\n        ConditionIds = new[]\n        {\n            \"\u003ccondition_id\u003e\",\n        },\n        UserGroupIds = new[]\n        {\n            \"_project_all_users\",\n        },\n        Tags = new[]\n        {\n            \"\u003ctag1\u003e\",\n            \"\u003ctag2\u003e\",\n        },\n        TimeWindows = new[]\n        {\n            new Harness.Chaos.Inputs.SecurityGovernanceRuleTimeWindowArgs\n            {\n                TimeZone = \"UTC\",\n                StartTime = 1711238400000,\n                Duration = \"24h\",\n                Recurrence = new Harness.Chaos.Inputs.SecurityGovernanceRuleTimeWindowRecurrenceArgs\n                {\n                    Type = \"Daily\",\n                    Until = -1,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/chaos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// K8s Rule\n\t\t_, err := chaos.NewSecurityGovernanceRule(ctx, \"example\", \u0026chaos.SecurityGovernanceRuleArgs{\n\t\t\tOrgId:       pulumi.String(\"\u003corg_id\u003e\"),\n\t\t\tProjectId:   pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tName:        pulumi.String(\"\u003cname\u003e\"),\n\t\t\tDescription: pulumi.String(\"\u003cdescription\u003e\"),\n\t\t\tIsEnabled:   pulumi.Bool(true),\n\t\t\tConditionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"\u003ccondition_id\u003e\"),\n\t\t\t},\n\t\t\tUserGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"_project_all_users\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"\u003ctag1\u003e\"),\n\t\t\t\tpulumi.String(\"\u003ctag2\u003e\"),\n\t\t\t},\n\t\t\tTimeWindows: chaos.SecurityGovernanceRuleTimeWindowArray{\n\t\t\t\t\u0026chaos.SecurityGovernanceRuleTimeWindowArgs{\n\t\t\t\t\tTimeZone:  pulumi.String(\"UTC\"),\n\t\t\t\t\tStartTime: pulumi.Int(1711238400000),\n\t\t\t\t\tDuration:  pulumi.String(\"24h\"),\n\t\t\t\t\tRecurrence: \u0026chaos.SecurityGovernanceRuleTimeWindowRecurrenceArgs{\n\t\t\t\t\t\tType:  pulumi.String(\"Daily\"),\n\t\t\t\t\t\tUntil: pulumi.Int(-1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Linux Rule\n\t\t_, err = chaos.NewSecurityGovernanceRule(ctx, \"linux_rule\", \u0026chaos.SecurityGovernanceRuleArgs{\n\t\t\tOrgId:       pulumi.String(\"\u003corg_id\u003e\"),\n\t\t\tProjectId:   pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tName:        pulumi.String(\"\u003cname\u003e\"),\n\t\t\tDescription: pulumi.String(\"\u003cdescription\u003e\"),\n\t\t\tIsEnabled:   pulumi.Bool(true),\n\t\t\tConditionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"\u003ccondition_id\u003e\"),\n\t\t\t},\n\t\t\tUserGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"_project_all_users\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"\u003ctag1\u003e\"),\n\t\t\t\tpulumi.String(\"\u003ctag2\u003e\"),\n\t\t\t},\n\t\t\tTimeWindows: chaos.SecurityGovernanceRuleTimeWindowArray{\n\t\t\t\t\u0026chaos.SecurityGovernanceRuleTimeWindowArgs{\n\t\t\t\t\tTimeZone:  pulumi.String(\"UTC\"),\n\t\t\t\t\tStartTime: pulumi.Int(1711238400000),\n\t\t\t\t\tDuration:  pulumi.String(\"24h\"),\n\t\t\t\t\tRecurrence: \u0026chaos.SecurityGovernanceRuleTimeWindowRecurrenceArgs{\n\t\t\t\t\t\tType:  pulumi.String(\"Daily\"),\n\t\t\t\t\t\tUntil: pulumi.Int(-1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Windows Rule\n\t\t_, err = chaos.NewSecurityGovernanceRule(ctx, \"windows_rule\", \u0026chaos.SecurityGovernanceRuleArgs{\n\t\t\tOrgId:       pulumi.String(\"\u003corg_id\u003e\"),\n\t\t\tProjectId:   pulumi.String(\"\u003cproject_id\u003e\"),\n\t\t\tName:        pulumi.String(\"\u003cname\u003e\"),\n\t\t\tDescription: pulumi.String(\"\u003cdescription\u003e\"),\n\t\t\tIsEnabled:   pulumi.Bool(true),\n\t\t\tConditionIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"\u003ccondition_id\u003e\"),\n\t\t\t},\n\t\t\tUserGroupIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"_project_all_users\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"\u003ctag1\u003e\"),\n\t\t\t\tpulumi.String(\"\u003ctag2\u003e\"),\n\t\t\t},\n\t\t\tTimeWindows: chaos.SecurityGovernanceRuleTimeWindowArray{\n\t\t\t\t\u0026chaos.SecurityGovernanceRuleTimeWindowArgs{\n\t\t\t\t\tTimeZone:  pulumi.String(\"UTC\"),\n\t\t\t\t\tStartTime: pulumi.Int(1711238400000),\n\t\t\t\t\tDuration:  pulumi.String(\"24h\"),\n\t\t\t\t\tRecurrence: \u0026chaos.SecurityGovernanceRuleTimeWindowRecurrenceArgs{\n\t\t\t\t\t\tType:  pulumi.String(\"Daily\"),\n\t\t\t\t\t\tUntil: pulumi.Int(-1),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.chaos.SecurityGovernanceRule;\nimport com.pulumi.harness.chaos.SecurityGovernanceRuleArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceRuleTimeWindowArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceRuleTimeWindowRecurrenceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // K8s Rule\n        var example = new SecurityGovernanceRule(\"example\", SecurityGovernanceRuleArgs.builder()\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .name(\"\u003cname\u003e\")\n            .description(\"\u003cdescription\u003e\")\n            .isEnabled(true)\n            .conditionIds(\"\u003ccondition_id\u003e\")\n            .userGroupIds(\"_project_all_users\")\n            .tags(            \n                \"\u003ctag1\u003e\",\n                \"\u003ctag2\u003e\")\n            .timeWindows(SecurityGovernanceRuleTimeWindowArgs.builder()\n                .timeZone(\"UTC\")\n                .startTime(1711238400000)\n                .duration(\"24h\")\n                .recurrence(SecurityGovernanceRuleTimeWindowRecurrenceArgs.builder()\n                    .type(\"Daily\")\n                    .until(-1)\n                    .build())\n                .build())\n            .build());\n\n        // Linux Rule\n        var linuxRule = new SecurityGovernanceRule(\"linuxRule\", SecurityGovernanceRuleArgs.builder()\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .name(\"\u003cname\u003e\")\n            .description(\"\u003cdescription\u003e\")\n            .isEnabled(true)\n            .conditionIds(\"\u003ccondition_id\u003e\")\n            .userGroupIds(\"_project_all_users\")\n            .tags(            \n                \"\u003ctag1\u003e\",\n                \"\u003ctag2\u003e\")\n            .timeWindows(SecurityGovernanceRuleTimeWindowArgs.builder()\n                .timeZone(\"UTC\")\n                .startTime(1711238400000)\n                .duration(\"24h\")\n                .recurrence(SecurityGovernanceRuleTimeWindowRecurrenceArgs.builder()\n                    .type(\"Daily\")\n                    .until(-1)\n                    .build())\n                .build())\n            .build());\n\n        // Windows Rule\n        var windowsRule = new SecurityGovernanceRule(\"windowsRule\", SecurityGovernanceRuleArgs.builder()\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .name(\"\u003cname\u003e\")\n            .description(\"\u003cdescription\u003e\")\n            .isEnabled(true)\n            .conditionIds(\"\u003ccondition_id\u003e\")\n            .userGroupIds(\"_project_all_users\")\n            .tags(            \n                \"\u003ctag1\u003e\",\n                \"\u003ctag2\u003e\")\n            .timeWindows(SecurityGovernanceRuleTimeWindowArgs.builder()\n                .timeZone(\"UTC\")\n                .startTime(1711238400000)\n                .duration(\"24h\")\n                .recurrence(SecurityGovernanceRuleTimeWindowRecurrenceArgs.builder()\n                    .type(\"Daily\")\n                    .until(-1)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # K8s Rule\n  example:\n    type: harness:chaos:SecurityGovernanceRule\n    properties:\n      orgId: \u003corg_id\u003e\n      projectId: \u003cproject_id\u003e\n      name: \u003cname\u003e\n      description: \u003cdescription\u003e\n      isEnabled: true\n      conditionIds:\n        - \u003ccondition_id\u003e\n      userGroupIds:\n        - _project_all_users\n      tags:\n        - \u003ctag1\u003e\n        - \u003ctag2\u003e\n      timeWindows:\n        - timeZone: UTC\n          startTime: 1.7112384e+12\n          duration: 24h\n          recurrence:\n            type: Daily\n            until: -1\n  # Linux Rule\n  linuxRule:\n    type: harness:chaos:SecurityGovernanceRule\n    name: linux_rule\n    properties:\n      orgId: \u003corg_id\u003e\n      projectId: \u003cproject_id\u003e\n      name: \u003cname\u003e\n      description: \u003cdescription\u003e\n      isEnabled: true\n      conditionIds:\n        - \u003ccondition_id\u003e\n      userGroupIds:\n        - _project_all_users\n      tags:\n        - \u003ctag1\u003e\n        - \u003ctag2\u003e\n      timeWindows:\n        - timeZone: UTC\n          startTime: 1.7112384e+12\n          duration: 24h\n          recurrence:\n            type: Daily\n            until: -1\n  # Windows Rule\n  windowsRule:\n    type: harness:chaos:SecurityGovernanceRule\n    name: windows_rule\n    properties:\n      orgId: \u003corg_id\u003e\n      projectId: \u003cproject_id\u003e\n      name: \u003cname\u003e\n      description: \u003cdescription\u003e\n      isEnabled: true\n      conditionIds:\n        - \u003ccondition_id\u003e\n      userGroupIds:\n        - _project_all_users\n      tags:\n        - \u003ctag1\u003e\n        - \u003ctag2\u003e\n      timeWindows:\n        - timeZone: UTC\n          startTime: 1.7112384e+12\n          duration: 24h\n          recurrence:\n            type: Daily\n            until: -1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport Project level Chaos Security Governance Rule\n\n```sh\n$ pulumi import harness:chaos/securityGovernanceRule:SecurityGovernanceRule example org_id/project_id/rule_id\n```\n\n","properties":{"conditionIds":{"type":"array","items":{"type":"string"},"description":"List of condition IDs associated with this rule\n"},"description":{"type":"string","description":"Description of the security governance rule\n"},"isEnabled":{"type":"boolean","description":"Whether the rule is enabled\n"},"name":{"type":"string","description":"Name of the security governance rule\n"},"orgId":{"type":"string","description":"The organization ID of the security governance rule\n"},"projectId":{"type":"string","description":"The project ID of the security governance rule\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the security governance rule\n"},"timeWindows":{"type":"array","items":{"$ref":"#/types/harness:chaos/SecurityGovernanceRuleTimeWindow:SecurityGovernanceRuleTimeWindow"}},"userGroupIds":{"type":"array","items":{"type":"string"},"description":"List of user group IDs associated with this rule\n"}},"required":["conditionIds","name","orgId","projectId","timeWindows"],"inputProperties":{"conditionIds":{"type":"array","items":{"type":"string"},"description":"List of condition IDs associated with this rule\n"},"description":{"type":"string","description":"Description of the security governance rule\n"},"isEnabled":{"type":"boolean","description":"Whether the rule is enabled\n"},"name":{"type":"string","description":"Name of the security governance rule\n"},"orgId":{"type":"string","description":"The organization ID of the security governance rule\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"The project ID of the security governance rule\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the security governance rule\n"},"timeWindows":{"type":"array","items":{"$ref":"#/types/harness:chaos/SecurityGovernanceRuleTimeWindow:SecurityGovernanceRuleTimeWindow"}},"userGroupIds":{"type":"array","items":{"type":"string"},"description":"List of user group IDs associated with this rule\n"}},"requiredInputs":["conditionIds","orgId","projectId","timeWindows"],"stateInputs":{"description":"Input properties used for looking up and filtering SecurityGovernanceRule resources.\n","properties":{"conditionIds":{"type":"array","items":{"type":"string"},"description":"List of condition IDs associated with this rule\n"},"description":{"type":"string","description":"Description of the security governance rule\n"},"isEnabled":{"type":"boolean","description":"Whether the rule is enabled\n"},"name":{"type":"string","description":"Name of the security governance rule\n"},"orgId":{"type":"string","description":"The organization ID of the security governance rule\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"The project ID of the security governance rule\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags for the security governance rule\n"},"timeWindows":{"type":"array","items":{"$ref":"#/types/harness:chaos/SecurityGovernanceRuleTimeWindow:SecurityGovernanceRuleTimeWindow"}},"userGroupIds":{"type":"array","items":{"type":"string"},"description":"List of user group IDs associated with this rule\n"}},"type":"object"}},"harness:cloudprovider/aws:Aws":{"description":"Resource for creating an AWS cloud provider. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst _default = harness.getSecretManager({\n    \"default\": true,\n});\nconst awsAccessKey = new harness.EncryptedText(\"aws_access_key\", {\n    name: \"aws_access_key\",\n    value: \"\u003cACCESS_KEY_ID\u003e\",\n    secretManagerId: _default.then(_default =\u003e _default.id),\n});\nconst awsSecretKey = new harness.EncryptedText(\"aws_secret_key\", {\n    name: \"aws_secret_key\",\n    value: \"\u003cSECRET_KEY_ID\u003e\",\n    secretManagerId: _default.then(_default =\u003e _default.id),\n});\nconst aws = new harness.cloudprovider.Aws(\"aws\", {\n    name: \"Example aws cloud provider\",\n    accessKeyIdSecretName: awsAccessKey.name,\n    secretAccessKeySecretName: awsSecretKey.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ndefault = harness.get_secret_manager(default=True)\naws_access_key = harness.EncryptedText(\"aws_access_key\",\n    name=\"aws_access_key\",\n    value=\"\u003cACCESS_KEY_ID\u003e\",\n    secret_manager_id=default.id)\naws_secret_key = harness.EncryptedText(\"aws_secret_key\",\n    name=\"aws_secret_key\",\n    value=\"\u003cSECRET_KEY_ID\u003e\",\n    secret_manager_id=default.id)\naws = harness.cloudprovider.Aws(\"aws\",\n    name=\"Example aws cloud provider\",\n    access_key_id_secret_name=aws_access_key.name,\n    secret_access_key_secret_name=aws_secret_key.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Harness.GetSecretManager.Invoke(new()\n    {\n        Default = true,\n    });\n\n    var awsAccessKey = new Harness.EncryptedText(\"aws_access_key\", new()\n    {\n        Name = \"aws_access_key\",\n        Value = \"\u003cACCESS_KEY_ID\u003e\",\n        SecretManagerId = @default.Apply(@default =\u003e @default.Apply(getSecretManagerResult =\u003e getSecretManagerResult.Id)),\n    });\n\n    var awsSecretKey = new Harness.EncryptedText(\"aws_secret_key\", new()\n    {\n        Name = \"aws_secret_key\",\n        Value = \"\u003cSECRET_KEY_ID\u003e\",\n        SecretManagerId = @default.Apply(@default =\u003e @default.Apply(getSecretManagerResult =\u003e getSecretManagerResult.Id)),\n    });\n\n    var aws = new Harness.Cloudprovider.Aws(\"aws\", new()\n    {\n        Name = \"Example aws cloud provider\",\n        AccessKeyIdSecretName = awsAccessKey.Name,\n        SecretAccessKeySecretName = awsSecretKey.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/cloudprovider\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := harness.GetSecretManager(ctx, \u0026harness.GetSecretManagerArgs{\n\t\t\tDefault: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsAccessKey, err := harness.NewEncryptedText(ctx, \"aws_access_key\", \u0026harness.EncryptedTextArgs{\n\t\t\tName:            pulumi.String(\"aws_access_key\"),\n\t\t\tValue:           pulumi.String(\"\u003cACCESS_KEY_ID\u003e\"),\n\t\t\tSecretManagerId: pulumi.String(_default.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tawsSecretKey, err := harness.NewEncryptedText(ctx, \"aws_secret_key\", \u0026harness.EncryptedTextArgs{\n\t\t\tName:            pulumi.String(\"aws_secret_key\"),\n\t\t\tValue:           pulumi.String(\"\u003cSECRET_KEY_ID\u003e\"),\n\t\t\tSecretManagerId: pulumi.String(_default.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudprovider.NewAws(ctx, \"aws\", \u0026cloudprovider.AwsArgs{\n\t\t\tName:                      pulumi.String(\"Example aws cloud provider\"),\n\t\t\tAccessKeyIdSecretName:     awsAccessKey.Name,\n\t\t\tSecretAccessKeySecretName: awsSecretKey.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetSecretManagerArgs;\nimport com.pulumi.harness.EncryptedText;\nimport com.pulumi.harness.EncryptedTextArgs;\nimport com.pulumi.harness.cloudprovider.Aws;\nimport com.pulumi.harness.cloudprovider.AwsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = HarnessFunctions.getSecretManager(GetSecretManagerArgs.builder()\n            .default_(true)\n            .build());\n\n        var awsAccessKey = new EncryptedText(\"awsAccessKey\", EncryptedTextArgs.builder()\n            .name(\"aws_access_key\")\n            .value(\"\u003cACCESS_KEY_ID\u003e\")\n            .secretManagerId(default_.id())\n            .build());\n\n        var awsSecretKey = new EncryptedText(\"awsSecretKey\", EncryptedTextArgs.builder()\n            .name(\"aws_secret_key\")\n            .value(\"\u003cSECRET_KEY_ID\u003e\")\n            .secretManagerId(default_.id())\n            .build());\n\n        var aws = new Aws(\"aws\", AwsArgs.builder()\n            .name(\"Example aws cloud provider\")\n            .accessKeyIdSecretName(awsAccessKey.name())\n            .secretAccessKeySecretName(awsSecretKey.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  awsAccessKey:\n    type: harness:EncryptedText\n    name: aws_access_key\n    properties:\n      name: aws_access_key\n      value: \u003cACCESS_KEY_ID\u003e\n      secretManagerId: ${default.id}\n  awsSecretKey:\n    type: harness:EncryptedText\n    name: aws_secret_key\n    properties:\n      name: aws_secret_key\n      value: \u003cSECRET_KEY_ID\u003e\n      secretManagerId: ${default.id}\n  aws:\n    type: harness:cloudprovider:Aws\n    properties:\n      name: Example aws cloud provider\n      accessKeyIdSecretName: ${awsAccessKey.name}\n      secretAccessKeySecretName: ${awsSecretKey.name}\nvariables:\n  default:\n    fn::invoke:\n      function: harness:getSecretManager\n      arguments:\n        default: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness aws cloud provider id.\n\n```sh\n$ pulumi import harness:cloudprovider/aws:Aws example \u003cprovider_id\u003e\n```\n\n","properties":{"accessKeyId":{"type":"string","description":"The plain text AWS access key id.\n"},"accessKeyIdSecretName":{"type":"string","description":"The name of the Harness secret containing the AWS access key id\n"},"assumeCrossAccountRole":{"$ref":"#/types/harness:cloudprovider/AwsAssumeCrossAccountRole:AwsAssumeCrossAccountRole","description":"Configuration for assuming a cross account role.\n"},"delegateSelector":{"type":"string","description":"Select the Delegate to use via one of its Selectors.\n"},"name":{"type":"string","description":"The name of the cloud provider.\n"},"secretAccessKeySecretName":{"type":"string","description":"The name of the Harness secret containing the AWS secret access key.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/AwsUsageScope:AwsUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"},"useEc2IamCredentials":{"type":"boolean","description":"Use the EC2 Instance Profile for Service Accounts.\n"},"useIrsa":{"type":"boolean","description":"Use the AWS IAM Role for Service Accounts.\n"}},"required":["name"],"inputProperties":{"accessKeyId":{"type":"string","description":"The plain text AWS access key id.\n"},"accessKeyIdSecretName":{"type":"string","description":"The name of the Harness secret containing the AWS access key id\n"},"assumeCrossAccountRole":{"$ref":"#/types/harness:cloudprovider/AwsAssumeCrossAccountRole:AwsAssumeCrossAccountRole","description":"Configuration for assuming a cross account role.\n"},"delegateSelector":{"type":"string","description":"Select the Delegate to use via one of its Selectors.\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"secretAccessKeySecretName":{"type":"string","description":"The name of the Harness secret containing the AWS secret access key.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/AwsUsageScope:AwsUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"},"useEc2IamCredentials":{"type":"boolean","description":"Use the EC2 Instance Profile for Service Accounts.\n"},"useIrsa":{"type":"boolean","description":"Use the AWS IAM Role for Service Accounts.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Aws resources.\n","properties":{"accessKeyId":{"type":"string","description":"The plain text AWS access key id.\n"},"accessKeyIdSecretName":{"type":"string","description":"The name of the Harness secret containing the AWS access key id\n"},"assumeCrossAccountRole":{"$ref":"#/types/harness:cloudprovider/AwsAssumeCrossAccountRole:AwsAssumeCrossAccountRole","description":"Configuration for assuming a cross account role.\n"},"delegateSelector":{"type":"string","description":"Select the Delegate to use via one of its Selectors.\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"secretAccessKeySecretName":{"type":"string","description":"The name of the Harness secret containing the AWS secret access key.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/AwsUsageScope:AwsUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"},"useEc2IamCredentials":{"type":"boolean","description":"Use the EC2 Instance Profile for Service Accounts.\n"},"useIrsa":{"type":"boolean","description":"Use the AWS IAM Role for Service Accounts.\n"}},"type":"object"}},"harness:cloudprovider/azure:Azure":{"description":"Resource for creating an Azure cloud provider. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst _default = harness.getSecretManager({\n    \"default\": true,\n});\nconst azureKey = new harness.EncryptedText(\"azure_key\", {\n    name: \"azure_key\",\n    value: \"\u003cAZURE_KEY\u003e\",\n    secretManagerId: _default.then(_default =\u003e _default.id),\n});\nconst azure = new harness.cloudprovider.Azure(\"azure\", {\n    name: \"azure\",\n    clientId: \"\u003cAZURE_CLIENT_ID\u003e\",\n    tenantId: \"\u003cAZURE_TENANT_ID\u003e\",\n    key: azureKey.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ndefault = harness.get_secret_manager(default=True)\nazure_key = harness.EncryptedText(\"azure_key\",\n    name=\"azure_key\",\n    value=\"\u003cAZURE_KEY\u003e\",\n    secret_manager_id=default.id)\nazure = harness.cloudprovider.Azure(\"azure\",\n    name=\"azure\",\n    client_id=\"\u003cAZURE_CLIENT_ID\u003e\",\n    tenant_id=\"\u003cAZURE_TENANT_ID\u003e\",\n    key=azure_key.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Harness.GetSecretManager.Invoke(new()\n    {\n        Default = true,\n    });\n\n    var azureKey = new Harness.EncryptedText(\"azure_key\", new()\n    {\n        Name = \"azure_key\",\n        Value = \"\u003cAZURE_KEY\u003e\",\n        SecretManagerId = @default.Apply(@default =\u003e @default.Apply(getSecretManagerResult =\u003e getSecretManagerResult.Id)),\n    });\n\n    var azure = new Harness.Cloudprovider.Azure(\"azure\", new()\n    {\n        Name = \"azure\",\n        ClientId = \"\u003cAZURE_CLIENT_ID\u003e\",\n        TenantId = \"\u003cAZURE_TENANT_ID\u003e\",\n        Key = azureKey.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/cloudprovider\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := harness.GetSecretManager(ctx, \u0026harness.GetSecretManagerArgs{\n\t\t\tDefault: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tazureKey, err := harness.NewEncryptedText(ctx, \"azure_key\", \u0026harness.EncryptedTextArgs{\n\t\t\tName:            pulumi.String(\"azure_key\"),\n\t\t\tValue:           pulumi.String(\"\u003cAZURE_KEY\u003e\"),\n\t\t\tSecretManagerId: pulumi.String(_default.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudprovider.NewAzure(ctx, \"azure\", \u0026cloudprovider.AzureArgs{\n\t\t\tName:     pulumi.String(\"azure\"),\n\t\t\tClientId: pulumi.String(\"\u003cAZURE_CLIENT_ID\u003e\"),\n\t\t\tTenantId: pulumi.String(\"\u003cAZURE_TENANT_ID\u003e\"),\n\t\t\tKey:      azureKey.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetSecretManagerArgs;\nimport com.pulumi.harness.EncryptedText;\nimport com.pulumi.harness.EncryptedTextArgs;\nimport com.pulumi.harness.cloudprovider.Azure;\nimport com.pulumi.harness.cloudprovider.AzureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = HarnessFunctions.getSecretManager(GetSecretManagerArgs.builder()\n            .default_(true)\n            .build());\n\n        var azureKey = new EncryptedText(\"azureKey\", EncryptedTextArgs.builder()\n            .name(\"azure_key\")\n            .value(\"\u003cAZURE_KEY\u003e\")\n            .secretManagerId(default_.id())\n            .build());\n\n        var azure = new Azure(\"azure\", AzureArgs.builder()\n            .name(\"azure\")\n            .clientId(\"\u003cAZURE_CLIENT_ID\u003e\")\n            .tenantId(\"\u003cAZURE_TENANT_ID\u003e\")\n            .key(azureKey.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  azureKey:\n    type: harness:EncryptedText\n    name: azure_key\n    properties:\n      name: azure_key\n      value: \u003cAZURE_KEY\u003e\n      secretManagerId: ${default.id}\n  azure:\n    type: harness:cloudprovider:Azure\n    properties:\n      name: azure\n      clientId: \u003cAZURE_CLIENT_ID\u003e\n      tenantId: \u003cAZURE_TENANT_ID\u003e\n      key: ${azureKey.name}\nvariables:\n  default:\n    fn::invoke:\n      function: harness:getSecretManager\n      arguments:\n        default: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness azure cloud provider id.\n\n```sh\n$ pulumi import harness:cloudprovider/azure:Azure example \u003cprovider_id\u003e\n```\n\n","properties":{"clientId":{"type":"string","description":"The client id for the Azure application\n"},"environmentType":{"type":"string","description":"The type of environment. Valid options are [AZURE AZURE*US*GOVERNMENT]\n"},"key":{"type":"string","description":"The Name of the Harness secret containing the key for the Azure application\n"},"name":{"type":"string","description":"The name of the cloud provider.\n"},"tenantId":{"type":"string","description":"The tenant id for the Azure application\n"}},"required":["clientId","key","name","tenantId"],"inputProperties":{"clientId":{"type":"string","description":"The client id for the Azure application\n"},"environmentType":{"type":"string","description":"The type of environment. Valid options are [AZURE AZURE*US*GOVERNMENT]\n"},"key":{"type":"string","description":"The Name of the Harness secret containing the key for the Azure application\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The tenant id for the Azure application\n"}},"requiredInputs":["clientId","key","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering Azure resources.\n","properties":{"clientId":{"type":"string","description":"The client id for the Azure application\n"},"environmentType":{"type":"string","description":"The type of environment. Valid options are [AZURE AZURE*US*GOVERNMENT]\n"},"key":{"type":"string","description":"The Name of the Harness secret containing the key for the Azure application\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"tenantId":{"type":"string","description":"The tenant id for the Azure application\n"}},"type":"object"}},"harness:cloudprovider/datacenter:Datacenter":{"description":"Resource for creating a physical data center cloud provider. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.cloudprovider.Datacenter(\"example\", {name: \"example\"});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.cloudprovider.Datacenter(\"example\", name=\"example\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Cloudprovider.Datacenter(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/cloudprovider\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cloudprovider.NewDatacenter(ctx, \"example\", \u0026cloudprovider.DatacenterArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.cloudprovider.Datacenter;\nimport com.pulumi.harness.cloudprovider.DatacenterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Datacenter(\"example\", DatacenterArgs.builder()\n            .name(\"example\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:cloudprovider:Datacenter\n    properties:\n      name: example\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness datacenter cloud provider id.\n\n```sh\n$ pulumi import harness:cloudprovider/datacenter:Datacenter example \u003cprovider_id\u003e\n```\n\n","properties":{"name":{"type":"string","description":"The name of the cloud provider.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/DatacenterUsageScope:DatacenterUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"required":["name"],"inputProperties":{"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/DatacenterUsageScope:DatacenterUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Datacenter resources.\n","properties":{"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/DatacenterUsageScope:DatacenterUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"type":"object"}},"harness:cloudprovider/gcp:Gcp":{"description":"Resource for creating a GCP cloud provider. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Delegate selectors to use for this provider.\n"},"name":{"type":"string","description":"The name of the cloud provider.\n"},"secretFileId":{"type":"string","description":"The id of the secret containing the GCP credentials\n"},"skipValidation":{"type":"boolean","description":"Skip validation of GCP configuration.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/GcpUsageScope:GcpUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"required":["name"],"inputProperties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Delegate selectors to use for this provider.\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"secretFileId":{"type":"string","description":"The id of the secret containing the GCP credentials\n"},"skipValidation":{"type":"boolean","description":"Skip validation of GCP configuration.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/GcpUsageScope:GcpUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Gcp resources.\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Delegate selectors to use for this provider.\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"secretFileId":{"type":"string","description":"The id of the secret containing the GCP credentials\n"},"skipValidation":{"type":"boolean","description":"Skip validation of GCP configuration.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/GcpUsageScope:GcpUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"type":"object"}},"harness:cloudprovider/kubernetes:Kubernetes":{"description":"Resource for creating a Kubernetes cloud provider. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness kubernetes cloud provider id.\n\n```sh\n$ pulumi import harness:cloudprovider/kubernetes:Kubernetes example \u003cprovider_id\u003e\n```\n\n","properties":{"authentication":{"$ref":"#/types/harness:cloudprovider/KubernetesAuthentication:KubernetesAuthentication","description":"Authentication configuration for the Kubernetes cluster\n"},"name":{"type":"string","description":"The name of the cloud provider.\n"},"skipValidation":{"type":"boolean","description":"Skip validation of Kubernetes configuration.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/KubernetesUsageScope:KubernetesUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"required":["authentication","name"],"inputProperties":{"authentication":{"$ref":"#/types/harness:cloudprovider/KubernetesAuthentication:KubernetesAuthentication","description":"Authentication configuration for the Kubernetes cluster\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"skipValidation":{"type":"boolean","description":"Skip validation of Kubernetes configuration.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/KubernetesUsageScope:KubernetesUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"requiredInputs":["authentication"],"stateInputs":{"description":"Input properties used for looking up and filtering Kubernetes resources.\n","properties":{"authentication":{"$ref":"#/types/harness:cloudprovider/KubernetesAuthentication:KubernetesAuthentication","description":"Authentication configuration for the Kubernetes cluster\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"skipValidation":{"type":"boolean","description":"Skip validation of Kubernetes configuration.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:cloudprovider/KubernetesUsageScope:KubernetesUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"type":"object"}},"harness:cloudprovider/spot:Spot":{"description":"Resource for creating a Spot cloud provider. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst _default = harness.getSecretManager({\n    \"default\": true,\n});\nconst spotToken = new harness.EncryptedText(\"spot_token\", {\n    name: \"spot_token\",\n    secretManagerId: _default.then(_default =\u003e _default.id),\n    value: \"\u003cSPOT_TOKEN\u003e\",\n});\nconst example = new harness.cloudprovider.Spot(\"example\", {\n    name: \"example\",\n    accountId: \"\u003cSPOT_ACCOUNT_ID\u003e\",\n    tokenSecretName: spotToken.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ndefault = harness.get_secret_manager(default=True)\nspot_token = harness.EncryptedText(\"spot_token\",\n    name=\"spot_token\",\n    secret_manager_id=default.id,\n    value=\"\u003cSPOT_TOKEN\u003e\")\nexample = harness.cloudprovider.Spot(\"example\",\n    name=\"example\",\n    account_id=\"\u003cSPOT_ACCOUNT_ID\u003e\",\n    token_secret_name=spot_token.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Harness.GetSecretManager.Invoke(new()\n    {\n        Default = true,\n    });\n\n    var spotToken = new Harness.EncryptedText(\"spot_token\", new()\n    {\n        Name = \"spot_token\",\n        SecretManagerId = @default.Apply(@default =\u003e @default.Apply(getSecretManagerResult =\u003e getSecretManagerResult.Id)),\n        Value = \"\u003cSPOT_TOKEN\u003e\",\n    });\n\n    var example = new Harness.Cloudprovider.Spot(\"example\", new()\n    {\n        Name = \"example\",\n        AccountId = \"\u003cSPOT_ACCOUNT_ID\u003e\",\n        TokenSecretName = spotToken.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/cloudprovider\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := harness.GetSecretManager(ctx, \u0026harness.GetSecretManagerArgs{\n\t\t\tDefault: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tspotToken, err := harness.NewEncryptedText(ctx, \"spot_token\", \u0026harness.EncryptedTextArgs{\n\t\t\tName:            pulumi.String(\"spot_token\"),\n\t\t\tSecretManagerId: pulumi.String(_default.Id),\n\t\t\tValue:           pulumi.String(\"\u003cSPOT_TOKEN\u003e\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudprovider.NewSpot(ctx, \"example\", \u0026cloudprovider.SpotArgs{\n\t\t\tName:            pulumi.String(\"example\"),\n\t\t\tAccountId:       pulumi.String(\"\u003cSPOT_ACCOUNT_ID\u003e\"),\n\t\t\tTokenSecretName: spotToken.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetSecretManagerArgs;\nimport com.pulumi.harness.EncryptedText;\nimport com.pulumi.harness.EncryptedTextArgs;\nimport com.pulumi.harness.cloudprovider.Spot;\nimport com.pulumi.harness.cloudprovider.SpotArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = HarnessFunctions.getSecretManager(GetSecretManagerArgs.builder()\n            .default_(true)\n            .build());\n\n        var spotToken = new EncryptedText(\"spotToken\", EncryptedTextArgs.builder()\n            .name(\"spot_token\")\n            .secretManagerId(default_.id())\n            .value(\"\u003cSPOT_TOKEN\u003e\")\n            .build());\n\n        var example = new Spot(\"example\", SpotArgs.builder()\n            .name(\"example\")\n            .accountId(\"\u003cSPOT_ACCOUNT_ID\u003e\")\n            .tokenSecretName(spotToken.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  spotToken:\n    type: harness:EncryptedText\n    name: spot_token\n    properties:\n      name: spot_token\n      secretManagerId: ${default.id}\n      value: \u003cSPOT_TOKEN\u003e\n  example:\n    type: harness:cloudprovider:Spot\n    properties:\n      name: example\n      accountId: \u003cSPOT_ACCOUNT_ID\u003e\n      tokenSecretName: ${spotToken.name}\nvariables:\n  default:\n    fn::invoke:\n      function: harness:getSecretManager\n      arguments:\n        default: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness Spot cloud provider id.\n\n```sh\n$ pulumi import harness:cloudprovider/spot:Spot example \u003cprovider_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"The Spot account ID\n"},"name":{"type":"string","description":"The name of the cloud provider.\n"},"tokenSecretName":{"type":"string","description":"The name of the Harness secret containing the spot account token\n"}},"required":["accountId","name","tokenSecretName"],"inputProperties":{"accountId":{"type":"string","description":"The Spot account ID\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"tokenSecretName":{"type":"string","description":"The name of the Harness secret containing the spot account token\n"}},"requiredInputs":["accountId","tokenSecretName"],"stateInputs":{"description":"Input properties used for looking up and filtering Spot resources.\n","properties":{"accountId":{"type":"string","description":"The Spot account ID\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"tokenSecretName":{"type":"string","description":"The name of the Harness secret containing the spot account token\n"}},"type":"object"}},"harness:cloudprovider/tanzu:Tanzu":{"description":"Resource for creating a Tanzu cloud provider. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst _default = harness.getSecretManager({\n    \"default\": true,\n});\nconst tanzuPassword = new harness.EncryptedText(\"tanzu_password\", {\n    name: \"tanzu_password\",\n    value: \"\u003cPASSWORD\u003e\",\n    secretManagerId: _default.then(_default =\u003e _default.id),\n});\nconst example = new harness.cloudprovider.Tanzu(\"example\", {\n    name: \"example\",\n    endpoint: \"https://endpoint.com\",\n    skipValidation: true,\n    username: \"\u003cUSERNAME\u003e\",\n    passwordSecretName: tanzuPassword.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ndefault = harness.get_secret_manager(default=True)\ntanzu_password = harness.EncryptedText(\"tanzu_password\",\n    name=\"tanzu_password\",\n    value=\"\u003cPASSWORD\u003e\",\n    secret_manager_id=default.id)\nexample = harness.cloudprovider.Tanzu(\"example\",\n    name=\"example\",\n    endpoint=\"https://endpoint.com\",\n    skip_validation=True,\n    username=\"\u003cUSERNAME\u003e\",\n    password_secret_name=tanzu_password.name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Harness.GetSecretManager.Invoke(new()\n    {\n        Default = true,\n    });\n\n    var tanzuPassword = new Harness.EncryptedText(\"tanzu_password\", new()\n    {\n        Name = \"tanzu_password\",\n        Value = \"\u003cPASSWORD\u003e\",\n        SecretManagerId = @default.Apply(@default =\u003e @default.Apply(getSecretManagerResult =\u003e getSecretManagerResult.Id)),\n    });\n\n    var example = new Harness.Cloudprovider.Tanzu(\"example\", new()\n    {\n        Name = \"example\",\n        Endpoint = \"https://endpoint.com\",\n        SkipValidation = true,\n        Username = \"\u003cUSERNAME\u003e\",\n        PasswordSecretName = tanzuPassword.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/cloudprovider\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := harness.GetSecretManager(ctx, \u0026harness.GetSecretManagerArgs{\n\t\t\tDefault: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttanzuPassword, err := harness.NewEncryptedText(ctx, \"tanzu_password\", \u0026harness.EncryptedTextArgs{\n\t\t\tName:            pulumi.String(\"tanzu_password\"),\n\t\t\tValue:           pulumi.String(\"\u003cPASSWORD\u003e\"),\n\t\t\tSecretManagerId: pulumi.String(_default.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cloudprovider.NewTanzu(ctx, \"example\", \u0026cloudprovider.TanzuArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tEndpoint:           pulumi.String(\"https://endpoint.com\"),\n\t\t\tSkipValidation:     pulumi.Bool(true),\n\t\t\tUsername:           pulumi.String(\"\u003cUSERNAME\u003e\"),\n\t\t\tPasswordSecretName: tanzuPassword.Name,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetSecretManagerArgs;\nimport com.pulumi.harness.EncryptedText;\nimport com.pulumi.harness.EncryptedTextArgs;\nimport com.pulumi.harness.cloudprovider.Tanzu;\nimport com.pulumi.harness.cloudprovider.TanzuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = HarnessFunctions.getSecretManager(GetSecretManagerArgs.builder()\n            .default_(true)\n            .build());\n\n        var tanzuPassword = new EncryptedText(\"tanzuPassword\", EncryptedTextArgs.builder()\n            .name(\"tanzu_password\")\n            .value(\"\u003cPASSWORD\u003e\")\n            .secretManagerId(default_.id())\n            .build());\n\n        var example = new Tanzu(\"example\", TanzuArgs.builder()\n            .name(\"example\")\n            .endpoint(\"https://endpoint.com\")\n            .skipValidation(true)\n            .username(\"\u003cUSERNAME\u003e\")\n            .passwordSecretName(tanzuPassword.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  tanzuPassword:\n    type: harness:EncryptedText\n    name: tanzu_password\n    properties:\n      name: tanzu_password\n      value: \u003cPASSWORD\u003e\n      secretManagerId: ${default.id}\n  example:\n    type: harness:cloudprovider:Tanzu\n    properties:\n      name: example\n      endpoint: https://endpoint.com\n      skipValidation: true\n      username: \u003cUSERNAME\u003e\n      passwordSecretName: ${tanzuPassword.name}\nvariables:\n  default:\n    fn::invoke:\n      function: harness:getSecretManager\n      arguments:\n        default: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness Tanzu cloud provider id.\n\n```sh\n$ pulumi import harness:cloudprovider/tanzu:Tanzu example \u003cprovider_id\u003e\n```\n\n","properties":{"endpoint":{"type":"string","description":"The url of the Tanzu platform.\n"},"name":{"type":"string","description":"The name of the cloud provider.\n"},"passwordSecretName":{"type":"string","description":"The name of the Harness secret containing the password to use to authenticate to Tanzu.\n"},"skipValidation":{"type":"boolean","description":"Skip validation of Tanzu configuration.\n"},"username":{"type":"string","description":"The username to use to authenticate to Tanzu.\n"},"usernameSecretName":{"type":"string","description":"The name of the Harness secret containing the username to authenticate to Tanzu with.\n"}},"required":["endpoint","name","passwordSecretName"],"inputProperties":{"endpoint":{"type":"string","description":"The url of the Tanzu platform.\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"passwordSecretName":{"type":"string","description":"The name of the Harness secret containing the password to use to authenticate to Tanzu.\n"},"skipValidation":{"type":"boolean","description":"Skip validation of Tanzu configuration.\n"},"username":{"type":"string","description":"The username to use to authenticate to Tanzu.\n"},"usernameSecretName":{"type":"string","description":"The name of the Harness secret containing the username to authenticate to Tanzu with.\n"}},"requiredInputs":["endpoint","passwordSecretName"],"stateInputs":{"description":"Input properties used for looking up and filtering Tanzu resources.\n","properties":{"endpoint":{"type":"string","description":"The url of the Tanzu platform.\n"},"name":{"type":"string","description":"The name of the cloud provider.\n","willReplaceOnChanges":true},"passwordSecretName":{"type":"string","description":"The name of the Harness secret containing the password to use to authenticate to Tanzu.\n"},"skipValidation":{"type":"boolean","description":"Skip validation of Tanzu configuration.\n"},"username":{"type":"string","description":"The username to use to authenticate to Tanzu.\n"},"usernameSecretName":{"type":"string","description":"The name of the Harness secret containing the username to authenticate to Tanzu with.\n"}},"type":"object"}},"harness:cluster/orchestrator:Orchestrator":{"description":"Resource for creating and deleting ClusterOrchestrators.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as aws from \"@pulumi/aws\";\nimport * as harness from \"@pulumi/harness\";\n\nconst current = aws.index.Region({});\nconst test = new harness.cluster.Orchestrator(\"test\", {\n    name: \"name\",\n    clusterEndpoint: \"http://test.test.com\",\n    k8sConnectorId: \"test\",\n    region: current.name,\n});\n```\n```python\nimport pulumi\nimport pulumi_aws as aws\nimport pulumi_harness as harness\n\ncurrent = aws.index.region()\ntest = harness.cluster.Orchestrator(\"test\",\n    name=\"name\",\n    cluster_endpoint=\"http://test.test.com\",\n    k8s_connector_id=\"test\",\n    region=current[\"name\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Aws = Pulumi.Aws;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var current = Aws.Index.Region.Invoke();\n\n    var test = new Harness.Cluster.Orchestrator(\"test\", new()\n    {\n        Name = \"name\",\n        ClusterEndpoint = \"http://test.test.com\",\n        K8sConnectorId = \"test\",\n        Region = current.Name,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-aws/sdk/go/aws\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/cluster\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tcurrent, err := aws.Region(ctx, map[string]interface{}{}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = cluster.NewOrchestrator(ctx, \"test\", \u0026cluster.OrchestratorArgs{\n\t\t\tName:            pulumi.String(\"name\"),\n\t\t\tClusterEndpoint: pulumi.String(\"http://test.test.com\"),\n\t\t\tK8sConnectorId:  pulumi.String(\"test\"),\n\t\t\tRegion:          pulumi.Any(current.Name),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.aws.AwsFunctions;\nimport com.pulumi.harness.cluster.Orchestrator;\nimport com.pulumi.harness.cluster.OrchestratorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var current = AwsFunctions.Region(Map.ofEntries(\n        ));\n\n        var test = new Orchestrator(\"test\", OrchestratorArgs.builder()\n            .name(\"name\")\n            .clusterEndpoint(\"http://test.test.com\")\n            .k8sConnectorId(\"test\")\n            .region(current.name())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:cluster:Orchestrator\n    properties:\n      name: name\n      clusterEndpoint: http://test.test.com\n      k8sConnectorId: test\n      region: ${current.name}\nvariables:\n  current:\n    fn::invoke:\n      function: aws:Region\n      arguments: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Lifecycle Operations\n\nThis resource supports the following lifecycle operations:\n\n- **Create**: Creates a new cluster orchestrator in Harness CCM\n- **Delete**: Deletes the cluster orchestrator from Harness CCM\n\nWhen you run `terraform destroy`, the cluster orchestrator will be permanently deleted from your Harness account.\n","properties":{"clusterEndpoint":{"type":"string","description":"Endpoint of the k8s cluster being onboarded under the orchestrator\n"},"k8sConnectorId":{"type":"string","description":"ID of the Harness Kubernetes Connector Being used\n"},"name":{"type":"string","description":"Name of the Orchestrator\n"},"region":{"type":"string","description":"Region of the k8s cluster\n"}},"required":["clusterEndpoint","k8sConnectorId","name"],"inputProperties":{"clusterEndpoint":{"type":"string","description":"Endpoint of the k8s cluster being onboarded under the orchestrator\n"},"k8sConnectorId":{"type":"string","description":"ID of the Harness Kubernetes Connector Being used\n"},"name":{"type":"string","description":"Name of the Orchestrator\n"},"region":{"type":"string","description":"Region of the k8s cluster\n"}},"requiredInputs":["clusterEndpoint","k8sConnectorId"],"stateInputs":{"description":"Input properties used for looking up and filtering Orchestrator resources.\n","properties":{"clusterEndpoint":{"type":"string","description":"Endpoint of the k8s cluster being onboarded under the orchestrator\n"},"k8sConnectorId":{"type":"string","description":"ID of the Harness Kubernetes Connector Being used\n"},"name":{"type":"string","description":"Name of the Orchestrator\n"},"region":{"type":"string","description":"Region of the k8s cluster\n"}},"type":"object"}},"harness:cluster/orchestratorConfig:OrchestratorConfig":{"description":"Resource for ClusterOrchestrator Config.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.cluster.OrchestratorConfig(\"example\", {\n    orchestratorId: \"orch-cvifpfl9rbg8neldj97g\",\n    disabled: false,\n    distribution: {\n        baseOndemandCapacity: 2,\n        ondemandReplicaPercentage: 50,\n        selector: \"ALL\",\n        strategy: \"CostOptimized\",\n    },\n    binpacking: {\n        podEviction: {\n            threshold: {\n                cpu: 60,\n                memory: 80,\n            },\n        },\n        disruption: {\n            criteria: \"WhenEmpty\",\n            delay: \"10m\",\n            budgets: [\n                {\n                    reasons: [\n                        \"Drifted\",\n                        \"Underutilized\",\n                        \"Empty\",\n                    ],\n                    nodes: \"20\",\n                },\n                {\n                    reasons: [\n                        \"Drifted\",\n                        \"Empty\",\n                    ],\n                    nodes: \"1\",\n                    schedule: {\n                        frequency: \"@monthly\",\n                        duration: \"10m\",\n                    },\n                },\n            ],\n        },\n    },\n    nodePreferences: {\n        ttl: \"Never\",\n        reverseFallbackInterval: \"6h\",\n    },\n    commitmentIntegration: {\n        enabled: true,\n        masterAccountId: \"dummyAccountId\",\n    },\n    replacementSchedule: {\n        windowType: \"Custom\",\n        appliesTo: {\n            consolidation: true,\n            harnessPodEviction: true,\n            reverseFallback: true,\n        },\n        windowDetails: {\n            days: [\n                \"SUN\",\n                \"WED\",\n                \"SAT\",\n            ],\n            timeZone: \"Asia/Calcutta\",\n            allDay: false,\n            startTime: \"10:30\",\n            endTime: \"11:30\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.cluster.OrchestratorConfig(\"example\",\n    orchestrator_id=\"orch-cvifpfl9rbg8neldj97g\",\n    disabled=False,\n    distribution={\n        \"base_ondemand_capacity\": 2,\n        \"ondemand_replica_percentage\": 50,\n        \"selector\": \"ALL\",\n        \"strategy\": \"CostOptimized\",\n    },\n    binpacking={\n        \"pod_eviction\": {\n            \"threshold\": {\n                \"cpu\": 60,\n                \"memory\": 80,\n            },\n        },\n        \"disruption\": {\n            \"criteria\": \"WhenEmpty\",\n            \"delay\": \"10m\",\n            \"budgets\": [\n                {\n                    \"reasons\": [\n                        \"Drifted\",\n                        \"Underutilized\",\n                        \"Empty\",\n                    ],\n                    \"nodes\": \"20\",\n                },\n                {\n                    \"reasons\": [\n                        \"Drifted\",\n                        \"Empty\",\n                    ],\n                    \"nodes\": \"1\",\n                    \"schedule\": {\n                        \"frequency\": \"@monthly\",\n                        \"duration\": \"10m\",\n                    },\n                },\n            ],\n        },\n    },\n    node_preferences={\n        \"ttl\": \"Never\",\n        \"reverse_fallback_interval\": \"6h\",\n    },\n    commitment_integration={\n        \"enabled\": True,\n        \"master_account_id\": \"dummyAccountId\",\n    },\n    replacement_schedule={\n        \"window_type\": \"Custom\",\n        \"applies_to\": {\n            \"consolidation\": True,\n            \"harness_pod_eviction\": True,\n            \"reverse_fallback\": True,\n        },\n        \"window_details\": {\n            \"days\": [\n                \"SUN\",\n                \"WED\",\n                \"SAT\",\n            ],\n            \"time_zone\": \"Asia/Calcutta\",\n            \"all_day\": False,\n            \"start_time\": \"10:30\",\n            \"end_time\": \"11:30\",\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Cluster.OrchestratorConfig(\"example\", new()\n    {\n        OrchestratorId = \"orch-cvifpfl9rbg8neldj97g\",\n        Disabled = false,\n        Distribution = new Harness.Cluster.Inputs.OrchestratorConfigDistributionArgs\n        {\n            BaseOndemandCapacity = 2,\n            OndemandReplicaPercentage = 50,\n            Selector = \"ALL\",\n            Strategy = \"CostOptimized\",\n        },\n        Binpacking = new Harness.Cluster.Inputs.OrchestratorConfigBinpackingArgs\n        {\n            PodEviction = new Harness.Cluster.Inputs.OrchestratorConfigBinpackingPodEvictionArgs\n            {\n                Threshold = new Harness.Cluster.Inputs.OrchestratorConfigBinpackingPodEvictionThresholdArgs\n                {\n                    Cpu = 60,\n                    Memory = 80,\n                },\n            },\n            Disruption = new Harness.Cluster.Inputs.OrchestratorConfigBinpackingDisruptionArgs\n            {\n                Criteria = \"WhenEmpty\",\n                Delay = \"10m\",\n                Budgets = new[]\n                {\n                    new Harness.Cluster.Inputs.OrchestratorConfigBinpackingDisruptionBudgetArgs\n                    {\n                        Reasons = new[]\n                        {\n                            \"Drifted\",\n                            \"Underutilized\",\n                            \"Empty\",\n                        },\n                        Nodes = \"20\",\n                    },\n                    new Harness.Cluster.Inputs.OrchestratorConfigBinpackingDisruptionBudgetArgs\n                    {\n                        Reasons = new[]\n                        {\n                            \"Drifted\",\n                            \"Empty\",\n                        },\n                        Nodes = \"1\",\n                        Schedule = new Harness.Cluster.Inputs.OrchestratorConfigBinpackingDisruptionBudgetScheduleArgs\n                        {\n                            Frequency = \"@monthly\",\n                            Duration = \"10m\",\n                        },\n                    },\n                },\n            },\n        },\n        NodePreferences = new Harness.Cluster.Inputs.OrchestratorConfigNodePreferencesArgs\n        {\n            Ttl = \"Never\",\n            ReverseFallbackInterval = \"6h\",\n        },\n        CommitmentIntegration = new Harness.Cluster.Inputs.OrchestratorConfigCommitmentIntegrationArgs\n        {\n            Enabled = true,\n            MasterAccountId = \"dummyAccountId\",\n        },\n        ReplacementSchedule = new Harness.Cluster.Inputs.OrchestratorConfigReplacementScheduleArgs\n        {\n            WindowType = \"Custom\",\n            AppliesTo = new Harness.Cluster.Inputs.OrchestratorConfigReplacementScheduleAppliesToArgs\n            {\n                Consolidation = true,\n                HarnessPodEviction = true,\n                ReverseFallback = true,\n            },\n            WindowDetails = new Harness.Cluster.Inputs.OrchestratorConfigReplacementScheduleWindowDetailsArgs\n            {\n                Days = new[]\n                {\n                    \"SUN\",\n                    \"WED\",\n                    \"SAT\",\n                },\n                TimeZone = \"Asia/Calcutta\",\n                AllDay = false,\n                StartTime = \"10:30\",\n                EndTime = \"11:30\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/cluster\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cluster.NewOrchestratorConfig(ctx, \"example\", \u0026cluster.OrchestratorConfigArgs{\n\t\t\tOrchestratorId: pulumi.String(\"orch-cvifpfl9rbg8neldj97g\"),\n\t\t\tDisabled:       pulumi.Bool(false),\n\t\t\tDistribution: \u0026cluster.OrchestratorConfigDistributionArgs{\n\t\t\t\tBaseOndemandCapacity:      pulumi.Int(2),\n\t\t\t\tOndemandReplicaPercentage: pulumi.Float64(50),\n\t\t\t\tSelector:                  pulumi.String(\"ALL\"),\n\t\t\t\tStrategy:                  pulumi.String(\"CostOptimized\"),\n\t\t\t},\n\t\t\tBinpacking: \u0026cluster.OrchestratorConfigBinpackingArgs{\n\t\t\t\tPodEviction: \u0026cluster.OrchestratorConfigBinpackingPodEvictionArgs{\n\t\t\t\t\tThreshold: \u0026cluster.OrchestratorConfigBinpackingPodEvictionThresholdArgs{\n\t\t\t\t\t\tCpu:    pulumi.Float64(60),\n\t\t\t\t\t\tMemory: pulumi.Float64(80),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tDisruption: \u0026cluster.OrchestratorConfigBinpackingDisruptionArgs{\n\t\t\t\t\tCriteria: pulumi.String(\"WhenEmpty\"),\n\t\t\t\t\tDelay:    pulumi.String(\"10m\"),\n\t\t\t\t\tBudgets: cluster.OrchestratorConfigBinpackingDisruptionBudgetArray{\n\t\t\t\t\t\t\u0026cluster.OrchestratorConfigBinpackingDisruptionBudgetArgs{\n\t\t\t\t\t\t\tReasons: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Drifted\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Underutilized\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Empty\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNodes: pulumi.String(\"20\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026cluster.OrchestratorConfigBinpackingDisruptionBudgetArgs{\n\t\t\t\t\t\t\tReasons: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"Drifted\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"Empty\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNodes: pulumi.String(\"1\"),\n\t\t\t\t\t\t\tSchedule: \u0026cluster.OrchestratorConfigBinpackingDisruptionBudgetScheduleArgs{\n\t\t\t\t\t\t\t\tFrequency: pulumi.String(\"@monthly\"),\n\t\t\t\t\t\t\t\tDuration:  pulumi.String(\"10m\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tNodePreferences: \u0026cluster.OrchestratorConfigNodePreferencesArgs{\n\t\t\t\tTtl:                     pulumi.String(\"Never\"),\n\t\t\t\tReverseFallbackInterval: pulumi.String(\"6h\"),\n\t\t\t},\n\t\t\tCommitmentIntegration: \u0026cluster.OrchestratorConfigCommitmentIntegrationArgs{\n\t\t\t\tEnabled:         pulumi.Bool(true),\n\t\t\t\tMasterAccountId: pulumi.String(\"dummyAccountId\"),\n\t\t\t},\n\t\t\tReplacementSchedule: \u0026cluster.OrchestratorConfigReplacementScheduleArgs{\n\t\t\t\tWindowType: pulumi.String(\"Custom\"),\n\t\t\t\tAppliesTo: \u0026cluster.OrchestratorConfigReplacementScheduleAppliesToArgs{\n\t\t\t\t\tConsolidation:      pulumi.Bool(true),\n\t\t\t\t\tHarnessPodEviction: pulumi.Bool(true),\n\t\t\t\t\tReverseFallback:    pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\tWindowDetails: \u0026cluster.OrchestratorConfigReplacementScheduleWindowDetailsArgs{\n\t\t\t\t\tDays: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"SUN\"),\n\t\t\t\t\t\tpulumi.String(\"WED\"),\n\t\t\t\t\t\tpulumi.String(\"SAT\"),\n\t\t\t\t\t},\n\t\t\t\t\tTimeZone:  pulumi.String(\"Asia/Calcutta\"),\n\t\t\t\t\tAllDay:    pulumi.Bool(false),\n\t\t\t\t\tStartTime: pulumi.String(\"10:30\"),\n\t\t\t\t\tEndTime:   pulumi.String(\"11:30\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.cluster.OrchestratorConfig;\nimport com.pulumi.harness.cluster.OrchestratorConfigArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigDistributionArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigBinpackingArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigBinpackingPodEvictionArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigBinpackingPodEvictionThresholdArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigBinpackingDisruptionArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigNodePreferencesArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigCommitmentIntegrationArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigReplacementScheduleArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigReplacementScheduleAppliesToArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigReplacementScheduleWindowDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new OrchestratorConfig(\"example\", OrchestratorConfigArgs.builder()\n            .orchestratorId(\"orch-cvifpfl9rbg8neldj97g\")\n            .disabled(false)\n            .distribution(OrchestratorConfigDistributionArgs.builder()\n                .baseOndemandCapacity(2)\n                .ondemandReplicaPercentage(50.0)\n                .selector(\"ALL\")\n                .strategy(\"CostOptimized\")\n                .build())\n            .binpacking(OrchestratorConfigBinpackingArgs.builder()\n                .podEviction(OrchestratorConfigBinpackingPodEvictionArgs.builder()\n                    .threshold(OrchestratorConfigBinpackingPodEvictionThresholdArgs.builder()\n                        .cpu(60.0)\n                        .memory(80.0)\n                        .build())\n                    .build())\n                .disruption(OrchestratorConfigBinpackingDisruptionArgs.builder()\n                    .criteria(\"WhenEmpty\")\n                    .delay(\"10m\")\n                    .budgets(                    \n                        OrchestratorConfigBinpackingDisruptionBudgetArgs.builder()\n                            .reasons(                            \n                                \"Drifted\",\n                                \"Underutilized\",\n                                \"Empty\")\n                            .nodes(\"20\")\n                            .build(),\n                        OrchestratorConfigBinpackingDisruptionBudgetArgs.builder()\n                            .reasons(                            \n                                \"Drifted\",\n                                \"Empty\")\n                            .nodes(\"1\")\n                            .schedule(OrchestratorConfigBinpackingDisruptionBudgetScheduleArgs.builder()\n                                .frequency(\"@monthly\")\n                                .duration(\"10m\")\n                                .build())\n                            .build())\n                    .build())\n                .build())\n            .nodePreferences(OrchestratorConfigNodePreferencesArgs.builder()\n                .ttl(\"Never\")\n                .reverseFallbackInterval(\"6h\")\n                .build())\n            .commitmentIntegration(OrchestratorConfigCommitmentIntegrationArgs.builder()\n                .enabled(true)\n                .masterAccountId(\"dummyAccountId\")\n                .build())\n            .replacementSchedule(OrchestratorConfigReplacementScheduleArgs.builder()\n                .windowType(\"Custom\")\n                .appliesTo(OrchestratorConfigReplacementScheduleAppliesToArgs.builder()\n                    .consolidation(true)\n                    .harnessPodEviction(true)\n                    .reverseFallback(true)\n                    .build())\n                .windowDetails(OrchestratorConfigReplacementScheduleWindowDetailsArgs.builder()\n                    .days(                    \n                        \"SUN\",\n                        \"WED\",\n                        \"SAT\")\n                    .timeZone(\"Asia/Calcutta\")\n                    .allDay(false)\n                    .startTime(\"10:30\")\n                    .endTime(\"11:30\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:cluster:OrchestratorConfig\n    properties:\n      orchestratorId: orch-cvifpfl9rbg8neldj97g\n      disabled: false # Set to true to disable the orchestrator\n      distribution:\n        baseOndemandCapacity: 2\n        ondemandReplicaPercentage: 50\n        selector: ALL\n        strategy: CostOptimized\n      binpacking:\n        podEviction:\n          threshold:\n            cpu: 60\n            memory: 80\n        disruption:\n          criteria: WhenEmpty\n          delay: 10m\n          budgets:\n            - reasons:\n                - Drifted\n                - Underutilized\n                - Empty\n              nodes: '20'\n            - reasons:\n                - Drifted\n                - Empty\n              nodes: '1'\n              schedule:\n                frequency: '@monthly'\n                duration: 10m\n      nodePreferences:\n        ttl: Never\n        reverseFallbackInterval: 6h\n      commitmentIntegration:\n        enabled: true\n        masterAccountId: dummyAccountId\n      replacementSchedule:\n        windowType: Custom\n        appliesTo:\n          consolidation: true\n          harnessPodEviction: true\n          reverseFallback: true\n        windowDetails:\n          days:\n            - SUN\n            - WED\n            - SAT\n          timeZone: Asia/Calcutta\n          allDay: false\n          startTime: 10:30\n          endTime: 11:30\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"binpacking":{"$ref":"#/types/harness:cluster/OrchestratorConfigBinpacking:OrchestratorConfigBinpacking","description":"Binpacking preferences for Cluster Orchestrator\n"},"commitmentIntegration":{"$ref":"#/types/harness:cluster/OrchestratorConfigCommitmentIntegration:OrchestratorConfigCommitmentIntegration","description":"Commitment integration configuration for Cluster Orchestrator\n"},"disabled":{"type":"boolean","description":"Whether the cluster orchestrator is disabled\n"},"distribution":{"$ref":"#/types/harness:cluster/OrchestratorConfigDistribution:OrchestratorConfigDistribution","description":"Spot and Ondemand Distribution Preferences for workload replicas\n"},"nodePreferences":{"$ref":"#/types/harness:cluster/OrchestratorConfigNodePreferences:OrchestratorConfigNodePreferences","description":"Node preferences for Cluster Orchestrator\n"},"orchestratorId":{"type":"string","description":"ID of the Cluster Orchestrator Object\n"},"replacementSchedule":{"$ref":"#/types/harness:cluster/OrchestratorConfigReplacementSchedule:OrchestratorConfigReplacementSchedule","description":"Replacement schedule for Cluster Orchestrator\n"}},"required":["distribution","orchestratorId"],"inputProperties":{"binpacking":{"$ref":"#/types/harness:cluster/OrchestratorConfigBinpacking:OrchestratorConfigBinpacking","description":"Binpacking preferences for Cluster Orchestrator\n"},"commitmentIntegration":{"$ref":"#/types/harness:cluster/OrchestratorConfigCommitmentIntegration:OrchestratorConfigCommitmentIntegration","description":"Commitment integration configuration for Cluster Orchestrator\n"},"disabled":{"type":"boolean","description":"Whether the cluster orchestrator is disabled\n"},"distribution":{"$ref":"#/types/harness:cluster/OrchestratorConfigDistribution:OrchestratorConfigDistribution","description":"Spot and Ondemand Distribution Preferences for workload replicas\n"},"nodePreferences":{"$ref":"#/types/harness:cluster/OrchestratorConfigNodePreferences:OrchestratorConfigNodePreferences","description":"Node preferences for Cluster Orchestrator\n"},"orchestratorId":{"type":"string","description":"ID of the Cluster Orchestrator Object\n"},"replacementSchedule":{"$ref":"#/types/harness:cluster/OrchestratorConfigReplacementSchedule:OrchestratorConfigReplacementSchedule","description":"Replacement schedule for Cluster Orchestrator\n"}},"requiredInputs":["distribution","orchestratorId"],"stateInputs":{"description":"Input properties used for looking up and filtering OrchestratorConfig resources.\n","properties":{"binpacking":{"$ref":"#/types/harness:cluster/OrchestratorConfigBinpacking:OrchestratorConfigBinpacking","description":"Binpacking preferences for Cluster Orchestrator\n"},"commitmentIntegration":{"$ref":"#/types/harness:cluster/OrchestratorConfigCommitmentIntegration:OrchestratorConfigCommitmentIntegration","description":"Commitment integration configuration for Cluster Orchestrator\n"},"disabled":{"type":"boolean","description":"Whether the cluster orchestrator is disabled\n"},"distribution":{"$ref":"#/types/harness:cluster/OrchestratorConfigDistribution:OrchestratorConfigDistribution","description":"Spot and Ondemand Distribution Preferences for workload replicas\n"},"nodePreferences":{"$ref":"#/types/harness:cluster/OrchestratorConfigNodePreferences:OrchestratorConfigNodePreferences","description":"Node preferences for Cluster Orchestrator\n"},"orchestratorId":{"type":"string","description":"ID of the Cluster Orchestrator Object\n"},"replacementSchedule":{"$ref":"#/types/harness:cluster/OrchestratorConfigReplacementSchedule:OrchestratorConfigReplacementSchedule","description":"Replacement schedule for Cluster Orchestrator\n"}},"type":"object"}},"harness:governance/rule:Rule":{"description":"Resource for creating, updating, and managing rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.governance.Rule(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    cloudProvider: \"AWS/AZURE/GCP\",\n    description: \"description\",\n    rulesYaml: `policies:\n  - name: aws-list-ec2\n    resource: aws.ec2`,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.governance.Rule(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    cloud_provider=\"AWS/AZURE/GCP\",\n    description=\"description\",\n    rules_yaml=\"\"\"policies:\n  - name: aws-list-ec2\n    resource: aws.ec2\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Governance.Rule(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        CloudProvider = \"AWS/AZURE/GCP\",\n        Description = \"description\",\n        RulesYaml = @\"policies:\n  - name: aws-list-ec2\n    resource: aws.ec2\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/governance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := governance.NewRule(ctx, \"example\", \u0026governance.RuleArgs{\n\t\t\tIdentifier:    \"identifier\",\n\t\t\tName:          pulumi.String(\"name\"),\n\t\t\tCloudProvider: pulumi.String(\"AWS/AZURE/GCP\"),\n\t\t\tDescription:   pulumi.String(\"description\"),\n\t\t\tRulesYaml:     pulumi.String(\"policies:\\n  - name: aws-list-ec2\\n    resource: aws.ec2\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.governance.Rule;\nimport com.pulumi.harness.governance.RuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Rule(\"example\", RuleArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .cloudProvider(\"AWS/AZURE/GCP\")\n            .description(\"description\")\n            .rulesYaml(\"\"\"\npolicies:\n  - name: aws-list-ec2\n    resource: aws.ec2            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:governance:Rule\n    properties:\n      identifier: identifier\n      name: name\n      cloudProvider: AWS/AZURE/GCP\n      description: description\n      rulesYaml: |-\n        policies:\n          - name: aws-list-ec2\n            resource: aws.ec2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport governance enforcement\n\n```sh\n$ pulumi import harness:governance/rule:Rule example \u003crule_id\u003e\n```\n\n","properties":{"cloudProvider":{"type":"string","description":"The cloud provider for the rule. It should be either AWS, AZURE or GCP.\n"},"description":{"type":"string","description":"Description for rule.\n"},"name":{"type":"string","description":"Name of the rule.\n"},"ruleId":{"type":"string","description":"Id of the rule.\n"},"rulesYaml":{"type":"string","description":"The policy YAML of the rule\n"}},"required":["cloudProvider","name","ruleId","rulesYaml"],"inputProperties":{"cloudProvider":{"type":"string","description":"The cloud provider for the rule. It should be either AWS, AZURE or GCP.\n"},"description":{"type":"string","description":"Description for rule.\n"},"name":{"type":"string","description":"Name of the rule.\n"},"rulesYaml":{"type":"string","description":"The policy YAML of the rule\n"}},"requiredInputs":["cloudProvider","rulesYaml"],"stateInputs":{"description":"Input properties used for looking up and filtering Rule resources.\n","properties":{"cloudProvider":{"type":"string","description":"The cloud provider for the rule. It should be either AWS, AZURE or GCP.\n"},"description":{"type":"string","description":"Description for rule.\n"},"name":{"type":"string","description":"Name of the rule.\n"},"ruleId":{"type":"string","description":"Id of the rule.\n"},"rulesYaml":{"type":"string","description":"The policy YAML of the rule\n"}},"type":"object"}},"harness:governance/ruleEnforcement:RuleEnforcement":{"description":"Resource for creating, updating, and managing rule enforcement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.governance.RuleEnforcement(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    cloudProvider: \"AWS/AZURE/GCP\",\n    ruleIds: [\"rule_id1\"],\n    ruleSetIds: [\"rule_set_id1\"],\n    executionSchedule: \"0 0 * * * *\",\n    executionTimezone: \"UTC\",\n    isEnabled: true,\n    targetAccounts: [\"awsAccountId/azureSubscriptionId/gcpProjectId\"],\n    targetRegions: [\"us-east-1/eastus\"],\n    isDryRun: false,\n    description: \"description\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.governance.RuleEnforcement(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    cloud_provider=\"AWS/AZURE/GCP\",\n    rule_ids=[\"rule_id1\"],\n    rule_set_ids=[\"rule_set_id1\"],\n    execution_schedule=\"0 0 * * * *\",\n    execution_timezone=\"UTC\",\n    is_enabled=True,\n    target_accounts=[\"awsAccountId/azureSubscriptionId/gcpProjectId\"],\n    target_regions=[\"us-east-1/eastus\"],\n    is_dry_run=False,\n    description=\"description\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Governance.RuleEnforcement(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        CloudProvider = \"AWS/AZURE/GCP\",\n        RuleIds = new[]\n        {\n            \"rule_id1\",\n        },\n        RuleSetIds = new[]\n        {\n            \"rule_set_id1\",\n        },\n        ExecutionSchedule = \"0 0 * * * *\",\n        ExecutionTimezone = \"UTC\",\n        IsEnabled = true,\n        TargetAccounts = new[]\n        {\n            \"awsAccountId/azureSubscriptionId/gcpProjectId\",\n        },\n        TargetRegions = new[]\n        {\n            \"us-east-1/eastus\",\n        },\n        IsDryRun = false,\n        Description = \"description\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/governance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := governance.NewRuleEnforcement(ctx, \"example\", \u0026governance.RuleEnforcementArgs{\n\t\t\tIdentifier:    \"identifier\",\n\t\t\tName:          pulumi.String(\"name\"),\n\t\t\tCloudProvider: pulumi.String(\"AWS/AZURE/GCP\"),\n\t\t\tRuleIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"rule_id1\"),\n\t\t\t},\n\t\t\tRuleSetIds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"rule_set_id1\"),\n\t\t\t},\n\t\t\tExecutionSchedule: pulumi.String(\"0 0 * * * *\"),\n\t\t\tExecutionTimezone: pulumi.String(\"UTC\"),\n\t\t\tIsEnabled:         pulumi.Bool(true),\n\t\t\tTargetAccounts: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"awsAccountId/azureSubscriptionId/gcpProjectId\"),\n\t\t\t},\n\t\t\tTargetRegions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"us-east-1/eastus\"),\n\t\t\t},\n\t\t\tIsDryRun:    pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.governance.RuleEnforcement;\nimport com.pulumi.harness.governance.RuleEnforcementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new RuleEnforcement(\"example\", RuleEnforcementArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .cloudProvider(\"AWS/AZURE/GCP\")\n            .ruleIds(\"rule_id1\")\n            .ruleSetIds(\"rule_set_id1\")\n            .executionSchedule(\"0 0 * * * *\")\n            .executionTimezone(\"UTC\")\n            .isEnabled(true)\n            .targetAccounts(\"awsAccountId/azureSubscriptionId/gcpProjectId\")\n            .targetRegions(\"us-east-1/eastus\")\n            .isDryRun(false)\n            .description(\"description\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:governance:RuleEnforcement\n    properties:\n      identifier: identifier\n      name: name\n      cloudProvider: AWS/AZURE/GCP\n      ruleIds:\n        - rule_id1\n      ruleSetIds:\n        - rule_set_id1\n      executionSchedule: 0 0 * * * *\n      executionTimezone: UTC\n      isEnabled: true\n      targetAccounts:\n        - awsAccountId/azureSubscriptionId/gcpProjectId\n      targetRegions:\n        - us-east-1/eastus\n      isDryRun: false\n      description: description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport governance enforcement\n\n```sh\n$ pulumi import harness:governance/ruleEnforcement:RuleEnforcement example \u003cenforcement_id\u003e\n```\n\n","properties":{"cloudProvider":{"type":"string","description":"The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.\n"},"description":{"type":"string","description":"Description for rule enforcement.\n"},"enforcementId":{"type":"string","description":"Id of the rule enforcement.\n"},"executionSchedule":{"type":"string","description":"Execution schedule in cron format.\n"},"executionTimezone":{"type":"string","description":"Timezone for the execution schedule.\n"},"isDryRun":{"type":"boolean","description":"Indicates if the rule enforcement is a dry run. This by default is set to false.\n"},"isEnabled":{"type":"boolean","description":"Indicates if the rule enforcement is enabled. This by default is set to true.\n"},"name":{"type":"string","description":"Name of the rule enforcement.\n"},"ruleIds":{"type":"array","items":{"type":"string"},"description":"List of rule IDs. Either rule*ids or rule*set_ids should be provided.\n"},"ruleSetIds":{"type":"array","items":{"type":"string"},"description":"List of rule set IDs. Either rule*ids or rule*set_ids should be provided.\n"},"targetAccounts":{"type":"array","items":{"type":"string"},"description":"List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.\n"},"targetRegions":{"type":"array","items":{"type":"string"},"description":"List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.\n"}},"required":["cloudProvider","enforcementId","executionSchedule","executionTimezone","name","targetAccounts"],"inputProperties":{"cloudProvider":{"type":"string","description":"The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.\n"},"description":{"type":"string","description":"Description for rule enforcement.\n"},"executionSchedule":{"type":"string","description":"Execution schedule in cron format.\n"},"executionTimezone":{"type":"string","description":"Timezone for the execution schedule.\n"},"isDryRun":{"type":"boolean","description":"Indicates if the rule enforcement is a dry run. This by default is set to false.\n"},"isEnabled":{"type":"boolean","description":"Indicates if the rule enforcement is enabled. This by default is set to true.\n"},"name":{"type":"string","description":"Name of the rule enforcement.\n"},"ruleIds":{"type":"array","items":{"type":"string"},"description":"List of rule IDs. Either rule*ids or rule*set_ids should be provided.\n"},"ruleSetIds":{"type":"array","items":{"type":"string"},"description":"List of rule set IDs. Either rule*ids or rule*set_ids should be provided.\n"},"targetAccounts":{"type":"array","items":{"type":"string"},"description":"List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.\n"},"targetRegions":{"type":"array","items":{"type":"string"},"description":"List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.\n"}},"requiredInputs":["cloudProvider","executionSchedule","executionTimezone","targetAccounts"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleEnforcement resources.\n","properties":{"cloudProvider":{"type":"string","description":"The cloud provider for the rule enforcement. It should be either AWS, AZURE or GCP.\n"},"description":{"type":"string","description":"Description for rule enforcement.\n"},"enforcementId":{"type":"string","description":"Id of the rule enforcement.\n"},"executionSchedule":{"type":"string","description":"Execution schedule in cron format.\n"},"executionTimezone":{"type":"string","description":"Timezone for the execution schedule.\n"},"isDryRun":{"type":"boolean","description":"Indicates if the rule enforcement is a dry run. This by default is set to false.\n"},"isEnabled":{"type":"boolean","description":"Indicates if the rule enforcement is enabled. This by default is set to true.\n"},"name":{"type":"string","description":"Name of the rule enforcement.\n"},"ruleIds":{"type":"array","items":{"type":"string"},"description":"List of rule IDs. Either rule*ids or rule*set_ids should be provided.\n"},"ruleSetIds":{"type":"array","items":{"type":"string"},"description":"List of rule set IDs. Either rule*ids or rule*set_ids should be provided.\n"},"targetAccounts":{"type":"array","items":{"type":"string"},"description":"List of target account which can be either AWS Account Ids or Azure Subscription Ids or Gcp Project Ids.\n"},"targetRegions":{"type":"array","items":{"type":"string"},"description":"List of target regions. For GCP it should be left empty but is required in case of AWS or Azure.\n"}},"type":"object"}},"harness:governance/ruleSet:RuleSet":{"description":"Resource for creating, updating, and managing rule.\n","properties":{"cloudProvider":{"type":"string","description":"The cloud provider for the rule set. It should be either AWS, AZURE or GCP.\n"},"description":{"type":"string","description":"Description for rule set.\n"},"name":{"type":"string","description":"Name of the rule set.\n"},"ruleIds":{"type":"array","items":{"type":"string"},"description":"List of rule IDs\n"},"ruleSetId":{"type":"string","description":"Id of the rule.\n"}},"required":["cloudProvider","name","ruleIds","ruleSetId"],"inputProperties":{"cloudProvider":{"type":"string","description":"The cloud provider for the rule set. It should be either AWS, AZURE or GCP.\n"},"description":{"type":"string","description":"Description for rule set.\n"},"name":{"type":"string","description":"Name of the rule set.\n"},"ruleIds":{"type":"array","items":{"type":"string"},"description":"List of rule IDs\n"}},"requiredInputs":["cloudProvider","ruleIds"],"stateInputs":{"description":"Input properties used for looking up and filtering RuleSet resources.\n","properties":{"cloudProvider":{"type":"string","description":"The cloud provider for the rule set. It should be either AWS, AZURE or GCP.\n"},"description":{"type":"string","description":"Description for rule set.\n"},"name":{"type":"string","description":"Name of the rule set.\n"},"ruleIds":{"type":"array","items":{"type":"string"},"description":"List of rule IDs\n"},"ruleSetId":{"type":"string","description":"Id of the rule.\n"}},"type":"object"}},"harness:index/addUserToGroup:AddUserToGroup":{"description":"Resource for adding a user to a group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst exampleUser = harness.getUser({\n    email: \"testuser@example.com\",\n});\nconst admin = new harness.UserGroup(\"admin\", {name: \"admin\"});\nconst exampleAddUserToGroups = new harness.AddUserToGroup(\"example_add_user_to_groups\", {\n    groupId: admin.id,\n    userId: test.id,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample_user = harness.get_user(email=\"testuser@example.com\")\nadmin = harness.UserGroup(\"admin\", name=\"admin\")\nexample_add_user_to_groups = harness.AddUserToGroup(\"example_add_user_to_groups\",\n    group_id=admin.id,\n    user_id=test[\"id\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleUser = Harness.GetUser.Invoke(new()\n    {\n        Email = \"testuser@example.com\",\n    });\n\n    var admin = new Harness.UserGroup(\"admin\", new()\n    {\n        Name = \"admin\",\n    });\n\n    var exampleAddUserToGroups = new Harness.AddUserToGroup(\"example_add_user_to_groups\", new()\n    {\n        GroupId = admin.Id,\n        UserId = test.Id,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := harness.LookupUser(ctx, \u0026harness.LookupUserArgs{\n\t\t\tEmail: pulumi.StringRef(\"testuser@example.com\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tadmin, err := harness.NewUserGroup(ctx, \"admin\", \u0026harness.UserGroupArgs{\n\t\t\tName: pulumi.String(\"admin\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = harness.NewAddUserToGroup(ctx, \"example_add_user_to_groups\", \u0026harness.AddUserToGroupArgs{\n\t\t\tGroupId: admin.ID(),\n\t\t\tUserId:  pulumi.Any(test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetUserArgs;\nimport com.pulumi.harness.UserGroup;\nimport com.pulumi.harness.UserGroupArgs;\nimport com.pulumi.harness.AddUserToGroup;\nimport com.pulumi.harness.AddUserToGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleUser = HarnessFunctions.getUser(GetUserArgs.builder()\n            .email(\"testuser@example.com\")\n            .build());\n\n        var admin = new UserGroup(\"admin\", UserGroupArgs.builder()\n            .name(\"admin\")\n            .build());\n\n        var exampleAddUserToGroups = new AddUserToGroup(\"exampleAddUserToGroups\", AddUserToGroupArgs.builder()\n            .groupId(admin.id())\n            .userId(test.id())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  admin:\n    type: harness:UserGroup\n    properties:\n      name: admin\n  exampleAddUserToGroups:\n    type: harness:AddUserToGroup\n    name: example_add_user_to_groups\n    properties:\n      groupId: ${admin.id}\n      userId: ${test.id}\nvariables:\n  exampleUser:\n    fn::invoke:\n      function: harness:getUser\n      arguments:\n        email: testuser@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness user and user group id\n\n```sh\n$ pulumi import harness:index/addUserToGroup:AddUserToGroup example_admin \u003cuser_id\u003e/\u003cgroup_id\u003e\n```\n\n","properties":{"groupId":{"type":"string","description":"The name of the user.\n"},"userId":{"type":"string","description":"Unique identifier of the user.\n"}},"required":["groupId","userId"],"inputProperties":{"groupId":{"type":"string","description":"The name of the user.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"Unique identifier of the user.\n","willReplaceOnChanges":true}},"requiredInputs":["groupId","userId"],"stateInputs":{"description":"Input properties used for looking up and filtering AddUserToGroup resources.\n","properties":{"groupId":{"type":"string","description":"The name of the user.\n","willReplaceOnChanges":true},"userId":{"type":"string","description":"Unique identifier of the user.\n","willReplaceOnChanges":true}},"type":"object"}},"harness:index/application:Application":{"description":"Resource for creating a Harness application\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst myapp = new harness.Application(\"myapp\", {\n    name: \"My Application\",\n    description: \"This is my first Harness application\",\n    tags: [\n        \"mytag:myvalue\",\n        \"team:development\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nmyapp = harness.Application(\"myapp\",\n    name=\"My Application\",\n    description=\"This is my first Harness application\",\n    tags=[\n        \"mytag:myvalue\",\n        \"team:development\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var myapp = new Harness.Application(\"myapp\", new()\n    {\n        Name = \"My Application\",\n        Description = \"This is my first Harness application\",\n        Tags = new[]\n        {\n            \"mytag:myvalue\",\n            \"team:development\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := harness.NewApplication(ctx, \"myapp\", \u0026harness.ApplicationArgs{\n\t\t\tName:        pulumi.String(\"My Application\"),\n\t\t\tDescription: pulumi.String(\"This is my first Harness application\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"mytag:myvalue\"),\n\t\t\t\tpulumi.String(\"team:development\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var myapp = new Application(\"myapp\", ApplicationArgs.builder()\n            .name(\"My Application\")\n            .description(\"This is my first Harness application\")\n            .tags(            \n                \"mytag:myvalue\",\n                \"team:development\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  myapp:\n    type: harness:Application\n    properties:\n      name: My Application\n      description: This is my first Harness application\n      tags:\n        - mytag:myvalue\n        - team:development\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id\n\n```sh\n$ pulumi import harness:index/application:Application myapp Xyz123\n```\n\n","properties":{"description":{"type":"string","description":"The application description\n"},"gitSyncConnectorId":{"type":"string","description":"The id of the git sync connector\n"},"gitSyncEnabled":{"type":"boolean","description":"True if git sync is enabled on this application\n"},"isManualTriggerAuthorized":{"type":"boolean","description":"When this is set to true, all manual triggers will require API Key authorization\n"},"name":{"type":"string","description":"The name of the application\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["gitSyncConnectorId","gitSyncEnabled","name"],"inputProperties":{"description":{"type":"string","description":"The application description\n"},"isManualTriggerAuthorized":{"type":"boolean","description":"When this is set to true, all manual triggers will require API Key authorization\n"},"name":{"type":"string","description":"The name of the application\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering Application resources.\n","properties":{"description":{"type":"string","description":"The application description\n"},"gitSyncConnectorId":{"type":"string","description":"The id of the git sync connector\n"},"gitSyncEnabled":{"type":"boolean","description":"True if git sync is enabled on this application\n"},"isManualTriggerAuthorized":{"type":"boolean","description":"When this is set to true, all manual triggers will require API Key authorization\n"},"name":{"type":"string","description":"The name of the application\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:index/applicationGitSync:ApplicationGitSync":{"description":"Resource for configuring application git sync.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst _default = harness.getSecretManager({\n    \"default\": true,\n});\nconst githubToken = new harness.EncryptedText(\"github_token\", {\n    name: \"github_token\",\n    value: \"\u003cTOKEN\u003e\",\n    secretManagerId: _default.then(_default =\u003e _default.id),\n});\nconst myrepo = new harness.GitConnector(\"myrepo\", {\n    name: \"myrepo\",\n    url: \"https://github.com/someorg/myrepo\",\n    branch: \"main\",\n    generateWebhookUrl: true,\n    username: \"someuser\",\n    passwordSecretId: githubToken.id,\n    urlType: \"REPO\",\n});\nconst example = new harness.Application(\"example\", {name: \"example-app\"});\nconst exampleApplicationGitSync = new harness.ApplicationGitSync(\"example\", {\n    appId: example.id,\n    connectorId: myrepo.id,\n    branch: \"main\",\n    enabled: false,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ndefault = harness.get_secret_manager(default=True)\ngithub_token = harness.EncryptedText(\"github_token\",\n    name=\"github_token\",\n    value=\"\u003cTOKEN\u003e\",\n    secret_manager_id=default.id)\nmyrepo = harness.GitConnector(\"myrepo\",\n    name=\"myrepo\",\n    url=\"https://github.com/someorg/myrepo\",\n    branch=\"main\",\n    generate_webhook_url=True,\n    username=\"someuser\",\n    password_secret_id=github_token.id,\n    url_type=\"REPO\")\nexample = harness.Application(\"example\", name=\"example-app\")\nexample_application_git_sync = harness.ApplicationGitSync(\"example\",\n    app_id=example.id,\n    connector_id=myrepo.id,\n    branch=\"main\",\n    enabled=False)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Harness.GetSecretManager.Invoke(new()\n    {\n        Default = true,\n    });\n\n    var githubToken = new Harness.EncryptedText(\"github_token\", new()\n    {\n        Name = \"github_token\",\n        Value = \"\u003cTOKEN\u003e\",\n        SecretManagerId = @default.Apply(@default =\u003e @default.Apply(getSecretManagerResult =\u003e getSecretManagerResult.Id)),\n    });\n\n    var myrepo = new Harness.GitConnector(\"myrepo\", new()\n    {\n        Name = \"myrepo\",\n        Url = \"https://github.com/someorg/myrepo\",\n        Branch = \"main\",\n        GenerateWebhookUrl = true,\n        Username = \"someuser\",\n        PasswordSecretId = githubToken.Id,\n        UrlType = \"REPO\",\n    });\n\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example-app\",\n    });\n\n    var exampleApplicationGitSync = new Harness.ApplicationGitSync(\"example\", new()\n    {\n        AppId = example.Id,\n        ConnectorId = myrepo.Id,\n        Branch = \"main\",\n        Enabled = false,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := harness.GetSecretManager(ctx, \u0026harness.GetSecretManagerArgs{\n\t\t\tDefault: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tgithubToken, err := harness.NewEncryptedText(ctx, \"github_token\", \u0026harness.EncryptedTextArgs{\n\t\t\tName:            pulumi.String(\"github_token\"),\n\t\t\tValue:           pulumi.String(\"\u003cTOKEN\u003e\"),\n\t\t\tSecretManagerId: pulumi.String(_default.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmyrepo, err := harness.NewGitConnector(ctx, \"myrepo\", \u0026harness.GitConnectorArgs{\n\t\t\tName:               pulumi.String(\"myrepo\"),\n\t\t\tUrl:                pulumi.String(\"https://github.com/someorg/myrepo\"),\n\t\t\tBranch:             pulumi.String(\"main\"),\n\t\t\tGenerateWebhookUrl: pulumi.Bool(true),\n\t\t\tUsername:           pulumi.String(\"someuser\"),\n\t\t\tPasswordSecretId:   githubToken.ID(),\n\t\t\tUrlType:            pulumi.String(\"REPO\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example-app\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = harness.NewApplicationGitSync(ctx, \"example\", \u0026harness.ApplicationGitSyncArgs{\n\t\t\tAppId:       example.ID(),\n\t\t\tConnectorId: myrepo.ID(),\n\t\t\tBranch:      pulumi.String(\"main\"),\n\t\t\tEnabled:     pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetSecretManagerArgs;\nimport com.pulumi.harness.EncryptedText;\nimport com.pulumi.harness.EncryptedTextArgs;\nimport com.pulumi.harness.GitConnector;\nimport com.pulumi.harness.GitConnectorArgs;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.ApplicationGitSync;\nimport com.pulumi.harness.ApplicationGitSyncArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = HarnessFunctions.getSecretManager(GetSecretManagerArgs.builder()\n            .default_(true)\n            .build());\n\n        var githubToken = new EncryptedText(\"githubToken\", EncryptedTextArgs.builder()\n            .name(\"github_token\")\n            .value(\"\u003cTOKEN\u003e\")\n            .secretManagerId(default_.id())\n            .build());\n\n        var myrepo = new GitConnector(\"myrepo\", GitConnectorArgs.builder()\n            .name(\"myrepo\")\n            .url(\"https://github.com/someorg/myrepo\")\n            .branch(\"main\")\n            .generateWebhookUrl(true)\n            .username(\"someuser\")\n            .passwordSecretId(githubToken.id())\n            .urlType(\"REPO\")\n            .build());\n\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example-app\")\n            .build());\n\n        var exampleApplicationGitSync = new ApplicationGitSync(\"exampleApplicationGitSync\", ApplicationGitSyncArgs.builder()\n            .appId(example.id())\n            .connectorId(myrepo.id())\n            .branch(\"main\")\n            .enabled(false)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  githubToken:\n    type: harness:EncryptedText\n    name: github_token\n    properties:\n      name: github_token\n      value: \u003cTOKEN\u003e\n      secretManagerId: ${default.id}\n  myrepo:\n    type: harness:GitConnector\n    properties:\n      name: myrepo\n      url: https://github.com/someorg/myrepo\n      branch: main\n      generateWebhookUrl: true\n      username: someuser\n      passwordSecretId: ${githubToken.id}\n      urlType: REPO\n  example:\n    type: harness:Application\n    properties:\n      name: example-app\n  exampleApplicationGitSync:\n    type: harness:ApplicationGitSync\n    name: example\n    properties:\n      appId: ${example.id}\n      connectorId: ${myrepo.id}\n      branch: main\n      enabled: false\nvariables:\n  default:\n    fn::invoke:\n      function: harness:getSecretManager\n      arguments:\n        default: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id\n\n```sh\n$ pulumi import harness:index/applicationGitSync:ApplicationGitSync myapp Xyz123\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application.\n"},"branch":{"type":"string","description":"The branch of the git repository to sync to.\n"},"connectorId":{"type":"string","description":"The id of the git connector to use.\n"},"enabled":{"type":"boolean","description":"Whether or not to enable git sync.\n"},"repositoryName":{"type":"string","description":"The name of the git repository to sync to. This is only used if the git connector is for an account and not an individual repository.\n"}},"required":["appId","branch","connectorId"],"inputProperties":{"appId":{"type":"string","description":"The id of the application.\n"},"branch":{"type":"string","description":"The branch of the git repository to sync to.\n"},"connectorId":{"type":"string","description":"The id of the git connector to use.\n"},"enabled":{"type":"boolean","description":"Whether or not to enable git sync.\n"},"repositoryName":{"type":"string","description":"The name of the git repository to sync to. This is only used if the git connector is for an account and not an individual repository.\n"}},"requiredInputs":["appId","branch","connectorId"],"stateInputs":{"description":"Input properties used for looking up and filtering ApplicationGitSync resources.\n","properties":{"appId":{"type":"string","description":"The id of the application.\n"},"branch":{"type":"string","description":"The branch of the git repository to sync to.\n"},"connectorId":{"type":"string","description":"The id of the git connector to use.\n"},"enabled":{"type":"boolean","description":"Whether or not to enable git sync.\n"},"repositoryName":{"type":"string","description":"The name of the git repository to sync to. This is only used if the git connector is for an account and not an individual repository.\n"}},"type":"object"}},"harness:index/chaosInfrastructure:ChaosInfrastructure":{"description":"Resource for creating a Chaos Infrastructure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Sample resource for chaos infrastructure\nconst example = new harness.ChaosInfrastructure(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    environmentId: \"env_id\",\n    namespace: \"namespace\",\n    serviceAccount: \"service_acc_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Sample resource for chaos infrastructure\nexample = harness.ChaosInfrastructure(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    environment_id=\"env_id\",\n    namespace=\"namespace\",\n    service_account=\"service_acc_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Sample resource for chaos infrastructure\n    var example = new Harness.ChaosInfrastructure(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        EnvironmentId = \"env_id\",\n        Namespace = \"namespace\",\n        ServiceAccount = \"service_acc_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Sample resource for chaos infrastructure\n\t\t_, err := harness.NewChaosInfrastructure(ctx, \"example\", \u0026harness.ChaosInfrastructureArgs{\n\t\t\tIdentifier:     pulumi.String(\"identifier\"),\n\t\t\tName:           pulumi.String(\"name\"),\n\t\t\tOrgId:          pulumi.String(\"org_id\"),\n\t\t\tProjectId:      pulumi.String(\"project_id\"),\n\t\t\tEnvironmentId:  pulumi.String(\"env_id\"),\n\t\t\tNamespace:      pulumi.String(\"namespace\"),\n\t\t\tServiceAccount: pulumi.String(\"service_acc_name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.ChaosInfrastructure;\nimport com.pulumi.harness.ChaosInfrastructureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Sample resource for chaos infrastructure\n        var example = new ChaosInfrastructure(\"example\", ChaosInfrastructureArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .environmentId(\"env_id\")\n            .namespace(\"namespace\")\n            .serviceAccount(\"service_acc_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Sample resource for chaos infrastructure\n  example:\n    type: harness:ChaosInfrastructure\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      environmentId: env_id\n      namespace: namespace\n      serviceAccount: service_acc_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness chaos_infra_id.\n\n```sh\n$ pulumi import harness:index/chaosInfrastructure:ChaosInfrastructure example \u003cchaos_infra_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"environmentId":{"type":"string","description":"Environment ID of the chaos infrastructure.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"namespace":{"type":"string","description":"Namespace of the chaos infrastructure.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceAccount":{"type":"string","description":"Service Account of the chaos infrastructure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["environmentId","identifier","name","namespace","serviceAccount"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"environmentId":{"type":"string","description":"Environment ID of the chaos infrastructure.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"namespace":{"type":"string","description":"Namespace of the chaos infrastructure.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceAccount":{"type":"string","description":"Service Account of the chaos infrastructure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["environmentId","identifier","namespace","serviceAccount"],"stateInputs":{"description":"Input properties used for looking up and filtering ChaosInfrastructure resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"environmentId":{"type":"string","description":"Environment ID of the chaos infrastructure.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"namespace":{"type":"string","description":"Namespace of the chaos infrastructure.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceAccount":{"type":"string","description":"Service Account of the chaos infrastructure.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:index/delegateApproval:DelegateApproval":{"description":"Resource for approving or rejecting delegates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.getDelegate({\n    name: \"my-delegate\",\n});\nconst testDelegateApproval = new harness.DelegateApproval(\"test\", {\n    delegateId: test.then(test =\u003e test.id),\n    approve: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.get_delegate(name=\"my-delegate\")\ntest_delegate_approval = harness.DelegateApproval(\"test\",\n    delegate_id=test.id,\n    approve=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.GetDelegate.Invoke(new()\n    {\n        Name = \"my-delegate\",\n    });\n\n    var testDelegateApproval = new Harness.DelegateApproval(\"test\", new()\n    {\n        DelegateId = test.Apply(getDelegateResult =\u003e getDelegateResult.Id),\n        Approve = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := harness.GetDelegate(ctx, \u0026harness.GetDelegateArgs{\n\t\t\tName: pulumi.StringRef(\"my-delegate\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = harness.NewDelegateApproval(ctx, \"test\", \u0026harness.DelegateApprovalArgs{\n\t\t\tDelegateId: pulumi.String(test.Id),\n\t\t\tApprove:    pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetDelegateArgs;\nimport com.pulumi.harness.DelegateApproval;\nimport com.pulumi.harness.DelegateApprovalArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = HarnessFunctions.getDelegate(GetDelegateArgs.builder()\n            .name(\"my-delegate\")\n            .build());\n\n        var testDelegateApproval = new DelegateApproval(\"testDelegateApproval\", DelegateApprovalArgs.builder()\n            .delegateId(test.id())\n            .approve(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  testDelegateApproval:\n    type: harness:DelegateApproval\n    name: test\n    properties:\n      delegateId: ${test.id}\n      approve: true\nvariables:\n  test:\n    fn::invoke:\n      function: harness:getDelegate\n      arguments:\n        name: my-delegate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport the status of the delegate approval.\n\n```sh\n$ pulumi import harness:index/delegateApproval:DelegateApproval example \u003cdelegate_id\u003e\n```\n\n","properties":{"approve":{"type":"boolean","description":"Whether or not to approve the delegate.\n"},"delegateId":{"type":"string","description":"The id of the delegate.\n"},"status":{"type":"string","description":"The status of the delegate.\n"}},"required":["approve","delegateId","status"],"inputProperties":{"approve":{"type":"boolean","description":"Whether or not to approve the delegate.\n","willReplaceOnChanges":true},"delegateId":{"type":"string","description":"The id of the delegate.\n","willReplaceOnChanges":true}},"requiredInputs":["approve","delegateId"],"stateInputs":{"description":"Input properties used for looking up and filtering DelegateApproval resources.\n","properties":{"approve":{"type":"boolean","description":"Whether or not to approve the delegate.\n","willReplaceOnChanges":true},"delegateId":{"type":"string","description":"The id of the delegate.\n","willReplaceOnChanges":true},"status":{"type":"string","description":"The status of the delegate.\n"}},"type":"object"}},"harness:index/encryptedText:EncryptedText":{"description":"Resource for creating an encrypted text secret\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst _default = harness.getSecretManager({\n    \"default\": true,\n});\nconst example = new harness.EncryptedText(\"example\", {\n    name: \"example-secret\",\n    value: \"someval\",\n    secretManagerId: _default.then(_default =\u003e _default.id),\n    usageScopes: [\n        {\n            environmentFilterType: \"PRODUCTION_ENVIRONMENTS\",\n        },\n        {\n            environmentFilterType: \"NON_PRODUCTION_ENVIRONMENTS\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ndefault = harness.get_secret_manager(default=True)\nexample = harness.EncryptedText(\"example\",\n    name=\"example-secret\",\n    value=\"someval\",\n    secret_manager_id=default.id,\n    usage_scopes=[\n        {\n            \"environment_filter_type\": \"PRODUCTION_ENVIRONMENTS\",\n        },\n        {\n            \"environment_filter_type\": \"NON_PRODUCTION_ENVIRONMENTS\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Harness.GetSecretManager.Invoke(new()\n    {\n        Default = true,\n    });\n\n    var example = new Harness.EncryptedText(\"example\", new()\n    {\n        Name = \"example-secret\",\n        Value = \"someval\",\n        SecretManagerId = @default.Apply(@default =\u003e @default.Apply(getSecretManagerResult =\u003e getSecretManagerResult.Id)),\n        UsageScopes = new[]\n        {\n            new Harness.Inputs.EncryptedTextUsageScopeArgs\n            {\n                EnvironmentFilterType = \"PRODUCTION_ENVIRONMENTS\",\n            },\n            new Harness.Inputs.EncryptedTextUsageScopeArgs\n            {\n                EnvironmentFilterType = \"NON_PRODUCTION_ENVIRONMENTS\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := harness.GetSecretManager(ctx, \u0026harness.GetSecretManagerArgs{\n\t\t\tDefault: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = harness.NewEncryptedText(ctx, \"example\", \u0026harness.EncryptedTextArgs{\n\t\t\tName:            pulumi.String(\"example-secret\"),\n\t\t\tValue:           pulumi.String(\"someval\"),\n\t\t\tSecretManagerId: pulumi.String(_default.Id),\n\t\t\tUsageScopes: harness.EncryptedTextUsageScopeArray{\n\t\t\t\t\u0026harness.EncryptedTextUsageScopeArgs{\n\t\t\t\t\tEnvironmentFilterType: pulumi.String(\"PRODUCTION_ENVIRONMENTS\"),\n\t\t\t\t},\n\t\t\t\t\u0026harness.EncryptedTextUsageScopeArgs{\n\t\t\t\t\tEnvironmentFilterType: pulumi.String(\"NON_PRODUCTION_ENVIRONMENTS\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetSecretManagerArgs;\nimport com.pulumi.harness.EncryptedText;\nimport com.pulumi.harness.EncryptedTextArgs;\nimport com.pulumi.harness.inputs.EncryptedTextUsageScopeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = HarnessFunctions.getSecretManager(GetSecretManagerArgs.builder()\n            .default_(true)\n            .build());\n\n        var example = new EncryptedText(\"example\", EncryptedTextArgs.builder()\n            .name(\"example-secret\")\n            .value(\"someval\")\n            .secretManagerId(default_.id())\n            .usageScopes(            \n                EncryptedTextUsageScopeArgs.builder()\n                    .environmentFilterType(\"PRODUCTION_ENVIRONMENTS\")\n                    .build(),\n                EncryptedTextUsageScopeArgs.builder()\n                    .environmentFilterType(\"NON_PRODUCTION_ENVIRONMENTS\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:EncryptedText\n    properties:\n      name: example-secret\n      value: someval\n      secretManagerId: ${default.id}\n      usageScopes:\n        - environmentFilterType: PRODUCTION_ENVIRONMENTS\n        - environmentFilterType: NON_PRODUCTION_ENVIRONMENTS\nvariables:\n  default:\n    fn::invoke:\n      function: harness:getSecretManager\n      arguments:\n        default: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness encrypted text format.\nNOTE: The secret value cannot be decrypted and imported.\n\n```sh\n$ pulumi import harness:index/encryptedText:EncryptedText example \u003csecret_id\u003e\n```\n\n","properties":{"inheritScopesFromSecretManager":{"type":"boolean","description":"Boolean that indicates whether or not to inherit the usage scopes from the secret manager\n"},"name":{"type":"string","description":"Name of the encrypted text secret\n"},"scopedToAccount":{"type":"boolean","description":"Boolean that indicates whether or not the secret is scoped to the account\n"},"secretManagerId":{"type":"string","description":"The id of the secret manager to associate the secret with. Once set, this field cannot be changed.\n"},"secretReference":{"type":"string","description":"Name of the existing secret. If you already have secrets created in a secrets manager such as HashiCorp Vault or AWS Secrets Manager, you do not need to re-create the existing secrets in Harness.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/EncryptedTextUsageScope:EncryptedTextUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"},"value":{"type":"string","description":"The value of the secret.\n","secret":true}},"required":["name","secretManagerId"],"inputProperties":{"inheritScopesFromSecretManager":{"type":"boolean","description":"Boolean that indicates whether or not to inherit the usage scopes from the secret manager\n"},"name":{"type":"string","description":"Name of the encrypted text secret\n"},"scopedToAccount":{"type":"boolean","description":"Boolean that indicates whether or not the secret is scoped to the account\n"},"secretManagerId":{"type":"string","description":"The id of the secret manager to associate the secret with. Once set, this field cannot be changed.\n","willReplaceOnChanges":true},"secretReference":{"type":"string","description":"Name of the existing secret. If you already have secrets created in a secrets manager such as HashiCorp Vault or AWS Secrets Manager, you do not need to re-create the existing secrets in Harness.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/EncryptedTextUsageScope:EncryptedTextUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"},"value":{"type":"string","description":"The value of the secret.\n","secret":true}},"requiredInputs":["secretManagerId"],"stateInputs":{"description":"Input properties used for looking up and filtering EncryptedText resources.\n","properties":{"inheritScopesFromSecretManager":{"type":"boolean","description":"Boolean that indicates whether or not to inherit the usage scopes from the secret manager\n"},"name":{"type":"string","description":"Name of the encrypted text secret\n"},"scopedToAccount":{"type":"boolean","description":"Boolean that indicates whether or not the secret is scoped to the account\n"},"secretManagerId":{"type":"string","description":"The id of the secret manager to associate the secret with. Once set, this field cannot be changed.\n","willReplaceOnChanges":true},"secretReference":{"type":"string","description":"Name of the existing secret. If you already have secrets created in a secrets manager such as HashiCorp Vault or AWS Secrets Manager, you do not need to re-create the existing secrets in Harness.\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/EncryptedTextUsageScope:EncryptedTextUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"},"value":{"type":"string","description":"The value of the secret.\n","secret":true}},"type":"object"}},"harness:index/environment:Environment":{"description":"Resource for creating an environment\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.Application(\"test\", {name: \"%[1]s\"});\nconst testKubernetes = new harness.service.Kubernetes(\"test\", {\n    appId: test.id,\n    name: \"%[1]s\",\n    helmVersion: \"V2\",\n    description: \"description\",\n    variables: [\n        {\n            name: \"test\",\n            value: \"test_value\",\n            type: \"TEXT\",\n        },\n        {\n            name: \"test2\",\n            value: \"test_value2\",\n            type: \"TEXT\",\n        },\n    ],\n});\nconst testEnvironment = new harness.Environment(\"test\", {\n    appId: test.id,\n    name: \"%[1]s\",\n    type: \"%[2]s\",\n    variableOverrides: [\n        {\n            serviceName: testKubernetes.name,\n            name: \"test\",\n            value: \"override\",\n            type: \"TEXT\",\n        },\n        {\n            serviceName: testKubernetes.name,\n            name: \"test2\",\n            value: \"override2\",\n            type: \"TEXT\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.Application(\"test\", name=\"%[1]s\")\ntest_kubernetes = harness.service.Kubernetes(\"test\",\n    app_id=test.id,\n    name=\"%[1]s\",\n    helm_version=\"V2\",\n    description=\"description\",\n    variables=[\n        {\n            \"name\": \"test\",\n            \"value\": \"test_value\",\n            \"type\": \"TEXT\",\n        },\n        {\n            \"name\": \"test2\",\n            \"value\": \"test_value2\",\n            \"type\": \"TEXT\",\n        },\n    ])\ntest_environment = harness.Environment(\"test\",\n    app_id=test.id,\n    name=\"%[1]s\",\n    type=\"%[2]s\",\n    variable_overrides=[\n        {\n            \"service_name\": test_kubernetes.name,\n            \"name\": \"test\",\n            \"value\": \"override\",\n            \"type\": \"TEXT\",\n        },\n        {\n            \"service_name\": test_kubernetes.name,\n            \"name\": \"test2\",\n            \"value\": \"override2\",\n            \"type\": \"TEXT\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Application(\"test\", new()\n    {\n        Name = \"%[1]s\",\n    });\n\n    var testKubernetes = new Harness.Service.Kubernetes(\"test\", new()\n    {\n        AppId = test.Id,\n        Name = \"%[1]s\",\n        HelmVersion = \"V2\",\n        Description = \"description\",\n        Variables = new[]\n        {\n            new Harness.Service.Inputs.KubernetesVariableArgs\n            {\n                Name = \"test\",\n                Value = \"test_value\",\n                Type = \"TEXT\",\n            },\n            new Harness.Service.Inputs.KubernetesVariableArgs\n            {\n                Name = \"test2\",\n                Value = \"test_value2\",\n                Type = \"TEXT\",\n            },\n        },\n    });\n\n    var testEnvironment = new Harness.Environment(\"test\", new()\n    {\n        AppId = test.Id,\n        Name = \"%[1]s\",\n        Type = \"%[2]s\",\n        VariableOverrides = new[]\n        {\n            new Harness.Inputs.EnvironmentVariableOverrideArgs\n            {\n                ServiceName = testKubernetes.Name,\n                Name = \"test\",\n                Value = \"override\",\n                Type = \"TEXT\",\n            },\n            new Harness.Inputs.EnvironmentVariableOverrideArgs\n            {\n                ServiceName = testKubernetes.Name,\n                Name = \"test2\",\n                Value = \"override2\",\n                Type = \"TEXT\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := harness.NewApplication(ctx, \"test\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"%[1]s\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttestKubernetes, err := service.NewKubernetes(ctx, \"test\", \u0026service.KubernetesArgs{\n\t\t\tAppId:       test.ID(),\n\t\t\tName:        pulumi.String(\"%[1]s\"),\n\t\t\tHelmVersion: pulumi.String(\"V2\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tVariables: service.KubernetesVariableArray{\n\t\t\t\t\u0026service.KubernetesVariableArgs{\n\t\t\t\t\tName:  pulumi.String(\"test\"),\n\t\t\t\t\tValue: pulumi.String(\"test_value\"),\n\t\t\t\t\tType:  pulumi.String(\"TEXT\"),\n\t\t\t\t},\n\t\t\t\t\u0026service.KubernetesVariableArgs{\n\t\t\t\t\tName:  pulumi.String(\"test2\"),\n\t\t\t\t\tValue: pulumi.String(\"test_value2\"),\n\t\t\t\t\tType:  pulumi.String(\"TEXT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = harness.NewEnvironment(ctx, \"test\", \u0026harness.EnvironmentArgs{\n\t\t\tAppId: test.ID(),\n\t\t\tName:  pulumi.String(\"%[1]s\"),\n\t\t\tType:  pulumi.String(\"%[2]s\"),\n\t\t\tVariableOverrides: harness.EnvironmentVariableOverrideArray{\n\t\t\t\t\u0026harness.EnvironmentVariableOverrideArgs{\n\t\t\t\t\tServiceName: testKubernetes.Name,\n\t\t\t\t\tName:        pulumi.String(\"test\"),\n\t\t\t\t\tValue:       pulumi.String(\"override\"),\n\t\t\t\t\tType:        pulumi.String(\"TEXT\"),\n\t\t\t\t},\n\t\t\t\t\u0026harness.EnvironmentVariableOverrideArgs{\n\t\t\t\t\tServiceName: testKubernetes.Name,\n\t\t\t\t\tName:        pulumi.String(\"test2\"),\n\t\t\t\t\tValue:       pulumi.String(\"override2\"),\n\t\t\t\t\tType:        pulumi.String(\"TEXT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.service.Kubernetes;\nimport com.pulumi.harness.service.KubernetesArgs;\nimport com.pulumi.harness.service.inputs.KubernetesVariableArgs;\nimport com.pulumi.harness.Environment;\nimport com.pulumi.harness.EnvironmentArgs;\nimport com.pulumi.harness.inputs.EnvironmentVariableOverrideArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new Application(\"test\", ApplicationArgs.builder()\n            .name(\"%[1]s\")\n            .build());\n\n        var testKubernetes = new Kubernetes(\"testKubernetes\", KubernetesArgs.builder()\n            .appId(test.id())\n            .name(\"%[1]s\")\n            .helmVersion(\"V2\")\n            .description(\"description\")\n            .variables(            \n                KubernetesVariableArgs.builder()\n                    .name(\"test\")\n                    .value(\"test_value\")\n                    .type(\"TEXT\")\n                    .build(),\n                KubernetesVariableArgs.builder()\n                    .name(\"test2\")\n                    .value(\"test_value2\")\n                    .type(\"TEXT\")\n                    .build())\n            .build());\n\n        var testEnvironment = new Environment(\"testEnvironment\", EnvironmentArgs.builder()\n            .appId(test.id())\n            .name(\"%[1]s\")\n            .type(\"%[2]s\")\n            .variableOverrides(            \n                EnvironmentVariableOverrideArgs.builder()\n                    .serviceName(testKubernetes.name())\n                    .name(\"test\")\n                    .value(\"override\")\n                    .type(\"TEXT\")\n                    .build(),\n                EnvironmentVariableOverrideArgs.builder()\n                    .serviceName(testKubernetes.name())\n                    .name(\"test2\")\n                    .value(\"override2\")\n                    .type(\"TEXT\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:Application\n    properties:\n      name: '%[1]s'\n  testKubernetes:\n    type: harness:service:Kubernetes\n    name: test\n    properties:\n      appId: ${test.id}\n      name: '%[1]s'\n      helmVersion: V2\n      description: description\n      variables:\n        - name: test\n          value: test_value\n          type: TEXT\n        - name: test2\n          value: test_value2\n          type: TEXT\n  testEnvironment:\n    type: harness:Environment\n    name: test\n    properties:\n      appId: ${test.id}\n      name: '%[1]s'\n      type: '%[2]s'\n      variableOverrides:\n        - serviceName: ${testKubernetes.name}\n          name: test\n          value: override\n          type: TEXT\n        - serviceName: ${testKubernetes.name}\n          name: test2\n          value: override2\n          type: TEXT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id and environment id.\n\n```sh\n$ pulumi import harness:index/environment:Environment dev \u003capplication_id\u003e/\u003cenvironment_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application.\n"},"description":{"type":"string","description":"The description of the environment.\n"},"name":{"type":"string","description":"The name of the environment.\n"},"type":{"type":"string","description":"The type of the environment. Valid values are `PROD` and `NON_PROD`\n"},"variableOverrides":{"type":"array","items":{"$ref":"#/types/harness:index/EnvironmentVariableOverride:EnvironmentVariableOverride"},"description":"Override for a service variable\n"}},"required":["appId","name","type"],"inputProperties":{"appId":{"type":"string","description":"The id of the application.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the environment.\n"},"name":{"type":"string","description":"The name of the environment.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the environment. Valid values are `PROD` and `NON_PROD`\n"},"variableOverrides":{"type":"array","items":{"$ref":"#/types/harness:index/EnvironmentVariableOverride:EnvironmentVariableOverride"},"description":"Override for a service variable\n"}},"requiredInputs":["appId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering Environment resources.\n","properties":{"appId":{"type":"string","description":"The id of the application.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"The description of the environment.\n"},"name":{"type":"string","description":"The name of the environment.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"The type of the environment. Valid values are `PROD` and `NON_PROD`\n"},"variableOverrides":{"type":"array","items":{"$ref":"#/types/harness:index/EnvironmentVariableOverride:EnvironmentVariableOverride"},"description":"Override for a service variable\n"}},"type":"object"}},"harness:index/gitConnector:GitConnector":{"description":"Resource for creating a git connector\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst _default = harness.getSecretManager({\n    \"default\": true,\n});\nconst example = new harness.EncryptedText(\"example\", {\n    name: \"example-secret\",\n    value: \"foo\",\n    secretManagerId: _default.then(_default =\u003e _default.id),\n});\nconst exampleGitConnector = new harness.GitConnector(\"example\", {\n    name: \"example\",\n    url: \"https://github.com/harness/terraform-provider-harness\",\n    branch: \"master\",\n    generateWebhookUrl: true,\n    passwordSecretId: example.id,\n    urlType: \"REPO\",\n    username: \"someuser\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ndefault = harness.get_secret_manager(default=True)\nexample = harness.EncryptedText(\"example\",\n    name=\"example-secret\",\n    value=\"foo\",\n    secret_manager_id=default.id)\nexample_git_connector = harness.GitConnector(\"example\",\n    name=\"example\",\n    url=\"https://github.com/harness/terraform-provider-harness\",\n    branch=\"master\",\n    generate_webhook_url=True,\n    password_secret_id=example.id,\n    url_type=\"REPO\",\n    username=\"someuser\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @default = Harness.GetSecretManager.Invoke(new()\n    {\n        Default = true,\n    });\n\n    var example = new Harness.EncryptedText(\"example\", new()\n    {\n        Name = \"example-secret\",\n        Value = \"foo\",\n        SecretManagerId = @default.Apply(@default =\u003e @default.Apply(getSecretManagerResult =\u003e getSecretManagerResult.Id)),\n    });\n\n    var exampleGitConnector = new Harness.GitConnector(\"example\", new()\n    {\n        Name = \"example\",\n        Url = \"https://github.com/harness/terraform-provider-harness\",\n        Branch = \"master\",\n        GenerateWebhookUrl = true,\n        PasswordSecretId = example.Id,\n        UrlType = \"REPO\",\n        Username = \"someuser\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_default, err := harness.GetSecretManager(ctx, \u0026harness.GetSecretManagerArgs{\n\t\t\tDefault: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := harness.NewEncryptedText(ctx, \"example\", \u0026harness.EncryptedTextArgs{\n\t\t\tName:            pulumi.String(\"example-secret\"),\n\t\t\tValue:           pulumi.String(\"foo\"),\n\t\t\tSecretManagerId: pulumi.String(_default.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = harness.NewGitConnector(ctx, \"example\", \u0026harness.GitConnectorArgs{\n\t\t\tName:               pulumi.String(\"example\"),\n\t\t\tUrl:                pulumi.String(\"https://github.com/harness/terraform-provider-harness\"),\n\t\t\tBranch:             pulumi.String(\"master\"),\n\t\t\tGenerateWebhookUrl: pulumi.Bool(true),\n\t\t\tPasswordSecretId:   example.ID(),\n\t\t\tUrlType:            pulumi.String(\"REPO\"),\n\t\t\tUsername:           pulumi.String(\"someuser\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetSecretManagerArgs;\nimport com.pulumi.harness.EncryptedText;\nimport com.pulumi.harness.EncryptedTextArgs;\nimport com.pulumi.harness.GitConnector;\nimport com.pulumi.harness.GitConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var default = HarnessFunctions.getSecretManager(GetSecretManagerArgs.builder()\n            .default_(true)\n            .build());\n\n        var example = new EncryptedText(\"example\", EncryptedTextArgs.builder()\n            .name(\"example-secret\")\n            .value(\"foo\")\n            .secretManagerId(default_.id())\n            .build());\n\n        var exampleGitConnector = new GitConnector(\"exampleGitConnector\", GitConnectorArgs.builder()\n            .name(\"example\")\n            .url(\"https://github.com/harness/terraform-provider-harness\")\n            .branch(\"master\")\n            .generateWebhookUrl(true)\n            .passwordSecretId(example.id())\n            .urlType(\"REPO\")\n            .username(\"someuser\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:EncryptedText\n    properties:\n      name: example-secret\n      value: foo\n      secretManagerId: ${default.id}\n  exampleGitConnector:\n    type: harness:GitConnector\n    name: example\n    properties:\n      name: example\n      url: https://github.com/harness/terraform-provider-harness\n      branch: master\n      generateWebhookUrl: true\n      passwordSecretId: ${example.id}\n      urlType: REPO\n      username: someuser\nvariables:\n  default:\n    fn::invoke:\n      function: harness:getSecretManager\n      arguments:\n        default: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness git connector id\n\n```sh\n$ pulumi import harness:index/gitConnector:GitConnector example \u003cconnector_id\u003e\n```\n\n","properties":{"branch":{"type":"string","description":"The branch of the git connector to use\n"},"commitDetails":{"$ref":"#/types/harness:index/GitConnectorCommitDetails:GitConnectorCommitDetails","description":"Custom details to use when making commits using this git connector\n"},"createdAt":{"type":"string","description":"The time the git connector was created\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Delegate selectors to apply to this git connector.\n"},"generateWebhookUrl":{"type":"boolean","description":"Boolean indicating whether or not to generate a webhook url.\n"},"name":{"type":"string","description":"Name of the git connector.\n"},"passwordSecretId":{"type":"string","description":"The id of the secret for connecting to the git repository.\n"},"sshSettingId":{"type":"string","description":"The id of the SSH secret to use\n"},"url":{"type":"string","description":"The URL of the git repository or account/organization\n"},"urlType":{"type":"string","description":"The type of git url being used. Options are `ACCOUNT`, and `REPO.`\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/GitConnectorUsageScope:GitConnectorUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"},"username":{"type":"string","description":"The name of the user used to connect to the git repository\n"},"webhookUrl":{"type":"string","description":"The generated webhook url\n"}},"required":["createdAt","name","url","urlType","webhookUrl"],"inputProperties":{"branch":{"type":"string","description":"The branch of the git connector to use\n"},"commitDetails":{"$ref":"#/types/harness:index/GitConnectorCommitDetails:GitConnectorCommitDetails","description":"Custom details to use when making commits using this git connector\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Delegate selectors to apply to this git connector.\n"},"generateWebhookUrl":{"type":"boolean","description":"Boolean indicating whether or not to generate a webhook url.\n"},"name":{"type":"string","description":"Name of the git connector.\n"},"passwordSecretId":{"type":"string","description":"The id of the secret for connecting to the git repository.\n"},"sshSettingId":{"type":"string","description":"The id of the SSH secret to use\n"},"url":{"type":"string","description":"The URL of the git repository or account/organization\n"},"urlType":{"type":"string","description":"The type of git url being used. Options are `ACCOUNT`, and `REPO.`\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/GitConnectorUsageScope:GitConnectorUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"},"username":{"type":"string","description":"The name of the user used to connect to the git repository\n"}},"requiredInputs":["url","urlType"],"stateInputs":{"description":"Input properties used for looking up and filtering GitConnector resources.\n","properties":{"branch":{"type":"string","description":"The branch of the git connector to use\n"},"commitDetails":{"$ref":"#/types/harness:index/GitConnectorCommitDetails:GitConnectorCommitDetails","description":"Custom details to use when making commits using this git connector\n"},"createdAt":{"type":"string","description":"The time the git connector was created\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Delegate selectors to apply to this git connector.\n"},"generateWebhookUrl":{"type":"boolean","description":"Boolean indicating whether or not to generate a webhook url.\n"},"name":{"type":"string","description":"Name of the git connector.\n"},"passwordSecretId":{"type":"string","description":"The id of the secret for connecting to the git repository.\n"},"sshSettingId":{"type":"string","description":"The id of the SSH secret to use\n"},"url":{"type":"string","description":"The URL of the git repository or account/organization\n"},"urlType":{"type":"string","description":"The type of git url being used. Options are `ACCOUNT`, and `REPO.`\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/GitConnectorUsageScope:GitConnectorUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"},"username":{"type":"string","description":"The name of the user used to connect to the git repository\n"},"webhookUrl":{"type":"string","description":"The generated webhook url\n"}},"type":"object"}},"harness:index/infrastructureDefinition:InfrastructureDefinition":{"description":"Resource for creating am infrastructure definition. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Creating a Kubernetes infrastructure definition\nconst dev = new harness.cloudprovider.Kubernetes(\"dev\", {\n    name: \"k8s-dev\",\n    authentication: {\n        delegateSelectors: [\"k8s\"],\n    },\n});\nconst example = new harness.Application(\"example\", {name: \"example\"});\nconst devEnvironment = new harness.Environment(\"dev\", {\n    name: \"dev\",\n    appId: example.id,\n    type: \"NON_PROD\",\n});\n// Creating a infrastructure of type KUBERNETES\nconst k8s = new harness.InfrastructureDefinition(\"k8s\", {\n    name: \"k8s-eks-us-east-1\",\n    appId: example.id,\n    envId: devEnvironment.id,\n    cloudProviderType: \"KUBERNETES_CLUSTER\",\n    deploymentType: \"KUBERNETES\",\n    kubernetes: {\n        cloudProviderName: dev.name,\n        namespace: \"dev\",\n        releaseName: \"${service.name}\",\n    },\n});\n// Creating a Deployment Template for CUSTOM infrastructure type\nconst exampleYaml = new harness.YamlConfig(\"example_yaml\", {\n    path: \"Setup/Template Library/Example Folder/deployment_template.yaml\",\n    content: `harnessApiVersion: '1.0'\ntype: CUSTOM_DEPLOYMENT_TYPE\nfetchInstanceScript: |-\n  set -ex\n  curl http://\\${url}/\\${file_name} \u003e \\${INSTANCE_OUTPUT_PATH}\nhostAttributes:\n  hostname: host\nhostObjectArrayPath: hosts\nvariables:\n- name: url\n- name: file_name\n`,\n});\n// Creating a infrastructure of type CUSTOM\nconst custom = new harness.InfrastructureDefinition(\"custom\", {\n    name: \"custom-infra\",\n    appId: example.id,\n    envId: devEnvironment.id,\n    cloudProviderType: \"CUSTOM\",\n    deploymentType: \"CUSTOM\",\n    deploymentTemplateUri: pulumi.interpolate`Example Folder/${exampleYaml.name}`,\n    custom: {\n        deploymentTypeTemplateVersion: \"1\",\n        variables: [\n            {\n                name: \"url\",\n                value: \"localhost:8081\",\n            },\n            {\n                name: \"file_name\",\n                value: \"instances.json\",\n            },\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Creating a Kubernetes infrastructure definition\ndev = harness.cloudprovider.Kubernetes(\"dev\",\n    name=\"k8s-dev\",\n    authentication={\n        \"delegate_selectors\": [\"k8s\"],\n    })\nexample = harness.Application(\"example\", name=\"example\")\ndev_environment = harness.Environment(\"dev\",\n    name=\"dev\",\n    app_id=example.id,\n    type=\"NON_PROD\")\n# Creating a infrastructure of type KUBERNETES\nk8s = harness.InfrastructureDefinition(\"k8s\",\n    name=\"k8s-eks-us-east-1\",\n    app_id=example.id,\n    env_id=dev_environment.id,\n    cloud_provider_type=\"KUBERNETES_CLUSTER\",\n    deployment_type=\"KUBERNETES\",\n    kubernetes={\n        \"cloud_provider_name\": dev.name,\n        \"namespace\": \"dev\",\n        \"release_name\": \"${service.name}\",\n    })\n# Creating a Deployment Template for CUSTOM infrastructure type\nexample_yaml = harness.YamlConfig(\"example_yaml\",\n    path=\"Setup/Template Library/Example Folder/deployment_template.yaml\",\n    content=\"\"\"harnessApiVersion: '1.0'\ntype: CUSTOM_DEPLOYMENT_TYPE\nfetchInstanceScript: |-\n  set -ex\n  curl http://${url}/${file_name} \u003e ${INSTANCE_OUTPUT_PATH}\nhostAttributes:\n  hostname: host\nhostObjectArrayPath: hosts\nvariables:\n- name: url\n- name: file_name\n\"\"\")\n# Creating a infrastructure of type CUSTOM\ncustom = harness.InfrastructureDefinition(\"custom\",\n    name=\"custom-infra\",\n    app_id=example.id,\n    env_id=dev_environment.id,\n    cloud_provider_type=\"CUSTOM\",\n    deployment_type=\"CUSTOM\",\n    deployment_template_uri=example_yaml.name.apply(lambda name: f\"Example Folder/{name}\"),\n    custom={\n        \"deployment_type_template_version\": \"1\",\n        \"variables\": [\n            {\n                \"name\": \"url\",\n                \"value\": \"localhost:8081\",\n            },\n            {\n                \"name\": \"file_name\",\n                \"value\": \"instances.json\",\n            },\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Creating a Kubernetes infrastructure definition\n    var dev = new Harness.Cloudprovider.Kubernetes(\"dev\", new()\n    {\n        Name = \"k8s-dev\",\n        Authentication = new Harness.Cloudprovider.Inputs.KubernetesAuthenticationArgs\n        {\n            DelegateSelectors = new[]\n            {\n                \"k8s\",\n            },\n        },\n    });\n\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n    var devEnvironment = new Harness.Environment(\"dev\", new()\n    {\n        Name = \"dev\",\n        AppId = example.Id,\n        Type = \"NON_PROD\",\n    });\n\n    // Creating a infrastructure of type KUBERNETES\n    var k8s = new Harness.InfrastructureDefinition(\"k8s\", new()\n    {\n        Name = \"k8s-eks-us-east-1\",\n        AppId = example.Id,\n        EnvId = devEnvironment.Id,\n        CloudProviderType = \"KUBERNETES_CLUSTER\",\n        DeploymentType = \"KUBERNETES\",\n        Kubernetes = new Harness.Inputs.InfrastructureDefinitionKubernetesArgs\n        {\n            CloudProviderName = dev.Name,\n            Namespace = \"dev\",\n            ReleaseName = \"${service.name}\",\n        },\n    });\n\n    // Creating a Deployment Template for CUSTOM infrastructure type\n    var exampleYaml = new Harness.YamlConfig(\"example_yaml\", new()\n    {\n        Path = \"Setup/Template Library/Example Folder/deployment_template.yaml\",\n        Content = @\"harnessApiVersion: '1.0'\ntype: CUSTOM_DEPLOYMENT_TYPE\nfetchInstanceScript: |-\n  set -ex\n  curl http://${url}/${file_name} \u003e ${INSTANCE_OUTPUT_PATH}\nhostAttributes:\n  hostname: host\nhostObjectArrayPath: hosts\nvariables:\n- name: url\n- name: file_name\n\",\n    });\n\n    // Creating a infrastructure of type CUSTOM\n    var custom = new Harness.InfrastructureDefinition(\"custom\", new()\n    {\n        Name = \"custom-infra\",\n        AppId = example.Id,\n        EnvId = devEnvironment.Id,\n        CloudProviderType = \"CUSTOM\",\n        DeploymentType = \"CUSTOM\",\n        DeploymentTemplateUri = exampleYaml.Name.Apply(name =\u003e $\"Example Folder/{name}\"),\n        Custom = new Harness.Inputs.InfrastructureDefinitionCustomArgs\n        {\n            DeploymentTypeTemplateVersion = \"1\",\n            Variables = new[]\n            {\n                new Harness.Inputs.InfrastructureDefinitionCustomVariableArgs\n                {\n                    Name = \"url\",\n                    Value = \"localhost:8081\",\n                },\n                new Harness.Inputs.InfrastructureDefinitionCustomVariableArgs\n                {\n                    Name = \"file_name\",\n                    Value = \"instances.json\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/cloudprovider\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Creating a Kubernetes infrastructure definition\n\t\tdev, err := cloudprovider.NewKubernetes(ctx, \"dev\", \u0026cloudprovider.KubernetesArgs{\n\t\t\tName: pulumi.String(\"k8s-dev\"),\n\t\t\tAuthentication: \u0026cloudprovider.KubernetesAuthenticationArgs{\n\t\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"k8s\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tdevEnvironment, err := harness.NewEnvironment(ctx, \"dev\", \u0026harness.EnvironmentArgs{\n\t\t\tName:  pulumi.String(\"dev\"),\n\t\t\tAppId: example.ID(),\n\t\t\tType:  pulumi.String(\"NON_PROD\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creating a infrastructure of type KUBERNETES\n\t\t_, err = harness.NewInfrastructureDefinition(ctx, \"k8s\", \u0026harness.InfrastructureDefinitionArgs{\n\t\t\tName:              pulumi.String(\"k8s-eks-us-east-1\"),\n\t\t\tAppId:             example.ID(),\n\t\t\tEnvId:             devEnvironment.ID(),\n\t\t\tCloudProviderType: pulumi.String(\"KUBERNETES_CLUSTER\"),\n\t\t\tDeploymentType:    pulumi.String(\"KUBERNETES\"),\n\t\t\tKubernetes: \u0026harness.InfrastructureDefinitionKubernetesArgs{\n\t\t\t\tCloudProviderName: dev.Name,\n\t\t\t\tNamespace:         pulumi.String(\"dev\"),\n\t\t\t\tReleaseName:       pulumi.String(\"${service.name}\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creating a Deployment Template for CUSTOM infrastructure type\n\t\texampleYaml, err := harness.NewYamlConfig(ctx, \"example_yaml\", \u0026harness.YamlConfigArgs{\n\t\t\tPath: pulumi.String(\"Setup/Template Library/Example Folder/deployment_template.yaml\"),\n\t\t\tContent: pulumi.String(`harnessApiVersion: '1.0'\ntype: CUSTOM_DEPLOYMENT_TYPE\nfetchInstanceScript: |-\n  set -ex\n  curl http://${url}/${file_name} \u003e ${INSTANCE_OUTPUT_PATH}\nhostAttributes:\n  hostname: host\nhostObjectArrayPath: hosts\nvariables:\n- name: url\n- name: file_name\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Creating a infrastructure of type CUSTOM\n\t\t_, err = harness.NewInfrastructureDefinition(ctx, \"custom\", \u0026harness.InfrastructureDefinitionArgs{\n\t\t\tName:              pulumi.String(\"custom-infra\"),\n\t\t\tAppId:             example.ID(),\n\t\t\tEnvId:             devEnvironment.ID(),\n\t\t\tCloudProviderType: pulumi.String(\"CUSTOM\"),\n\t\t\tDeploymentType:    pulumi.String(\"CUSTOM\"),\n\t\t\tDeploymentTemplateUri: exampleYaml.Name.ApplyT(func(name string) (string, error) {\n\t\t\t\treturn fmt.Sprintf(\"Example Folder/%v\", name), nil\n\t\t\t}).(pulumi.StringOutput),\n\t\t\tCustom: \u0026harness.InfrastructureDefinitionCustomArgs{\n\t\t\t\tDeploymentTypeTemplateVersion: pulumi.String(\"1\"),\n\t\t\t\tVariables: harness.InfrastructureDefinitionCustomVariableArray{\n\t\t\t\t\t\u0026harness.InfrastructureDefinitionCustomVariableArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"url\"),\n\t\t\t\t\t\tValue: pulumi.String(\"localhost:8081\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026harness.InfrastructureDefinitionCustomVariableArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"file_name\"),\n\t\t\t\t\t\tValue: pulumi.String(\"instances.json\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.cloudprovider.Kubernetes;\nimport com.pulumi.harness.cloudprovider.KubernetesArgs;\nimport com.pulumi.harness.cloudprovider.inputs.KubernetesAuthenticationArgs;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.Environment;\nimport com.pulumi.harness.EnvironmentArgs;\nimport com.pulumi.harness.InfrastructureDefinition;\nimport com.pulumi.harness.InfrastructureDefinitionArgs;\nimport com.pulumi.harness.inputs.InfrastructureDefinitionKubernetesArgs;\nimport com.pulumi.harness.YamlConfig;\nimport com.pulumi.harness.YamlConfigArgs;\nimport com.pulumi.harness.inputs.InfrastructureDefinitionCustomArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Creating a Kubernetes infrastructure definition\n        var dev = new Kubernetes(\"dev\", KubernetesArgs.builder()\n            .name(\"k8s-dev\")\n            .authentication(KubernetesAuthenticationArgs.builder()\n                .delegateSelectors(\"k8s\")\n                .build())\n            .build());\n\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example\")\n            .build());\n\n        var devEnvironment = new Environment(\"devEnvironment\", EnvironmentArgs.builder()\n            .name(\"dev\")\n            .appId(example.id())\n            .type(\"NON_PROD\")\n            .build());\n\n        // Creating a infrastructure of type KUBERNETES\n        var k8s = new InfrastructureDefinition(\"k8s\", InfrastructureDefinitionArgs.builder()\n            .name(\"k8s-eks-us-east-1\")\n            .appId(example.id())\n            .envId(devEnvironment.id())\n            .cloudProviderType(\"KUBERNETES_CLUSTER\")\n            .deploymentType(\"KUBERNETES\")\n            .kubernetes(InfrastructureDefinitionKubernetesArgs.builder()\n                .cloudProviderName(dev.name())\n                .namespace(\"dev\")\n                .releaseName(\"${service.name}\")\n                .build())\n            .build());\n\n        // Creating a Deployment Template for CUSTOM infrastructure type\n        var exampleYaml = new YamlConfig(\"exampleYaml\", YamlConfigArgs.builder()\n            .path(\"Setup/Template Library/Example Folder/deployment_template.yaml\")\n            .content(\"\"\"\nharnessApiVersion: '1.0'\ntype: CUSTOM_DEPLOYMENT_TYPE\nfetchInstanceScript: |-\n  set -ex\n  curl http://${url}/${file_name} \u003e ${INSTANCE_OUTPUT_PATH}\nhostAttributes:\n  hostname: host\nhostObjectArrayPath: hosts\nvariables:\n- name: url\n- name: file_name\n            \"\"\")\n            .build());\n\n        // Creating a infrastructure of type CUSTOM\n        var custom = new InfrastructureDefinition(\"custom\", InfrastructureDefinitionArgs.builder()\n            .name(\"custom-infra\")\n            .appId(example.id())\n            .envId(devEnvironment.id())\n            .cloudProviderType(\"CUSTOM\")\n            .deploymentType(\"CUSTOM\")\n            .deploymentTemplateUri(exampleYaml.name().applyValue(_name -\u003e String.format(\"Example Folder/%s\", _name)))\n            .custom(InfrastructureDefinitionCustomArgs.builder()\n                .deploymentTypeTemplateVersion(\"1\")\n                .variables(                \n                    InfrastructureDefinitionCustomVariableArgs.builder()\n                        .name(\"url\")\n                        .value(\"localhost:8081\")\n                        .build(),\n                    InfrastructureDefinitionCustomVariableArgs.builder()\n                        .name(\"file_name\")\n                        .value(\"instances.json\")\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Creating a Kubernetes infrastructure definition\n  dev:\n    type: harness:cloudprovider:Kubernetes\n    properties:\n      name: k8s-dev\n      authentication:\n        delegateSelectors:\n          - k8s\n  example:\n    type: harness:Application\n    properties:\n      name: example\n  devEnvironment:\n    type: harness:Environment\n    name: dev\n    properties:\n      name: dev\n      appId: ${example.id}\n      type: NON_PROD\n  # Creating a infrastructure of type KUBERNETES\n  k8s:\n    type: harness:InfrastructureDefinition\n    properties:\n      name: k8s-eks-us-east-1\n      appId: ${example.id}\n      envId: ${devEnvironment.id}\n      cloudProviderType: KUBERNETES_CLUSTER\n      deploymentType: KUBERNETES\n      kubernetes:\n        cloudProviderName: ${dev.name}\n        namespace: dev\n        releaseName: $${service.name}\n  # Creating a Deployment Template for CUSTOM infrastructure type\n  exampleYaml:\n    type: harness:YamlConfig\n    name: example_yaml\n    properties:\n      path: Setup/Template Library/Example Folder/deployment_template.yaml\n      content: |\n        harnessApiVersion: '1.0'\n        type: CUSTOM_DEPLOYMENT_TYPE\n        fetchInstanceScript: |-\n          set -ex\n          curl http://$${url}/$${file_name} \u003e $${INSTANCE_OUTPUT_PATH}\n        hostAttributes:\n          hostname: host\n        hostObjectArrayPath: hosts\n        variables:\n        - name: url\n        - name: file_name\n  # Creating a infrastructure of type CUSTOM\n  custom:\n    type: harness:InfrastructureDefinition\n    properties:\n      name: custom-infra\n      appId: ${example.id}\n      envId: ${devEnvironment.id}\n      cloudProviderType: CUSTOM\n      deploymentType: CUSTOM\n      deploymentTemplateUri: Example Folder/${exampleYaml.name}\n      custom:\n        deploymentTypeTemplateVersion: '1'\n        variables:\n          - name: url\n            value: localhost:8081\n          - name: file_name\n            value: instances.json\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id, environment id, and infrastructure definition id\n\n```sh\n$ pulumi import harness:index/infrastructureDefinition:InfrastructureDefinition example \u003capp_id\u003e/\u003cenv_id\u003e/\u003cinfradef_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application the infrastructure definition belongs to.\n"},"awsAmi":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsAmi:InfrastructureDefinitionAwsAmi","description":"The configuration details for Aws AMI deployments.\n"},"awsEcs":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsEcs:InfrastructureDefinitionAwsEcs","description":"The configuration details for Aws AMI deployments.\n"},"awsLambda":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsLambda:InfrastructureDefinitionAwsLambda","description":"The configuration details for Aws Lambda deployments.\n"},"awsSsh":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsSsh:InfrastructureDefinitionAwsSsh","description":"The configuration details for AWS SSH deployments.\n"},"awsWinrm":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsWinrm:InfrastructureDefinitionAwsWinrm","description":"The configuration details for AWS WinRM deployments.\n"},"azureVmss":{"$ref":"#/types/harness:index/InfrastructureDefinitionAzureVmss:InfrastructureDefinitionAzureVmss","description":"The configuration details for Azure VMSS deployments.\n"},"azureWebapp":{"$ref":"#/types/harness:index/InfrastructureDefinitionAzureWebapp:InfrastructureDefinitionAzureWebapp","description":"The configuration details for Azure WebApp deployments.\n"},"cloudProviderType":{"type":"string","description":"The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICAL*DATA*CENTER, KUBERNETES*CLUSTER, PCF, SPOT*INST\n"},"custom":{"$ref":"#/types/harness:index/InfrastructureDefinitionCustom:InfrastructureDefinitionCustom","description":"The configuration details for Custom deployments.\n"},"datacenterSsh":{"$ref":"#/types/harness:index/InfrastructureDefinitionDatacenterSsh:InfrastructureDefinitionDatacenterSsh","description":"The configuration details for SSH datacenter deployments.\n"},"datacenterWinrm":{"$ref":"#/types/harness:index/InfrastructureDefinitionDatacenterWinrm:InfrastructureDefinitionDatacenterWinrm","description":"The configuration details for WinRM datacenter deployments.\n"},"deploymentTemplateUri":{"type":"string","description":"The URI of the deployment template to use. Only used if\u003cspan pulumi-lang-nodejs=\" deploymentType \" pulumi-lang-dotnet=\" DeploymentType \" pulumi-lang-go=\" deploymentType \" pulumi-lang-python=\" deployment_type \" pulumi-lang-yaml=\" deploymentType \" pulumi-lang-java=\" deploymentType \"\u003e deployment_type \u003c/span\u003eis `CUSTOM`.\n"},"deploymentType":{"type":"string","description":"The type of the deployment to use. Valid options are AMI, AWS*CODEDEPLOY, AWS*LAMBDA, AZURE*VMSS, AZURE*WEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM\n"},"envId":{"type":"string","description":"The id of the environment the infrastructure definition belongs to.\n"},"kubernetes":{"$ref":"#/types/harness:index/InfrastructureDefinitionKubernetes:InfrastructureDefinitionKubernetes","description":"The configuration details for Kubernetes deployments.\n"},"kubernetesGcp":{"$ref":"#/types/harness:index/InfrastructureDefinitionKubernetesGcp:InfrastructureDefinitionKubernetesGcp","description":"The configuration details for Kubernetes on GCP deployments.\n"},"name":{"type":"string","description":"The name of the infrastructure definition\n"},"provisionerName":{"type":"string","description":"The name of the infrastructure provisioner to use.\n"},"scopedServices":{"type":"array","items":{"type":"string"},"description":"The list of service names to scope this infrastructure definition to.\n"},"tanzu":{"$ref":"#/types/harness:index/InfrastructureDefinitionTanzu:InfrastructureDefinitionTanzu","description":"The configuration details for PCF deployments.\n"}},"required":["appId","cloudProviderType","deploymentType","envId","name"],"inputProperties":{"appId":{"type":"string","description":"The id of the application the infrastructure definition belongs to.\n","willReplaceOnChanges":true},"awsAmi":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsAmi:InfrastructureDefinitionAwsAmi","description":"The configuration details for Aws AMI deployments.\n"},"awsEcs":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsEcs:InfrastructureDefinitionAwsEcs","description":"The configuration details for Aws AMI deployments.\n"},"awsLambda":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsLambda:InfrastructureDefinitionAwsLambda","description":"The configuration details for Aws Lambda deployments.\n"},"awsSsh":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsSsh:InfrastructureDefinitionAwsSsh","description":"The configuration details for AWS SSH deployments.\n"},"awsWinrm":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsWinrm:InfrastructureDefinitionAwsWinrm","description":"The configuration details for AWS WinRM deployments.\n"},"azureVmss":{"$ref":"#/types/harness:index/InfrastructureDefinitionAzureVmss:InfrastructureDefinitionAzureVmss","description":"The configuration details for Azure VMSS deployments.\n"},"azureWebapp":{"$ref":"#/types/harness:index/InfrastructureDefinitionAzureWebapp:InfrastructureDefinitionAzureWebapp","description":"The configuration details for Azure WebApp deployments.\n"},"cloudProviderType":{"type":"string","description":"The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICAL*DATA*CENTER, KUBERNETES*CLUSTER, PCF, SPOT*INST\n"},"custom":{"$ref":"#/types/harness:index/InfrastructureDefinitionCustom:InfrastructureDefinitionCustom","description":"The configuration details for Custom deployments.\n"},"datacenterSsh":{"$ref":"#/types/harness:index/InfrastructureDefinitionDatacenterSsh:InfrastructureDefinitionDatacenterSsh","description":"The configuration details for SSH datacenter deployments.\n"},"datacenterWinrm":{"$ref":"#/types/harness:index/InfrastructureDefinitionDatacenterWinrm:InfrastructureDefinitionDatacenterWinrm","description":"The configuration details for WinRM datacenter deployments.\n"},"deploymentTemplateUri":{"type":"string","description":"The URI of the deployment template to use. Only used if\u003cspan pulumi-lang-nodejs=\" deploymentType \" pulumi-lang-dotnet=\" DeploymentType \" pulumi-lang-go=\" deploymentType \" pulumi-lang-python=\" deployment_type \" pulumi-lang-yaml=\" deploymentType \" pulumi-lang-java=\" deploymentType \"\u003e deployment_type \u003c/span\u003eis `CUSTOM`.\n"},"deploymentType":{"type":"string","description":"The type of the deployment to use. Valid options are AMI, AWS*CODEDEPLOY, AWS*LAMBDA, AZURE*VMSS, AZURE*WEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM\n"},"envId":{"type":"string","description":"The id of the environment the infrastructure definition belongs to.\n","willReplaceOnChanges":true},"kubernetes":{"$ref":"#/types/harness:index/InfrastructureDefinitionKubernetes:InfrastructureDefinitionKubernetes","description":"The configuration details for Kubernetes deployments.\n"},"kubernetesGcp":{"$ref":"#/types/harness:index/InfrastructureDefinitionKubernetesGcp:InfrastructureDefinitionKubernetesGcp","description":"The configuration details for Kubernetes on GCP deployments.\n"},"name":{"type":"string","description":"The name of the infrastructure definition\n","willReplaceOnChanges":true},"provisionerName":{"type":"string","description":"The name of the infrastructure provisioner to use.\n"},"scopedServices":{"type":"array","items":{"type":"string"},"description":"The list of service names to scope this infrastructure definition to.\n"},"tanzu":{"$ref":"#/types/harness:index/InfrastructureDefinitionTanzu:InfrastructureDefinitionTanzu","description":"The configuration details for PCF deployments.\n"}},"requiredInputs":["appId","cloudProviderType","deploymentType","envId"],"stateInputs":{"description":"Input properties used for looking up and filtering InfrastructureDefinition resources.\n","properties":{"appId":{"type":"string","description":"The id of the application the infrastructure definition belongs to.\n","willReplaceOnChanges":true},"awsAmi":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsAmi:InfrastructureDefinitionAwsAmi","description":"The configuration details for Aws AMI deployments.\n"},"awsEcs":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsEcs:InfrastructureDefinitionAwsEcs","description":"The configuration details for Aws AMI deployments.\n"},"awsLambda":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsLambda:InfrastructureDefinitionAwsLambda","description":"The configuration details for Aws Lambda deployments.\n"},"awsSsh":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsSsh:InfrastructureDefinitionAwsSsh","description":"The configuration details for AWS SSH deployments.\n"},"awsWinrm":{"$ref":"#/types/harness:index/InfrastructureDefinitionAwsWinrm:InfrastructureDefinitionAwsWinrm","description":"The configuration details for AWS WinRM deployments.\n"},"azureVmss":{"$ref":"#/types/harness:index/InfrastructureDefinitionAzureVmss:InfrastructureDefinitionAzureVmss","description":"The configuration details for Azure VMSS deployments.\n"},"azureWebapp":{"$ref":"#/types/harness:index/InfrastructureDefinitionAzureWebapp:InfrastructureDefinitionAzureWebapp","description":"The configuration details for Azure WebApp deployments.\n"},"cloudProviderType":{"type":"string","description":"The type of the cloud provider to connect with. Valid options are AWS, AZURE, CUSTOM, PHYSICAL*DATA*CENTER, KUBERNETES*CLUSTER, PCF, SPOT*INST\n"},"custom":{"$ref":"#/types/harness:index/InfrastructureDefinitionCustom:InfrastructureDefinitionCustom","description":"The configuration details for Custom deployments.\n"},"datacenterSsh":{"$ref":"#/types/harness:index/InfrastructureDefinitionDatacenterSsh:InfrastructureDefinitionDatacenterSsh","description":"The configuration details for SSH datacenter deployments.\n"},"datacenterWinrm":{"$ref":"#/types/harness:index/InfrastructureDefinitionDatacenterWinrm:InfrastructureDefinitionDatacenterWinrm","description":"The configuration details for WinRM datacenter deployments.\n"},"deploymentTemplateUri":{"type":"string","description":"The URI of the deployment template to use. Only used if\u003cspan pulumi-lang-nodejs=\" deploymentType \" pulumi-lang-dotnet=\" DeploymentType \" pulumi-lang-go=\" deploymentType \" pulumi-lang-python=\" deployment_type \" pulumi-lang-yaml=\" deploymentType \" pulumi-lang-java=\" deploymentType \"\u003e deployment_type \u003c/span\u003eis `CUSTOM`.\n"},"deploymentType":{"type":"string","description":"The type of the deployment to use. Valid options are AMI, AWS*CODEDEPLOY, AWS*LAMBDA, AZURE*VMSS, AZURE*WEBAPP, CUSTOM, ECS, HELM, KUBERNETES, PCF, SSH, WINRM\n"},"envId":{"type":"string","description":"The id of the environment the infrastructure definition belongs to.\n","willReplaceOnChanges":true},"kubernetes":{"$ref":"#/types/harness:index/InfrastructureDefinitionKubernetes:InfrastructureDefinitionKubernetes","description":"The configuration details for Kubernetes deployments.\n"},"kubernetesGcp":{"$ref":"#/types/harness:index/InfrastructureDefinitionKubernetesGcp:InfrastructureDefinitionKubernetesGcp","description":"The configuration details for Kubernetes on GCP deployments.\n"},"name":{"type":"string","description":"The name of the infrastructure definition\n","willReplaceOnChanges":true},"provisionerName":{"type":"string","description":"The name of the infrastructure provisioner to use.\n"},"scopedServices":{"type":"array","items":{"type":"string"},"description":"The list of service names to scope this infrastructure definition to.\n"},"tanzu":{"$ref":"#/types/harness:index/InfrastructureDefinitionTanzu:InfrastructureDefinitionTanzu","description":"The configuration details for PCF deployments.\n"}},"type":"object"}},"harness:index/platformApiKey:PlatformApiKey":{"description":"Resource for creating ApiKeys.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n# Import account level apikey\nterraform import harness_platform_apikey \u003cparent_id\u003e/\u003capikey_id\u003e/\u003capikey_type\u003e\n\n# Import org level apikey\nterraform import harness_platform_apikey \u003corg_id\u003e/\u003cparent_id\u003e/\u003capikey_id\u003e/\u003capikey_type\u003e\n\n# Import project level apikey\nterraform import harness_platform_apikey \u003corg_id\u003e/\u003cproject_id\u003e/\u003cparent_id\u003e/\u003capikey_id\u003e/\u003capikey_type\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n"},"apikeyType":{"type":"string","description":"Type of the API Key\n"},"defaultTimeToExpireToken":{"type":"integer","description":"Default expiration time of the Token within API Key\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentId":{"type":"string","description":"Parent Entity Identifier of the API Key\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["accountId","apikeyType","identifier","name","parentId"],"inputProperties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n"},"apikeyType":{"type":"string","description":"Type of the API Key\n"},"defaultTimeToExpireToken":{"type":"integer","description":"Default expiration time of the Token within API Key\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentId":{"type":"string","description":"Parent Entity Identifier of the API Key\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["accountId","apikeyType","identifier","parentId"],"stateInputs":{"description":"Input properties used for looking up and filtering PlatformApiKey resources.\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n"},"apikeyType":{"type":"string","description":"Type of the API Key\n"},"defaultTimeToExpireToken":{"type":"integer","description":"Default expiration time of the Token within API Key\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentId":{"type":"string","description":"Parent Entity Identifier of the API Key\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:index/platformCcmFilters:PlatformCcmFilters":{"description":"Resource for creating a Harness CCM Filters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.PlatformCcmFilters(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    type: \"CCMRecommendation\",\n    filterProperties: {\n        tags: [\"foo:bar\"],\n        filterType: \"CCMRecommendation\",\n    },\n    filterVisibility: \"EveryOne\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.PlatformCcmFilters(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    type=\"CCMRecommendation\",\n    filter_properties={\n        \"tags\": [\"foo:bar\"],\n        \"filter_type\": \"CCMRecommendation\",\n    },\n    filter_visibility=\"EveryOne\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.PlatformCcmFilters(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Type = \"CCMRecommendation\",\n        FilterProperties = new Harness.Inputs.PlatformCcmFiltersFilterPropertiesArgs\n        {\n            Tags = new[]\n            {\n                \"foo:bar\",\n            },\n            FilterType = \"CCMRecommendation\",\n        },\n        FilterVisibility = \"EveryOne\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := harness.NewPlatformCcmFilters(ctx, \"test\", \u0026harness.PlatformCcmFiltersArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tType:       pulumi.String(\"CCMRecommendation\"),\n\t\t\tFilterProperties: \u0026harness.PlatformCcmFiltersFilterPropertiesArgs{\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t},\n\t\t\t\tFilterType: pulumi.String(\"CCMRecommendation\"),\n\t\t\t},\n\t\t\tFilterVisibility: pulumi.String(\"EveryOne\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.PlatformCcmFilters;\nimport com.pulumi.harness.PlatformCcmFiltersArgs;\nimport com.pulumi.harness.inputs.PlatformCcmFiltersFilterPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new PlatformCcmFilters(\"test\", PlatformCcmFiltersArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .type(\"CCMRecommendation\")\n            .filterProperties(PlatformCcmFiltersFilterPropertiesArgs.builder()\n                .tags(\"foo:bar\")\n                .filterType(\"CCMRecommendation\")\n                .build())\n            .filterVisibility(\"EveryOne\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:PlatformCcmFilters\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      type: CCMRecommendation\n      filterProperties:\n        tags:\n          - foo:bar\n        filterType: CCMRecommendation\n      filterVisibility: EveryOne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level ccm filter\n\n```sh\n$ pulumi import harness:index/platformCcmFilters:PlatformCcmFilters example \u003cfilter_id\u003e/\u003ctype\u003e\n```\n\nImport org level ccm filter\n\n```sh\n$ pulumi import harness:index/platformCcmFilters:PlatformCcmFilters example \u003cord_id\u003e/\u003cfilter_id\u003e/\u003ctype\u003e\n```\n\nImport project level ccm filter\n\n```sh\n$ pulumi import harness:index/platformCcmFilters:PlatformCcmFilters example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cfilter_id\u003e/\u003ctype\u003e\n```\n\n","properties":{"filterProperties":{"$ref":"#/types/harness:index/PlatformCcmFiltersFilterProperties:PlatformCcmFiltersFilterProperties","description":"Properties of the filters entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filters, by default it is Everyone.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the ccm filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of ccm filters.\n"}},"required":["filterProperties","identifier","name","type"],"inputProperties":{"filterProperties":{"$ref":"#/types/harness:index/PlatformCcmFiltersFilterProperties:PlatformCcmFiltersFilterProperties","description":"Properties of the filters entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filters, by default it is Everyone.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the ccm filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of ccm filters.\n"}},"requiredInputs":["filterProperties","identifier","type"],"stateInputs":{"description":"Input properties used for looking up and filtering PlatformCcmFilters resources.\n","properties":{"filterProperties":{"$ref":"#/types/harness:index/PlatformCcmFiltersFilterProperties:PlatformCcmFiltersFilterProperties","description":"Properties of the filters entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filters, by default it is Everyone.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the ccm filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of ccm filters.\n"}},"type":"object"}},"harness:index/sshCredential:SshCredential":{"description":"Resource for creating an encrypted text secret\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\nimport * as tls from \"@pulumi/tls\";\n\nconst harnessDeployKey = new tls.index.PrivateKey(\"harness_deploy_key\", {\n    algorithm: \"RSA\",\n    rsaBits: 4096,\n});\nconst secretManager = harness.getSecretManager({\n    \"default\": true,\n});\nconst mySecret = new harness.EncryptedText(\"my_secret\", {\n    name: \"my_secret\",\n    value: harnessDeployKey.privateKeyPem,\n    secretManagerId: secretManager.then(secretManager =\u003e secretManager.id),\n});\nconst sshCreds = new harness.SshCredential(\"ssh_creds\", {\n    name: \"ssh-test\",\n    sshAuthentication: {\n        port: 22,\n        username: \"git\",\n        inlineSsh: {\n            sshKeyFileId: mySecret.id,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\nimport pulumi_tls as tls\n\nharness_deploy_key = tls.index.PrivateKey(\"harness_deploy_key\",\n    algorithm=RSA,\n    rsa_bits=4096)\nsecret_manager = harness.get_secret_manager(default=True)\nmy_secret = harness.EncryptedText(\"my_secret\",\n    name=\"my_secret\",\n    value=harness_deploy_key[\"privateKeyPem\"],\n    secret_manager_id=secret_manager.id)\nssh_creds = harness.SshCredential(\"ssh_creds\",\n    name=\"ssh-test\",\n    ssh_authentication={\n        \"port\": 22,\n        \"username\": \"git\",\n        \"inline_ssh\": {\n            \"ssh_key_file_id\": my_secret.id,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\nusing Tls = Pulumi.Tls;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var harnessDeployKey = new Tls.Index.PrivateKey(\"harness_deploy_key\", new()\n    {\n        Algorithm = \"RSA\",\n        RsaBits = 4096,\n    });\n\n    var secretManager = Harness.GetSecretManager.Invoke(new()\n    {\n        Default = true,\n    });\n\n    var mySecret = new Harness.EncryptedText(\"my_secret\", new()\n    {\n        Name = \"my_secret\",\n        Value = harnessDeployKey.PrivateKeyPem,\n        SecretManagerId = secretManager.Apply(getSecretManagerResult =\u003e getSecretManagerResult.Id),\n    });\n\n    var sshCreds = new Harness.SshCredential(\"ssh_creds\", new()\n    {\n        Name = \"ssh-test\",\n        SshAuthentication = new Harness.Inputs.SshCredentialSshAuthenticationArgs\n        {\n            Port = 22,\n            Username = \"git\",\n            InlineSsh = new Harness.Inputs.SshCredentialSshAuthenticationInlineSshArgs\n            {\n                SshKeyFileId = mySecret.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-tls/sdk/go/tls\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tharnessDeployKey, err := tls.NewPrivateKey(ctx, \"harness_deploy_key\", \u0026tls.PrivateKeyArgs{\n\t\t\tAlgorithm: \"RSA\",\n\t\t\tRsaBits:   4096,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tsecretManager, err := harness.GetSecretManager(ctx, \u0026harness.GetSecretManagerArgs{\n\t\t\tDefault: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tmySecret, err := harness.NewEncryptedText(ctx, \"my_secret\", \u0026harness.EncryptedTextArgs{\n\t\t\tName:            pulumi.String(\"my_secret\"),\n\t\t\tValue:           harnessDeployKey.PrivateKeyPem,\n\t\t\tSecretManagerId: pulumi.String(secretManager.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = harness.NewSshCredential(ctx, \"ssh_creds\", \u0026harness.SshCredentialArgs{\n\t\t\tName: pulumi.String(\"ssh-test\"),\n\t\t\tSshAuthentication: \u0026harness.SshCredentialSshAuthenticationArgs{\n\t\t\t\tPort:     pulumi.Int(22),\n\t\t\t\tUsername: pulumi.String(\"git\"),\n\t\t\t\tInlineSsh: \u0026harness.SshCredentialSshAuthenticationInlineSshArgs{\n\t\t\t\t\tSshKeyFileId: mySecret.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.tls.PrivateKey;\nimport com.pulumi.tls.PrivateKeyArgs;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetSecretManagerArgs;\nimport com.pulumi.harness.EncryptedText;\nimport com.pulumi.harness.EncryptedTextArgs;\nimport com.pulumi.harness.SshCredential;\nimport com.pulumi.harness.SshCredentialArgs;\nimport com.pulumi.harness.inputs.SshCredentialSshAuthenticationArgs;\nimport com.pulumi.harness.inputs.SshCredentialSshAuthenticationInlineSshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var harnessDeployKey = new PrivateKey(\"harnessDeployKey\", PrivateKeyArgs.builder()\n            .algorithm(\"RSA\")\n            .rsaBits(4096)\n            .build());\n\n        final var secretManager = HarnessFunctions.getSecretManager(GetSecretManagerArgs.builder()\n            .default_(true)\n            .build());\n\n        var mySecret = new EncryptedText(\"mySecret\", EncryptedTextArgs.builder()\n            .name(\"my_secret\")\n            .value(harnessDeployKey.privateKeyPem())\n            .secretManagerId(secretManager.id())\n            .build());\n\n        var sshCreds = new SshCredential(\"sshCreds\", SshCredentialArgs.builder()\n            .name(\"ssh-test\")\n            .sshAuthentication(SshCredentialSshAuthenticationArgs.builder()\n                .port(22)\n                .username(\"git\")\n                .inlineSsh(SshCredentialSshAuthenticationInlineSshArgs.builder()\n                    .sshKeyFileId(mySecret.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  harnessDeployKey:\n    type: tls:PrivateKey\n    name: harness_deploy_key\n    properties:\n      algorithm: RSA\n      rsaBits: 4096\n  mySecret:\n    type: harness:EncryptedText\n    name: my_secret\n    properties:\n      name: my_secret\n      value: ${harnessDeployKey.privateKeyPem}\n      secretManagerId: ${secretManager.id}\n  sshCreds:\n    type: harness:SshCredential\n    name: ssh_creds\n    properties:\n      name: ssh-test\n      sshAuthentication:\n        port: 22\n        username: git\n        inlineSsh:\n          sshKeyFileId: ${mySecret.id}\nvariables:\n  secretManager:\n    fn::invoke:\n      function: harness:getSecretManager\n      arguments:\n        default: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness ssh credential id\n\n```sh\n$ pulumi import harness:index/sshCredential:SshCredential example \u003ccredential_id\u003e\n```\n\n","properties":{"kerberosAuthentication":{"$ref":"#/types/harness:index/SshCredentialKerberosAuthentication:SshCredentialKerberosAuthentication","description":"Kerberos authentication for SSH. Cannot be used if ssh*authentication is specified\n"},"name":{"type":"string","description":"Name of the encrypted text secret\n"},"sshAuthentication":{"$ref":"#/types/harness:index/SshCredentialSshAuthentication:SshCredentialSshAuthentication","description":"Authentication method for SSH. Cannot be used if kerberos*authentication is specified. Only one of \u003cspan pulumi-lang-nodejs=\"`inlineSsh`\" pulumi-lang-dotnet=\"`InlineSsh`\" pulumi-lang-go=\"`inlineSsh`\" pulumi-lang-python=\"`inline_ssh`\" pulumi-lang-yaml=\"`inlineSsh`\" pulumi-lang-java=\"`inlineSsh`\"\u003e`inline_ssh`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serverPassword`\" pulumi-lang-dotnet=\"`ServerPassword`\" pulumi-lang-go=\"`serverPassword`\" pulumi-lang-python=\"`server_password`\" pulumi-lang-yaml=\"`serverPassword`\" pulumi-lang-java=\"`serverPassword`\"\u003e`server_password`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`sshKeyFile`\" pulumi-lang-dotnet=\"`SshKeyFile`\" pulumi-lang-go=\"`sshKeyFile`\" pulumi-lang-python=\"`ssh_key_file`\" pulumi-lang-yaml=\"`sshKeyFile`\" pulumi-lang-java=\"`sshKeyFile`\"\u003e`ssh_key_file`\u003c/span\u003e should be set\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/SshCredentialUsageScope:SshCredentialUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"required":["name"],"inputProperties":{"kerberosAuthentication":{"$ref":"#/types/harness:index/SshCredentialKerberosAuthentication:SshCredentialKerberosAuthentication","description":"Kerberos authentication for SSH. Cannot be used if ssh*authentication is specified\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the encrypted text secret\n"},"sshAuthentication":{"$ref":"#/types/harness:index/SshCredentialSshAuthentication:SshCredentialSshAuthentication","description":"Authentication method for SSH. Cannot be used if kerberos*authentication is specified. Only one of \u003cspan pulumi-lang-nodejs=\"`inlineSsh`\" pulumi-lang-dotnet=\"`InlineSsh`\" pulumi-lang-go=\"`inlineSsh`\" pulumi-lang-python=\"`inline_ssh`\" pulumi-lang-yaml=\"`inlineSsh`\" pulumi-lang-java=\"`inlineSsh`\"\u003e`inline_ssh`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serverPassword`\" pulumi-lang-dotnet=\"`ServerPassword`\" pulumi-lang-go=\"`serverPassword`\" pulumi-lang-python=\"`server_password`\" pulumi-lang-yaml=\"`serverPassword`\" pulumi-lang-java=\"`serverPassword`\"\u003e`server_password`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`sshKeyFile`\" pulumi-lang-dotnet=\"`SshKeyFile`\" pulumi-lang-go=\"`sshKeyFile`\" pulumi-lang-python=\"`ssh_key_file`\" pulumi-lang-yaml=\"`sshKeyFile`\" pulumi-lang-java=\"`sshKeyFile`\"\u003e`ssh_key_file`\u003c/span\u003e should be set\n","willReplaceOnChanges":true},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/SshCredentialUsageScope:SshCredentialUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering SshCredential resources.\n","properties":{"kerberosAuthentication":{"$ref":"#/types/harness:index/SshCredentialKerberosAuthentication:SshCredentialKerberosAuthentication","description":"Kerberos authentication for SSH. Cannot be used if ssh*authentication is specified\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the encrypted text secret\n"},"sshAuthentication":{"$ref":"#/types/harness:index/SshCredentialSshAuthentication:SshCredentialSshAuthentication","description":"Authentication method for SSH. Cannot be used if kerberos*authentication is specified. Only one of \u003cspan pulumi-lang-nodejs=\"`inlineSsh`\" pulumi-lang-dotnet=\"`InlineSsh`\" pulumi-lang-go=\"`inlineSsh`\" pulumi-lang-python=\"`inline_ssh`\" pulumi-lang-yaml=\"`inlineSsh`\" pulumi-lang-java=\"`inlineSsh`\"\u003e`inline_ssh`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`serverPassword`\" pulumi-lang-dotnet=\"`ServerPassword`\" pulumi-lang-go=\"`serverPassword`\" pulumi-lang-python=\"`server_password`\" pulumi-lang-yaml=\"`serverPassword`\" pulumi-lang-java=\"`serverPassword`\"\u003e`server_password`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`sshKeyFile`\" pulumi-lang-dotnet=\"`SshKeyFile`\" pulumi-lang-go=\"`sshKeyFile`\" pulumi-lang-python=\"`ssh_key_file`\" pulumi-lang-yaml=\"`sshKeyFile`\" pulumi-lang-java=\"`sshKeyFile`\"\u003e`ssh_key_file`\u003c/span\u003e should be set\n","willReplaceOnChanges":true},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/SshCredentialUsageScope:SshCredentialUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"type":"object"}},"harness:index/user:User":{"description":"Resource for creating a Harness user\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst johnDoe = new harness.User(\"john_doe\", {\n    name: \"John Doe\",\n    email: \"john.doe@example.com\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\njohn_doe = harness.User(\"john_doe\",\n    name=\"John Doe\",\n    email=\"john.doe@example.com\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var johnDoe = new Harness.User(\"john_doe\", new()\n    {\n        Name = \"John Doe\",\n        Email = \"john.doe@example.com\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := harness.NewUser(ctx, \"john_doe\", \u0026harness.UserArgs{\n\t\t\tName:  pulumi.String(\"John Doe\"),\n\t\t\tEmail: pulumi.String(\"john.doe@example.com\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.User;\nimport com.pulumi.harness.UserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var johnDoe = new User(\"johnDoe\", UserArgs.builder()\n            .name(\"John Doe\")\n            .email(\"john.doe@example.com\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  johnDoe:\n    type: harness:User\n    name: john_doe\n    properties:\n      name: John Doe\n      email: john.doe@example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the email address of the user\n\n```sh\n$ pulumi import harness:index/user:User john_doe john.doe@example.com\n```\n\n","properties":{"email":{"type":"string","description":"The email of the user.\n"},"groupIds":{"type":"array","items":{"type":"string"},"description":"The groups the user belongs to. This is only used during the creation of the user. The groups are not updated after the user is created. When using this option you should also set `lifecycle = {\u003cspan pulumi-lang-nodejs=\" ignoreChanges \" pulumi-lang-dotnet=\" IgnoreChanges \" pulumi-lang-go=\" ignoreChanges \" pulumi-lang-python=\" ignore_changes \" pulumi-lang-yaml=\" ignoreChanges \" pulumi-lang-java=\" ignoreChanges \"\u003e ignore_changes \u003c/span\u003e= [\u003cspan pulumi-lang-nodejs=\"\"groupIds\"\" pulumi-lang-dotnet=\"\"GroupIds\"\" pulumi-lang-go=\"\"groupIds\"\" pulumi-lang-python=\"\"group_ids\"\" pulumi-lang-yaml=\"\"groupIds\"\" pulumi-lang-java=\"\"groupIds\"\"\u003e\"group_ids\"\u003c/span\u003e] }`.\n"},"isEmailVerified":{"type":"boolean","description":"Flag indicating whether or not the users email has been verified.\n"},"isImportedFromIdentityProvider":{"type":"boolean","description":"Flag indicating whether or not the user was imported from an identity provider.\n"},"isPasswordExpired":{"type":"boolean","description":"Flag indicating whether or not the users password has expired.\n"},"isTwoFactorAuthEnabled":{"type":"boolean","description":"Flag indicating whether or not two-factor authentication is enabled for the user.\n"},"isUserLocked":{"type":"boolean","description":"Flag indicating whether or not the user is locked out.\n"},"name":{"type":"string","description":"The name of the user.\n"}},"required":["email","isEmailVerified","isImportedFromIdentityProvider","isPasswordExpired","isTwoFactorAuthEnabled","isUserLocked","name"],"inputProperties":{"email":{"type":"string","description":"The email of the user.\n","willReplaceOnChanges":true},"groupIds":{"type":"array","items":{"type":"string"},"description":"The groups the user belongs to. This is only used during the creation of the user. The groups are not updated after the user is created. When using this option you should also set `lifecycle = {\u003cspan pulumi-lang-nodejs=\" ignoreChanges \" pulumi-lang-dotnet=\" IgnoreChanges \" pulumi-lang-go=\" ignoreChanges \" pulumi-lang-python=\" ignore_changes \" pulumi-lang-yaml=\" ignoreChanges \" pulumi-lang-java=\" ignoreChanges \"\u003e ignore_changes \u003c/span\u003e= [\u003cspan pulumi-lang-nodejs=\"\"groupIds\"\" pulumi-lang-dotnet=\"\"GroupIds\"\" pulumi-lang-go=\"\"groupIds\"\" pulumi-lang-python=\"\"group_ids\"\" pulumi-lang-yaml=\"\"groupIds\"\" pulumi-lang-java=\"\"groupIds\"\"\u003e\"group_ids\"\u003c/span\u003e] }`.\n"},"name":{"type":"string","description":"The name of the user.\n"}},"requiredInputs":["email"],"stateInputs":{"description":"Input properties used for looking up and filtering User resources.\n","properties":{"email":{"type":"string","description":"The email of the user.\n","willReplaceOnChanges":true},"groupIds":{"type":"array","items":{"type":"string"},"description":"The groups the user belongs to. This is only used during the creation of the user. The groups are not updated after the user is created. When using this option you should also set `lifecycle = {\u003cspan pulumi-lang-nodejs=\" ignoreChanges \" pulumi-lang-dotnet=\" IgnoreChanges \" pulumi-lang-go=\" ignoreChanges \" pulumi-lang-python=\" ignore_changes \" pulumi-lang-yaml=\" ignoreChanges \" pulumi-lang-java=\" ignoreChanges \"\u003e ignore_changes \u003c/span\u003e= [\u003cspan pulumi-lang-nodejs=\"\"groupIds\"\" pulumi-lang-dotnet=\"\"GroupIds\"\" pulumi-lang-go=\"\"groupIds\"\" pulumi-lang-python=\"\"group_ids\"\" pulumi-lang-yaml=\"\"groupIds\"\" pulumi-lang-java=\"\"groupIds\"\"\u003e\"group_ids\"\u003c/span\u003e] }`.\n"},"isEmailVerified":{"type":"boolean","description":"Flag indicating whether or not the users email has been verified.\n"},"isImportedFromIdentityProvider":{"type":"boolean","description":"Flag indicating whether or not the user was imported from an identity provider.\n"},"isPasswordExpired":{"type":"boolean","description":"Flag indicating whether or not the users password has expired.\n"},"isTwoFactorAuthEnabled":{"type":"boolean","description":"Flag indicating whether or not two-factor authentication is enabled for the user.\n"},"isUserLocked":{"type":"boolean","description":"Flag indicating whether or not the user is locked out.\n"},"name":{"type":"string","description":"The name of the user.\n"}},"type":"object"}},"harness:index/userGroup:UserGroup":{"description":"Resource for creating a Harness user group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.UserGroup(\"example\", {\n    name: \"example-group\",\n    description: \"This group demonstrates account level and resource level permissions.\",\n    permissions: {\n        accountPermissions: [\n            \"ADMINISTER_OTHER_ACCOUNT_FUNCTIONS\",\n            \"MANAGE_API_KEYS\",\n        ],\n        appPermissions: {\n            alls: [{\n                actions: [\n                    \"CREATE\",\n                    \"READ\",\n                    \"UPDATE\",\n                    \"DELETE\",\n                ],\n            }],\n            deployments: [\n                {\n                    actions: [\n                        \"READ\",\n                        \"ROLLBACK_WORKFLOW\",\n                        \"EXECUTE_PIPELINE\",\n                        \"EXECUTE_WORKFLOW\",\n                    ],\n                    filters: [\"NON_PRODUCTION_ENVIRONMENTS\"],\n                },\n                {\n                    actions: [\"READ\"],\n                    filters: [\"PRODUCTION_ENVIRONMENTS\"],\n                },\n            ],\n            environments: [\n                {\n                    actions: [\n                        \"CREATE\",\n                        \"READ\",\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                    filters: [\"NON_PRODUCTION_ENVIRONMENTS\"],\n                },\n                {\n                    actions: [\"READ\"],\n                    filters: [\"PRODUCTION_ENVIRONMENTS\"],\n                },\n            ],\n            pipelines: [\n                {\n                    actions: [\n                        \"CREATE\",\n                        \"READ\",\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                    filters: [\"NON_PRODUCTION_PIPELINES\"],\n                },\n                {\n                    actions: [\"READ\"],\n                    filters: [\"PRODUCTION_PIPELINES\"],\n                },\n            ],\n            provisioners: [\n                {\n                    actions: [\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                },\n                {\n                    actions: [\n                        \"CREATE\",\n                        \"READ\",\n                    ],\n                },\n            ],\n            services: [\n                {\n                    actions: [\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                },\n                {\n                    actions: [\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                },\n            ],\n            templates: [{\n                actions: [\n                    \"CREATE\",\n                    \"READ\",\n                    \"UPDATE\",\n                    \"DELETE\",\n                ],\n            }],\n            workflows: [\n                {\n                    actions: [\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                    filters: [\"NON_PRODUCTION_WORKFLOWS\"],\n                },\n                {\n                    actions: [\n                        \"CREATE\",\n                        \"READ\",\n                    ],\n                    filters: [\n                        \"PRODUCTION_WORKFLOWS\",\n                        \"WORKFLOW_TEMPLATES\",\n                    ],\n                },\n            ],\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.UserGroup(\"example\",\n    name=\"example-group\",\n    description=\"This group demonstrates account level and resource level permissions.\",\n    permissions={\n        \"account_permissions\": [\n            \"ADMINISTER_OTHER_ACCOUNT_FUNCTIONS\",\n            \"MANAGE_API_KEYS\",\n        ],\n        \"app_permissions\": {\n            \"alls\": [{\n                \"actions\": [\n                    \"CREATE\",\n                    \"READ\",\n                    \"UPDATE\",\n                    \"DELETE\",\n                ],\n            }],\n            \"deployments\": [\n                {\n                    \"actions\": [\n                        \"READ\",\n                        \"ROLLBACK_WORKFLOW\",\n                        \"EXECUTE_PIPELINE\",\n                        \"EXECUTE_WORKFLOW\",\n                    ],\n                    \"filters\": [\"NON_PRODUCTION_ENVIRONMENTS\"],\n                },\n                {\n                    \"actions\": [\"READ\"],\n                    \"filters\": [\"PRODUCTION_ENVIRONMENTS\"],\n                },\n            ],\n            \"environments\": [\n                {\n                    \"actions\": [\n                        \"CREATE\",\n                        \"READ\",\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                    \"filters\": [\"NON_PRODUCTION_ENVIRONMENTS\"],\n                },\n                {\n                    \"actions\": [\"READ\"],\n                    \"filters\": [\"PRODUCTION_ENVIRONMENTS\"],\n                },\n            ],\n            \"pipelines\": [\n                {\n                    \"actions\": [\n                        \"CREATE\",\n                        \"READ\",\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                    \"filters\": [\"NON_PRODUCTION_PIPELINES\"],\n                },\n                {\n                    \"actions\": [\"READ\"],\n                    \"filters\": [\"PRODUCTION_PIPELINES\"],\n                },\n            ],\n            \"provisioners\": [\n                {\n                    \"actions\": [\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                },\n                {\n                    \"actions\": [\n                        \"CREATE\",\n                        \"READ\",\n                    ],\n                },\n            ],\n            \"services\": [\n                {\n                    \"actions\": [\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                },\n                {\n                    \"actions\": [\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                },\n            ],\n            \"templates\": [{\n                \"actions\": [\n                    \"CREATE\",\n                    \"READ\",\n                    \"UPDATE\",\n                    \"DELETE\",\n                ],\n            }],\n            \"workflows\": [\n                {\n                    \"actions\": [\n                        \"UPDATE\",\n                        \"DELETE\",\n                    ],\n                    \"filters\": [\"NON_PRODUCTION_WORKFLOWS\"],\n                },\n                {\n                    \"actions\": [\n                        \"CREATE\",\n                        \"READ\",\n                    ],\n                    \"filters\": [\n                        \"PRODUCTION_WORKFLOWS\",\n                        \"WORKFLOW_TEMPLATES\",\n                    ],\n                },\n            ],\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.UserGroup(\"example\", new()\n    {\n        Name = \"example-group\",\n        Description = \"This group demonstrates account level and resource level permissions.\",\n        Permissions = new Harness.Inputs.UserGroupPermissionsArgs\n        {\n            AccountPermissions = new[]\n            {\n                \"ADMINISTER_OTHER_ACCOUNT_FUNCTIONS\",\n                \"MANAGE_API_KEYS\",\n            },\n            AppPermissions = new Harness.Inputs.UserGroupPermissionsAppPermissionsArgs\n            {\n                Alls = new[]\n                {\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsAllArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"CREATE\",\n                            \"READ\",\n                            \"UPDATE\",\n                            \"DELETE\",\n                        },\n                    },\n                },\n                Deployments = new[]\n                {\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsDeploymentArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"READ\",\n                            \"ROLLBACK_WORKFLOW\",\n                            \"EXECUTE_PIPELINE\",\n                            \"EXECUTE_WORKFLOW\",\n                        },\n                        Filters = new[]\n                        {\n                            \"NON_PRODUCTION_ENVIRONMENTS\",\n                        },\n                    },\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsDeploymentArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"READ\",\n                        },\n                        Filters = new[]\n                        {\n                            \"PRODUCTION_ENVIRONMENTS\",\n                        },\n                    },\n                },\n                Environments = new[]\n                {\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsEnvironmentArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"CREATE\",\n                            \"READ\",\n                            \"UPDATE\",\n                            \"DELETE\",\n                        },\n                        Filters = new[]\n                        {\n                            \"NON_PRODUCTION_ENVIRONMENTS\",\n                        },\n                    },\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsEnvironmentArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"READ\",\n                        },\n                        Filters = new[]\n                        {\n                            \"PRODUCTION_ENVIRONMENTS\",\n                        },\n                    },\n                },\n                Pipelines = new[]\n                {\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsPipelineArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"CREATE\",\n                            \"READ\",\n                            \"UPDATE\",\n                            \"DELETE\",\n                        },\n                        Filters = new[]\n                        {\n                            \"NON_PRODUCTION_PIPELINES\",\n                        },\n                    },\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsPipelineArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"READ\",\n                        },\n                        Filters = new[]\n                        {\n                            \"PRODUCTION_PIPELINES\",\n                        },\n                    },\n                },\n                Provisioners = new[]\n                {\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsProvisionerArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"UPDATE\",\n                            \"DELETE\",\n                        },\n                    },\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsProvisionerArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"CREATE\",\n                            \"READ\",\n                        },\n                    },\n                },\n                Services = new[]\n                {\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsServiceArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"UPDATE\",\n                            \"DELETE\",\n                        },\n                    },\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsServiceArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"UPDATE\",\n                            \"DELETE\",\n                        },\n                    },\n                },\n                Templates = new[]\n                {\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsTemplateArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"CREATE\",\n                            \"READ\",\n                            \"UPDATE\",\n                            \"DELETE\",\n                        },\n                    },\n                },\n                Workflows = new[]\n                {\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsWorkflowArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"UPDATE\",\n                            \"DELETE\",\n                        },\n                        Filters = new[]\n                        {\n                            \"NON_PRODUCTION_WORKFLOWS\",\n                        },\n                    },\n                    new Harness.Inputs.UserGroupPermissionsAppPermissionsWorkflowArgs\n                    {\n                        Actions = new[]\n                        {\n                            \"CREATE\",\n                            \"READ\",\n                        },\n                        Filters = new[]\n                        {\n                            \"PRODUCTION_WORKFLOWS\",\n                            \"WORKFLOW_TEMPLATES\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := harness.NewUserGroup(ctx, \"example\", \u0026harness.UserGroupArgs{\n\t\t\tName:        pulumi.String(\"example-group\"),\n\t\t\tDescription: pulumi.String(\"This group demonstrates account level and resource level permissions.\"),\n\t\t\tPermissions: \u0026harness.UserGroupPermissionsTypeArgs{\n\t\t\t\tAccountPermissions: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"ADMINISTER_OTHER_ACCOUNT_FUNCTIONS\"),\n\t\t\t\t\tpulumi.String(\"MANAGE_API_KEYS\"),\n\t\t\t\t},\n\t\t\t\tAppPermissions: \u0026harness.UserGroupPermissionsAppPermissionsArgs{\n\t\t\t\t\tAlls: harness.UserGroupPermissionsAppPermissionsAllArray{\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsAllArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CREATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"UPDATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDeployments: harness.UserGroupPermissionsAppPermissionsDeploymentArray{\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsDeploymentArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"ROLLBACK_WORKFLOW\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"EXECUTE_PIPELINE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"EXECUTE_WORKFLOW\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"NON_PRODUCTION_ENVIRONMENTS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsDeploymentArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PRODUCTION_ENVIRONMENTS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tEnvironments: harness.UserGroupPermissionsAppPermissionsEnvironmentArray{\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsEnvironmentArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CREATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"UPDATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"NON_PRODUCTION_ENVIRONMENTS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsEnvironmentArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PRODUCTION_ENVIRONMENTS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tPipelines: harness.UserGroupPermissionsAppPermissionsPipelineArray{\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsPipelineArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CREATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"UPDATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"NON_PRODUCTION_PIPELINES\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsPipelineArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PRODUCTION_PIPELINES\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tProvisioners: harness.UserGroupPermissionsAppPermissionsProvisionerArray{\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsProvisionerArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"UPDATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsProvisionerArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CREATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tServices: harness.UserGroupPermissionsAppPermissionsServiceArray{\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsServiceArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"UPDATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsServiceArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"UPDATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTemplates: harness.UserGroupPermissionsAppPermissionsTemplateArray{\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsTemplateArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CREATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"UPDATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tWorkflows: harness.UserGroupPermissionsAppPermissionsWorkflowArray{\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsWorkflowArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"UPDATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"DELETE\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"NON_PRODUCTION_WORKFLOWS\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026harness.UserGroupPermissionsAppPermissionsWorkflowArgs{\n\t\t\t\t\t\t\tActions: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"CREATE\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"READ\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tFilters: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"PRODUCTION_WORKFLOWS\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"WORKFLOW_TEMPLATES\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.UserGroup;\nimport com.pulumi.harness.UserGroupArgs;\nimport com.pulumi.harness.inputs.UserGroupPermissionsArgs;\nimport com.pulumi.harness.inputs.UserGroupPermissionsAppPermissionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new UserGroup(\"example\", UserGroupArgs.builder()\n            .name(\"example-group\")\n            .description(\"This group demonstrates account level and resource level permissions.\")\n            .permissions(UserGroupPermissionsArgs.builder()\n                .accountPermissions(                \n                    \"ADMINISTER_OTHER_ACCOUNT_FUNCTIONS\",\n                    \"MANAGE_API_KEYS\")\n                .appPermissions(UserGroupPermissionsAppPermissionsArgs.builder()\n                    .alls(UserGroupPermissionsAppPermissionsAllArgs.builder()\n                        .actions(                        \n                            \"CREATE\",\n                            \"READ\",\n                            \"UPDATE\",\n                            \"DELETE\")\n                        .build())\n                    .deployments(                    \n                        UserGroupPermissionsAppPermissionsDeploymentArgs.builder()\n                            .actions(                            \n                                \"READ\",\n                                \"ROLLBACK_WORKFLOW\",\n                                \"EXECUTE_PIPELINE\",\n                                \"EXECUTE_WORKFLOW\")\n                            .filters(\"NON_PRODUCTION_ENVIRONMENTS\")\n                            .build(),\n                        UserGroupPermissionsAppPermissionsDeploymentArgs.builder()\n                            .actions(\"READ\")\n                            .filters(\"PRODUCTION_ENVIRONMENTS\")\n                            .build())\n                    .environments(                    \n                        UserGroupPermissionsAppPermissionsEnvironmentArgs.builder()\n                            .actions(                            \n                                \"CREATE\",\n                                \"READ\",\n                                \"UPDATE\",\n                                \"DELETE\")\n                            .filters(\"NON_PRODUCTION_ENVIRONMENTS\")\n                            .build(),\n                        UserGroupPermissionsAppPermissionsEnvironmentArgs.builder()\n                            .actions(\"READ\")\n                            .filters(\"PRODUCTION_ENVIRONMENTS\")\n                            .build())\n                    .pipelines(                    \n                        UserGroupPermissionsAppPermissionsPipelineArgs.builder()\n                            .actions(                            \n                                \"CREATE\",\n                                \"READ\",\n                                \"UPDATE\",\n                                \"DELETE\")\n                            .filters(\"NON_PRODUCTION_PIPELINES\")\n                            .build(),\n                        UserGroupPermissionsAppPermissionsPipelineArgs.builder()\n                            .actions(\"READ\")\n                            .filters(\"PRODUCTION_PIPELINES\")\n                            .build())\n                    .provisioners(                    \n                        UserGroupPermissionsAppPermissionsProvisionerArgs.builder()\n                            .actions(                            \n                                \"UPDATE\",\n                                \"DELETE\")\n                            .build(),\n                        UserGroupPermissionsAppPermissionsProvisionerArgs.builder()\n                            .actions(                            \n                                \"CREATE\",\n                                \"READ\")\n                            .build())\n                    .services(                    \n                        UserGroupPermissionsAppPermissionsServiceArgs.builder()\n                            .actions(                            \n                                \"UPDATE\",\n                                \"DELETE\")\n                            .build(),\n                        UserGroupPermissionsAppPermissionsServiceArgs.builder()\n                            .actions(                            \n                                \"UPDATE\",\n                                \"DELETE\")\n                            .build())\n                    .templates(UserGroupPermissionsAppPermissionsTemplateArgs.builder()\n                        .actions(                        \n                            \"CREATE\",\n                            \"READ\",\n                            \"UPDATE\",\n                            \"DELETE\")\n                        .build())\n                    .workflows(                    \n                        UserGroupPermissionsAppPermissionsWorkflowArgs.builder()\n                            .actions(                            \n                                \"UPDATE\",\n                                \"DELETE\")\n                            .filters(\"NON_PRODUCTION_WORKFLOWS\")\n                            .build(),\n                        UserGroupPermissionsAppPermissionsWorkflowArgs.builder()\n                            .actions(                            \n                                \"CREATE\",\n                                \"READ\")\n                            .filters(                            \n                                \"PRODUCTION_WORKFLOWS\",\n                                \"WORKFLOW_TEMPLATES\")\n                            .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:UserGroup\n    properties:\n      name: example-group\n      description: This group demonstrates account level and resource level permissions.\n      permissions:\n        accountPermissions:\n          - ADMINISTER_OTHER_ACCOUNT_FUNCTIONS\n          - MANAGE_API_KEYS\n        appPermissions:\n          alls:\n            - actions:\n                - CREATE\n                - READ\n                - UPDATE\n                - DELETE\n          deployments:\n            - actions:\n                - READ\n                - ROLLBACK_WORKFLOW\n                - EXECUTE_PIPELINE\n                - EXECUTE_WORKFLOW\n              filters:\n                - NON_PRODUCTION_ENVIRONMENTS\n            - actions:\n                - READ\n              filters:\n                - PRODUCTION_ENVIRONMENTS\n          environments:\n            - actions:\n                - CREATE\n                - READ\n                - UPDATE\n                - DELETE\n              filters:\n                - NON_PRODUCTION_ENVIRONMENTS\n            - actions:\n                - READ\n              filters:\n                - PRODUCTION_ENVIRONMENTS\n          pipelines:\n            - actions:\n                - CREATE\n                - READ\n                - UPDATE\n                - DELETE\n              filters:\n                - NON_PRODUCTION_PIPELINES\n            - actions:\n                - READ\n              filters:\n                - PRODUCTION_PIPELINES\n          provisioners:\n            - actions:\n                - UPDATE\n                - DELETE\n            - actions:\n                - CREATE\n                - READ\n          services:\n            - actions:\n                - UPDATE\n                - DELETE\n            - actions:\n                - UPDATE\n                - DELETE\n          templates:\n            - actions:\n                - CREATE\n                - READ\n                - UPDATE\n                - DELETE\n          workflows:\n            - actions:\n                - UPDATE\n                - DELETE\n              filters:\n                - NON_PRODUCTION_WORKFLOWS\n            - actions:\n                - CREATE\n                - READ\n              filters:\n                - PRODUCTION_WORKFLOWS\n                - WORKFLOW_TEMPLATES\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the id of the user group\n\n```sh\n$ pulumi import harness:index/userGroup:UserGroup example \u003cUSER_GROUP_ID\u003e\n```\n\n","properties":{"description":{"type":"string","description":"The description of the user group.\n"},"importedByScim":{"type":"boolean","description":"Indicates whether the user group was imported by SCIM.\n"},"isSsoLinked":{"type":"boolean","description":"Indicates whether the user group is linked to an SSO provider.\n"},"ldapSettings":{"$ref":"#/types/harness:index/UserGroupLdapSettings:UserGroupLdapSettings","description":"The LDAP settings for the user group.\n"},"name":{"type":"string","description":"The name of the user group.\n"},"notificationSettings":{"$ref":"#/types/harness:index/UserGroupNotificationSettings:UserGroupNotificationSettings","description":"The notification settings of the user group.\n"},"permissions":{"$ref":"#/types/harness:index/UserGroupPermissions:UserGroupPermissions","description":"The permissions of the user group.\n"},"samlSettings":{"$ref":"#/types/harness:index/UserGroupSamlSettings:UserGroupSamlSettings","description":"The SAML settings for the user group.\n"}},"required":["importedByScim","isSsoLinked","name"],"inputProperties":{"description":{"type":"string","description":"The description of the user group.\n","willReplaceOnChanges":true},"ldapSettings":{"$ref":"#/types/harness:index/UserGroupLdapSettings:UserGroupLdapSettings","description":"The LDAP settings for the user group.\n"},"name":{"type":"string","description":"The name of the user group.\n","willReplaceOnChanges":true},"notificationSettings":{"$ref":"#/types/harness:index/UserGroupNotificationSettings:UserGroupNotificationSettings","description":"The notification settings of the user group.\n"},"permissions":{"$ref":"#/types/harness:index/UserGroupPermissions:UserGroupPermissions","description":"The permissions of the user group.\n"},"samlSettings":{"$ref":"#/types/harness:index/UserGroupSamlSettings:UserGroupSamlSettings","description":"The SAML settings for the user group.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering UserGroup resources.\n","properties":{"description":{"type":"string","description":"The description of the user group.\n","willReplaceOnChanges":true},"importedByScim":{"type":"boolean","description":"Indicates whether the user group was imported by SCIM.\n"},"isSsoLinked":{"type":"boolean","description":"Indicates whether the user group is linked to an SSO provider.\n"},"ldapSettings":{"$ref":"#/types/harness:index/UserGroupLdapSettings:UserGroupLdapSettings","description":"The LDAP settings for the user group.\n"},"name":{"type":"string","description":"The name of the user group.\n","willReplaceOnChanges":true},"notificationSettings":{"$ref":"#/types/harness:index/UserGroupNotificationSettings:UserGroupNotificationSettings","description":"The notification settings of the user group.\n"},"permissions":{"$ref":"#/types/harness:index/UserGroupPermissions:UserGroupPermissions","description":"The permissions of the user group.\n"},"samlSettings":{"$ref":"#/types/harness:index/UserGroupSamlSettings:UserGroupSamlSettings","description":"The SAML settings for the user group.\n"}},"type":"object"}},"harness:index/userGroupPermissions:UserGroupPermissions":{"description":"Resource for adding permissions to an existing Harness user group.\n","properties":{"accountPermissions":{"type":"array","items":{"type":"string"},"description":"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\n"},"appPermissions":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissions:UserGroupPermissionsAppPermissions","description":"Application specific permissions\n"},"userGroupId":{"type":"string","description":"Unique identifier of the user group.\n"}},"required":["userGroupId"],"inputProperties":{"accountPermissions":{"type":"array","items":{"type":"string"},"description":"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\n"},"appPermissions":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissions:UserGroupPermissionsAppPermissions","description":"Application specific permissions\n"},"userGroupId":{"type":"string","description":"Unique identifier of the user group.\n"}},"requiredInputs":["userGroupId"],"stateInputs":{"description":"Input properties used for looking up and filtering UserGroupPermissions resources.\n","properties":{"accountPermissions":{"type":"array","items":{"type":"string"},"description":"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\n"},"appPermissions":{"$ref":"#/types/harness:index/UserGroupPermissionsAppPermissions:UserGroupPermissionsAppPermissions","description":"Application specific permissions\n"},"userGroupId":{"type":"string","description":"Unique identifier of the user group.\n"}},"type":"object"}},"harness:index/yamlConfig:YamlConfig":{"description":"Resource for creating a raw YAML configuration in Harness. Note: This works for all objects EXCEPT application objects. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.YamlConfig(\"test\", {\n    path: \"Setup/Cloud Providers/Kubernetes.yaml\",\n    content: `harnessApiVersion: '1.0'\ntype: KUBERNETES_CLUSTER\ndelegateSelectors:\n- k8s\nskipValidation: true\nuseKubernetesDelegate: true\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.YamlConfig(\"test\",\n    path=\"Setup/Cloud Providers/Kubernetes.yaml\",\n    content=\"\"\"harnessApiVersion: '1.0'\ntype: KUBERNETES_CLUSTER\ndelegateSelectors:\n- k8s\nskipValidation: true\nuseKubernetesDelegate: true\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.YamlConfig(\"test\", new()\n    {\n        Path = \"Setup/Cloud Providers/Kubernetes.yaml\",\n        Content = @\"harnessApiVersion: '1.0'\ntype: KUBERNETES_CLUSTER\ndelegateSelectors:\n- k8s\nskipValidation: true\nuseKubernetesDelegate: true\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := harness.NewYamlConfig(ctx, \"test\", \u0026harness.YamlConfigArgs{\n\t\t\tPath: pulumi.String(\"Setup/Cloud Providers/Kubernetes.yaml\"),\n\t\t\tContent: pulumi.String(`harnessApiVersion: '1.0'\ntype: KUBERNETES_CLUSTER\ndelegateSelectors:\n- k8s\nskipValidation: true\nuseKubernetesDelegate: true\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.YamlConfig;\nimport com.pulumi.harness.YamlConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new YamlConfig(\"test\", YamlConfigArgs.builder()\n            .path(\"Setup/Cloud Providers/Kubernetes.yaml\")\n            .content(\"\"\"\nharnessApiVersion: '1.0'\ntype: KUBERNETES_CLUSTER\ndelegateSelectors:\n- k8s\nskipValidation: true\nuseKubernetesDelegate: true\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:YamlConfig\n    properties:\n      path: Setup/Cloud Providers/Kubernetes.yaml\n      content: |\n        harnessApiVersion: '1.0'\n        type: KUBERNETES_CLUSTER\n        delegateSelectors:\n        - k8s\n        skipValidation: true\n        useKubernetesDelegate: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImporting a global config only using the yaml path\n\n```sh\nterraform import harness_yaml_config.k8s_cloudprovider \"Setup/Cloud Providers/kubernetes.yaml\"\n```\n\nImporting a service which requires both the application id and the yaml path.\n\n```sh\n$ pulumi import harness:index/yamlConfig:YamlConfig k8s_cloudprovider \"Setup/Applications/MyApp/Services/MyService/Index.yaml:\u003cAPPLICATION_ID\u003e\"\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application. This is required for all resources except global ones.\n"},"content":{"type":"string","description":"The raw YAML configuration.\n"},"name":{"type":"string","description":"The name of the resource.\n"},"path":{"type":"string","description":"The path of the resource.\n"}},"required":["content","name","path"],"inputProperties":{"appId":{"type":"string","description":"The id of the application. This is required for all resources except global ones.\n","willReplaceOnChanges":true},"content":{"type":"string","description":"The raw YAML configuration.\n"},"path":{"type":"string","description":"The path of the resource.\n","willReplaceOnChanges":true}},"requiredInputs":["content","path"],"stateInputs":{"description":"Input properties used for looking up and filtering YamlConfig resources.\n","properties":{"appId":{"type":"string","description":"The id of the application. This is required for all resources except global ones.\n","willReplaceOnChanges":true},"content":{"type":"string","description":"The raw YAML configuration.\n"},"name":{"type":"string","description":"The name of the resource.\n"},"path":{"type":"string","description":"The path of the resource.\n","willReplaceOnChanges":true}},"type":"object"}},"harness:platform/appDynamicsConnector:AppDynamicsConnector":{"description":"Resource for creating an App Dynamics connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Authentication mechanism as api token\nconst token = new harness.platform.AppDynamicsConnector(\"token\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://appdynamics.com/\",\n    accountName: \"myaccount\",\n    delegateSelectors: [\"harness-delegate\"],\n    apiToken: {\n        clientId: \"client_id\",\n        clientSecretRef: \"account.secret_id\",\n    },\n});\n// Authentication mechanism as username and password\nconst test = new harness.platform.AppDynamicsConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://appdynamics.com/\",\n    accountName: \"myaccount\",\n    delegateSelectors: [\"harness-delegate\"],\n    usernamePassword: {\n        username: \"username\",\n        passwordRef: \"account.secret_id\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Authentication mechanism as api token\ntoken = harness.platform.AppDynamicsConnector(\"token\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://appdynamics.com/\",\n    account_name=\"myaccount\",\n    delegate_selectors=[\"harness-delegate\"],\n    api_token={\n        \"client_id\": \"client_id\",\n        \"client_secret_ref\": \"account.secret_id\",\n    })\n# Authentication mechanism as username and password\ntest = harness.platform.AppDynamicsConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://appdynamics.com/\",\n    account_name=\"myaccount\",\n    delegate_selectors=[\"harness-delegate\"],\n    username_password={\n        \"username\": \"username\",\n        \"password_ref\": \"account.secret_id\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Authentication mechanism as api token\n    var token = new Harness.Platform.AppDynamicsConnector(\"token\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://appdynamics.com/\",\n        AccountName = \"myaccount\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        ApiToken = new Harness.Platform.Inputs.AppDynamicsConnectorApiTokenArgs\n        {\n            ClientId = \"client_id\",\n            ClientSecretRef = \"account.secret_id\",\n        },\n    });\n\n    // Authentication mechanism as username and password\n    var test = new Harness.Platform.AppDynamicsConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://appdynamics.com/\",\n        AccountName = \"myaccount\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        UsernamePassword = new Harness.Platform.Inputs.AppDynamicsConnectorUsernamePasswordArgs\n        {\n            Username = \"username\",\n            PasswordRef = \"account.secret_id\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Authentication mechanism as api token\n\t\t_, err := platform.NewAppDynamicsConnector(ctx, \"token\", \u0026platform.AppDynamicsConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl:         pulumi.String(\"https://appdynamics.com/\"),\n\t\t\tAccountName: pulumi.String(\"myaccount\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tApiToken: \u0026platform.AppDynamicsConnectorApiTokenArgs{\n\t\t\t\tClientId:        pulumi.String(\"client_id\"),\n\t\t\t\tClientSecretRef: pulumi.String(\"account.secret_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Authentication mechanism as username and password\n\t\t_, err = platform.NewAppDynamicsConnector(ctx, \"test\", \u0026platform.AppDynamicsConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl:         pulumi.String(\"https://appdynamics.com/\"),\n\t\t\tAccountName: pulumi.String(\"myaccount\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tUsernamePassword: \u0026platform.AppDynamicsConnectorUsernamePasswordArgs{\n\t\t\t\tUsername:    pulumi.String(\"username\"),\n\t\t\t\tPasswordRef: pulumi.String(\"account.secret_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.AppDynamicsConnector;\nimport com.pulumi.harness.platform.AppDynamicsConnectorArgs;\nimport com.pulumi.harness.platform.inputs.AppDynamicsConnectorApiTokenArgs;\nimport com.pulumi.harness.platform.inputs.AppDynamicsConnectorUsernamePasswordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Authentication mechanism as api token\n        var token = new AppDynamicsConnector(\"token\", AppDynamicsConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://appdynamics.com/\")\n            .accountName(\"myaccount\")\n            .delegateSelectors(\"harness-delegate\")\n            .apiToken(AppDynamicsConnectorApiTokenArgs.builder()\n                .clientId(\"client_id\")\n                .clientSecretRef(\"account.secret_id\")\n                .build())\n            .build());\n\n        // Authentication mechanism as username and password\n        var test = new AppDynamicsConnector(\"test\", AppDynamicsConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://appdynamics.com/\")\n            .accountName(\"myaccount\")\n            .delegateSelectors(\"harness-delegate\")\n            .usernamePassword(AppDynamicsConnectorUsernamePasswordArgs.builder()\n                .username(\"username\")\n                .passwordRef(\"account.secret_id\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Authentication mechanism as api token\n  token:\n    type: harness:platform:AppDynamicsConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://appdynamics.com/\n      accountName: myaccount\n      delegateSelectors:\n        - harness-delegate\n      apiToken:\n        clientId: client_id\n        clientSecretRef: account.secret_id\n  # Authentication mechanism as username and password\n  test:\n    type: harness:platform:AppDynamicsConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://appdynamics.com/\n      accountName: myaccount\n      delegateSelectors:\n        - harness-delegate\n      usernamePassword:\n        username: username\n        passwordRef: account.secret_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level appdynamics connector\n\n```sh\n$ pulumi import harness:platform/appDynamicsConnector:AppDynamicsConnector example \u003cconnector_id\u003e\n```\n\nImport org level appdynamics connector\n\n```sh\n$ pulumi import harness:platform/appDynamicsConnector:AppDynamicsConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level appdynamics connector\n\n```sh\n$ pulumi import harness:platform/appDynamicsConnector:AppDynamicsConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"accountName":{"type":"string","description":"The App Dynamics account name.\n"},"apiToken":{"$ref":"#/types/harness:platform/AppDynamicsConnectorApiToken:AppDynamicsConnectorApiToken","description":"Authenticate to App Dynamics using api token.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the App Dynamics controller.\n"},"usernamePassword":{"$ref":"#/types/harness:platform/AppDynamicsConnectorUsernamePassword:AppDynamicsConnectorUsernamePassword","description":"Authenticate to App Dynamics using username and password.\n"}},"required":["accountName","identifier","name","url"],"inputProperties":{"accountName":{"type":"string","description":"The App Dynamics account name.\n"},"apiToken":{"$ref":"#/types/harness:platform/AppDynamicsConnectorApiToken:AppDynamicsConnectorApiToken","description":"Authenticate to App Dynamics using api token.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the App Dynamics controller.\n"},"usernamePassword":{"$ref":"#/types/harness:platform/AppDynamicsConnectorUsernamePassword:AppDynamicsConnectorUsernamePassword","description":"Authenticate to App Dynamics using username and password.\n"}},"requiredInputs":["accountName","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering AppDynamicsConnector resources.\n","properties":{"accountName":{"type":"string","description":"The App Dynamics account name.\n"},"apiToken":{"$ref":"#/types/harness:platform/AppDynamicsConnectorApiToken:AppDynamicsConnectorApiToken","description":"Authenticate to App Dynamics using api token.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the App Dynamics controller.\n"},"usernamePassword":{"$ref":"#/types/harness:platform/AppDynamicsConnectorUsernamePassword:AppDynamicsConnectorUsernamePassword","description":"Authenticate to App Dynamics using username and password.\n"}},"type":"object"}},"harness:platform/artifactoryConnector:ArtifactoryConnector":{"description":"Resource for creating an Artifactory connector.\n\n## Example to create Artifactory Connector at different levels (Org, Project, Account)\n\n### Account Level\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Authentication mechanism as username and password\nconst example = new harness.platform.ArtifactoryConnector(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://artifactory.example.com\",\n    delegateSelectors: [\"harness-delegate\"],\n    credentials: {\n        username: \"admin\",\n        passwordRef: \"account.secret_id\",\n    },\n});\n// Authentication mechanism as anonymous\nconst test = new harness.platform.ArtifactoryConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://artifactory.example.com\",\n    delegateSelectors: [\"harness-delegate\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Authentication mechanism as username and password\nexample = harness.platform.ArtifactoryConnector(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://artifactory.example.com\",\n    delegate_selectors=[\"harness-delegate\"],\n    credentials={\n        \"username\": \"admin\",\n        \"password_ref\": \"account.secret_id\",\n    })\n# Authentication mechanism as anonymous\ntest = harness.platform.ArtifactoryConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://artifactory.example.com\",\n    delegate_selectors=[\"harness-delegate\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Authentication mechanism as username and password\n    var example = new Harness.Platform.ArtifactoryConnector(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://artifactory.example.com\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        Credentials = new Harness.Platform.Inputs.ArtifactoryConnectorCredentialsArgs\n        {\n            Username = \"admin\",\n            PasswordRef = \"account.secret_id\",\n        },\n    });\n\n    // Authentication mechanism as anonymous\n    var test = new Harness.Platform.ArtifactoryConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://artifactory.example.com\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Authentication mechanism as username and password\n\t\t_, err := platform.NewArtifactoryConnector(ctx, \"example\", \u0026platform.ArtifactoryConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://artifactory.example.com\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.ArtifactoryConnectorCredentialsArgs{\n\t\t\t\tUsername:    pulumi.String(\"admin\"),\n\t\t\t\tPasswordRef: pulumi.String(\"account.secret_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Authentication mechanism as anonymous\n\t\t_, err = platform.NewArtifactoryConnector(ctx, \"test\", \u0026platform.ArtifactoryConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://artifactory.example.com\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.ArtifactoryConnector;\nimport com.pulumi.harness.platform.ArtifactoryConnectorArgs;\nimport com.pulumi.harness.platform.inputs.ArtifactoryConnectorCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Authentication mechanism as username and password\n        var example = new ArtifactoryConnector(\"example\", ArtifactoryConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://artifactory.example.com\")\n            .delegateSelectors(\"harness-delegate\")\n            .credentials(ArtifactoryConnectorCredentialsArgs.builder()\n                .username(\"admin\")\n                .passwordRef(\"account.secret_id\")\n                .build())\n            .build());\n\n        // Authentication mechanism as anonymous\n        var test = new ArtifactoryConnector(\"test\", ArtifactoryConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://artifactory.example.com\")\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Authentication mechanism as username and password\n  example:\n    type: harness:platform:ArtifactoryConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://artifactory.example.com\n      delegateSelectors:\n        - harness-delegate\n      credentials:\n        username: admin\n        passwordRef: account.secret_id\n  # Authentication mechanism as anonymous\n  test:\n    type: harness:platform:ArtifactoryConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://artifactory.example.com\n      delegateSelectors:\n        - harness-delegate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Org Level\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Authentication mechanism as username and password\nconst example = new harness.platform.ArtifactoryConnector(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    orgId: testHarnessPlatformProject.orgId,\n    url: \"https://artifactory.example.com\",\n    delegateSelectors: [\"harness-delegate\"],\n    credentials: {\n        username: \"admin\",\n        passwordRef: \"account.secret_id\",\n    },\n});\n// Authentication mechanism as anonymous\nconst test = new harness.platform.ArtifactoryConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    orgId: testHarnessPlatformProject.orgId,\n    url: \"https://artifactory.example.com\",\n    delegateSelectors: [\"harness-delegate\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Authentication mechanism as username and password\nexample = harness.platform.ArtifactoryConnector(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    org_id=test_harness_platform_project[\"orgId\"],\n    url=\"https://artifactory.example.com\",\n    delegate_selectors=[\"harness-delegate\"],\n    credentials={\n        \"username\": \"admin\",\n        \"password_ref\": \"account.secret_id\",\n    })\n# Authentication mechanism as anonymous\ntest = harness.platform.ArtifactoryConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    org_id=test_harness_platform_project[\"orgId\"],\n    url=\"https://artifactory.example.com\",\n    delegate_selectors=[\"harness-delegate\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Authentication mechanism as username and password\n    var example = new Harness.Platform.ArtifactoryConnector(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        OrgId = testHarnessPlatformProject.OrgId,\n        Url = \"https://artifactory.example.com\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        Credentials = new Harness.Platform.Inputs.ArtifactoryConnectorCredentialsArgs\n        {\n            Username = \"admin\",\n            PasswordRef = \"account.secret_id\",\n        },\n    });\n\n    // Authentication mechanism as anonymous\n    var test = new Harness.Platform.ArtifactoryConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        OrgId = testHarnessPlatformProject.OrgId,\n        Url = \"https://artifactory.example.com\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Authentication mechanism as username and password\n\t\t_, err := platform.NewArtifactoryConnector(ctx, \"example\", \u0026platform.ArtifactoryConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tOrgId: pulumi.Any(testHarnessPlatformProject.OrgId),\n\t\t\tUrl:   pulumi.String(\"https://artifactory.example.com\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.ArtifactoryConnectorCredentialsArgs{\n\t\t\t\tUsername:    pulumi.String(\"admin\"),\n\t\t\t\tPasswordRef: pulumi.String(\"account.secret_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Authentication mechanism as anonymous\n\t\t_, err = platform.NewArtifactoryConnector(ctx, \"test\", \u0026platform.ArtifactoryConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tOrgId: pulumi.Any(testHarnessPlatformProject.OrgId),\n\t\t\tUrl:   pulumi.String(\"https://artifactory.example.com\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.ArtifactoryConnector;\nimport com.pulumi.harness.platform.ArtifactoryConnectorArgs;\nimport com.pulumi.harness.platform.inputs.ArtifactoryConnectorCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Authentication mechanism as username and password\n        var example = new ArtifactoryConnector(\"example\", ArtifactoryConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .orgId(testHarnessPlatformProject.orgId())\n            .url(\"https://artifactory.example.com\")\n            .delegateSelectors(\"harness-delegate\")\n            .credentials(ArtifactoryConnectorCredentialsArgs.builder()\n                .username(\"admin\")\n                .passwordRef(\"account.secret_id\")\n                .build())\n            .build());\n\n        // Authentication mechanism as anonymous\n        var test = new ArtifactoryConnector(\"test\", ArtifactoryConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .orgId(testHarnessPlatformProject.orgId())\n            .url(\"https://artifactory.example.com\")\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Authentication mechanism as username and password\n  example:\n    type: harness:platform:ArtifactoryConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      orgId: ${testHarnessPlatformProject.orgId}\n      url: https://artifactory.example.com\n      delegateSelectors:\n        - harness-delegate\n      credentials:\n        username: admin\n        passwordRef: account.secret_id\n  # Authentication mechanism as anonymous\n  test:\n    type: harness:platform:ArtifactoryConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      orgId: ${testHarnessPlatformProject.orgId}\n      url: https://artifactory.example.com\n      delegateSelectors:\n        - harness-delegate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### Project Level\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Authentication mechanism as username and password\nconst example = new harness.platform.ArtifactoryConnector(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    orgId: testHarnessPlatformProject.orgId,\n    projectId: testHarnessPlatformProject.id,\n    url: \"https://artifactory.example.com\",\n    delegateSelectors: [\"harness-delegate\"],\n    credentials: {\n        username: \"admin\",\n        passwordRef: \"account.secret_id\",\n    },\n});\n// Authentication mechanism as anonymous\nconst test = new harness.platform.ArtifactoryConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    orgId: testHarnessPlatformProject.orgId,\n    projectId: testHarnessPlatformProject.id,\n    url: \"https://artifactory.example.com\",\n    delegateSelectors: [\"harness-delegate\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Authentication mechanism as username and password\nexample = harness.platform.ArtifactoryConnector(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    org_id=test_harness_platform_project[\"orgId\"],\n    project_id=test_harness_platform_project[\"id\"],\n    url=\"https://artifactory.example.com\",\n    delegate_selectors=[\"harness-delegate\"],\n    credentials={\n        \"username\": \"admin\",\n        \"password_ref\": \"account.secret_id\",\n    })\n# Authentication mechanism as anonymous\ntest = harness.platform.ArtifactoryConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    org_id=test_harness_platform_project[\"orgId\"],\n    project_id=test_harness_platform_project[\"id\"],\n    url=\"https://artifactory.example.com\",\n    delegate_selectors=[\"harness-delegate\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Authentication mechanism as username and password\n    var example = new Harness.Platform.ArtifactoryConnector(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        OrgId = testHarnessPlatformProject.OrgId,\n        ProjectId = testHarnessPlatformProject.Id,\n        Url = \"https://artifactory.example.com\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        Credentials = new Harness.Platform.Inputs.ArtifactoryConnectorCredentialsArgs\n        {\n            Username = \"admin\",\n            PasswordRef = \"account.secret_id\",\n        },\n    });\n\n    // Authentication mechanism as anonymous\n    var test = new Harness.Platform.ArtifactoryConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        OrgId = testHarnessPlatformProject.OrgId,\n        ProjectId = testHarnessPlatformProject.Id,\n        Url = \"https://artifactory.example.com\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Authentication mechanism as username and password\n\t\t_, err := platform.NewArtifactoryConnector(ctx, \"example\", \u0026platform.ArtifactoryConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tOrgId:     pulumi.Any(testHarnessPlatformProject.OrgId),\n\t\t\tProjectId: pulumi.Any(testHarnessPlatformProject.Id),\n\t\t\tUrl:       pulumi.String(\"https://artifactory.example.com\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.ArtifactoryConnectorCredentialsArgs{\n\t\t\t\tUsername:    pulumi.String(\"admin\"),\n\t\t\t\tPasswordRef: pulumi.String(\"account.secret_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Authentication mechanism as anonymous\n\t\t_, err = platform.NewArtifactoryConnector(ctx, \"test\", \u0026platform.ArtifactoryConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tOrgId:     pulumi.Any(testHarnessPlatformProject.OrgId),\n\t\t\tProjectId: pulumi.Any(testHarnessPlatformProject.Id),\n\t\t\tUrl:       pulumi.String(\"https://artifactory.example.com\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.ArtifactoryConnector;\nimport com.pulumi.harness.platform.ArtifactoryConnectorArgs;\nimport com.pulumi.harness.platform.inputs.ArtifactoryConnectorCredentialsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Authentication mechanism as username and password\n        var example = new ArtifactoryConnector(\"example\", ArtifactoryConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .orgId(testHarnessPlatformProject.orgId())\n            .projectId(testHarnessPlatformProject.id())\n            .url(\"https://artifactory.example.com\")\n            .delegateSelectors(\"harness-delegate\")\n            .credentials(ArtifactoryConnectorCredentialsArgs.builder()\n                .username(\"admin\")\n                .passwordRef(\"account.secret_id\")\n                .build())\n            .build());\n\n        // Authentication mechanism as anonymous\n        var test = new ArtifactoryConnector(\"test\", ArtifactoryConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .orgId(testHarnessPlatformProject.orgId())\n            .projectId(testHarnessPlatformProject.id())\n            .url(\"https://artifactory.example.com\")\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Authentication mechanism as username and password\n  example:\n    type: harness:platform:ArtifactoryConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      orgId: ${testHarnessPlatformProject.orgId}\n      projectId: ${testHarnessPlatformProject.id}\n      url: https://artifactory.example.com\n      delegateSelectors:\n        - harness-delegate\n      credentials:\n        username: admin\n        passwordRef: account.secret_id\n  # Authentication mechanism as anonymous\n  test:\n    type: harness:platform:ArtifactoryConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      orgId: ${testHarnessPlatformProject.orgId}\n      projectId: ${testHarnessPlatformProject.id}\n      url: https://artifactory.example.com\n      delegateSelectors:\n        - harness-delegate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level artifactory connector\n\n```sh\n$ pulumi import harness:platform/artifactoryConnector:ArtifactoryConnector example \u003cconnector_id\u003e\n```\n\nImport org level artifactory connector\n\n```sh\n$ pulumi import harness:platform/artifactoryConnector:ArtifactoryConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level artifactory connector\n\n```sh\n$ pulumi import harness:platform/artifactoryConnector:ArtifactoryConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"credentials":{"$ref":"#/types/harness:platform/ArtifactoryConnectorCredentials:ArtifactoryConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Artifactory server.\n"}},"required":["identifier","name","url"],"inputProperties":{"credentials":{"$ref":"#/types/harness:platform/ArtifactoryConnectorCredentials:ArtifactoryConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Artifactory server.\n"}},"requiredInputs":["identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering ArtifactoryConnector resources.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/ArtifactoryConnectorCredentials:ArtifactoryConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Artifactory server.\n"}},"type":"object"}},"harness:platform/awsCCConnector:AwsCCConnector":{"description":"Resource for creating an AWS Cloud Cost connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.AwsCCConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    accountId: \"account_id\",\n    reportName: \"report_name\",\n    s3Bucket: \"s3bucket\",\n    featuresEnableds: [\n        \"OPTIMIZATION\",\n        \"VISIBILITY\",\n        \"BILLING\",\n    ],\n    crossAccountAccess: {\n        roleArn: \"role_arn\",\n        externalId: \"external_id\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.AwsCCConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    account_id=\"account_id\",\n    report_name=\"report_name\",\n    s3_bucket=\"s3bucket\",\n    features_enableds=[\n        \"OPTIMIZATION\",\n        \"VISIBILITY\",\n        \"BILLING\",\n    ],\n    cross_account_access={\n        \"role_arn\": \"role_arn\",\n        \"external_id\": \"external_id\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.AwsCCConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        AccountId = \"account_id\",\n        ReportName = \"report_name\",\n        S3Bucket = \"s3bucket\",\n        FeaturesEnableds = new[]\n        {\n            \"OPTIMIZATION\",\n            \"VISIBILITY\",\n            \"BILLING\",\n        },\n        CrossAccountAccess = new Harness.Platform.Inputs.AwsCCConnectorCrossAccountAccessArgs\n        {\n            RoleArn = \"role_arn\",\n            ExternalId = \"external_id\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewAwsCCConnector(ctx, \"test\", \u0026platform.AwsCCConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tAccountId:  pulumi.String(\"account_id\"),\n\t\t\tReportName: pulumi.String(\"report_name\"),\n\t\t\tS3Bucket:   pulumi.String(\"s3bucket\"),\n\t\t\tFeaturesEnableds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"OPTIMIZATION\"),\n\t\t\t\tpulumi.String(\"VISIBILITY\"),\n\t\t\t\tpulumi.String(\"BILLING\"),\n\t\t\t},\n\t\t\tCrossAccountAccess: \u0026platform.AwsCCConnectorCrossAccountAccessArgs{\n\t\t\t\tRoleArn:    pulumi.String(\"role_arn\"),\n\t\t\t\tExternalId: pulumi.String(\"external_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.AwsCCConnector;\nimport com.pulumi.harness.platform.AwsCCConnectorArgs;\nimport com.pulumi.harness.platform.inputs.AwsCCConnectorCrossAccountAccessArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new AwsCCConnector(\"test\", AwsCCConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .accountId(\"account_id\")\n            .reportName(\"report_name\")\n            .s3Bucket(\"s3bucket\")\n            .featuresEnableds(            \n                \"OPTIMIZATION\",\n                \"VISIBILITY\",\n                \"BILLING\")\n            .crossAccountAccess(AwsCCConnectorCrossAccountAccessArgs.builder()\n                .roleArn(\"role_arn\")\n                .externalId(\"external_id\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:AwsCCConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      accountId: account_id\n      reportName: report_name\n      s3Bucket: s3bucket\n      featuresEnableds:\n        - OPTIMIZATION\n        - VISIBILITY\n        - BILLING\n      crossAccountAccess:\n        roleArn: role_arn\n        externalId: external_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level aws cloud cost connector\n\n```sh\n$ pulumi import harness:platform/awsCCConnector:AwsCCConnector example \u003cconnector_id\u003e\n```\n\nImport org level aws cloud cost connector\n\n```sh\n$ pulumi import harness:platform/awsCCConnector:AwsCCConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level aws cloud cost connector\n\n```sh\n$ pulumi import harness:platform/awsCCConnector:AwsCCConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"The AWS account id.\n"},"crossAccountAccess":{"$ref":"#/types/harness:platform/AwsCCConnectorCrossAccountAccess:AwsCCConnectorCrossAccountAccess","description":"Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY, GOVERNANCE.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"reportName":{"type":"string","description":"The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.\n"},"s3Bucket":{"type":"string","description":"The name of s3 bucket.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["accountId","crossAccountAccess","featuresEnableds","identifier","name"],"inputProperties":{"accountId":{"type":"string","description":"The AWS account id.\n"},"crossAccountAccess":{"$ref":"#/types/harness:platform/AwsCCConnectorCrossAccountAccess:AwsCCConnectorCrossAccountAccess","description":"Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY, GOVERNANCE.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"reportName":{"type":"string","description":"The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.\n"},"s3Bucket":{"type":"string","description":"The name of s3 bucket.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["accountId","crossAccountAccess","featuresEnableds","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering AwsCCConnector resources.\n","properties":{"accountId":{"type":"string","description":"The AWS account id.\n"},"crossAccountAccess":{"$ref":"#/types/harness:platform/AwsCCConnectorCrossAccountAccess:AwsCCConnectorCrossAccountAccess","description":"Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY, GOVERNANCE.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"reportName":{"type":"string","description":"The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.\n"},"s3Bucket":{"type":"string","description":"The name of s3 bucket.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/awsConnector:AwsConnector":{"description":"Resource for creating an AWS connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level aws connector\n\n```sh\n$ pulumi import harness:platform/awsConnector:AwsConnector example \u003cconnector_id\u003e\n```\n\nImport organization level aws connector\n\n```sh\n$ pulumi import harness:platform/awsConnector:AwsConnector example \u003corganization_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level aws connector\n\n```sh\n$ pulumi import harness:platform/awsConnector:AwsConnector example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"crossAccountAccess":{"$ref":"#/types/harness:platform/AwsConnectorCrossAccountAccess:AwsConnectorCrossAccountAccess","description":"Select this option if you want to use one AWS account for the connection, but you want to deploy or build in a different AWS account. In this scenario, the AWS account used for AWS access in Credentials will assume the IAM role you specify in Cross-account role ARN setting. This option uses the AWS Security Token Service (STS) feature.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"equalJitterBackoffStrategy":{"$ref":"#/types/harness:platform/AwsConnectorEqualJitterBackoffStrategy:AwsConnectorEqualJitterBackoffStrategy","description":"Equal Jitter BackOff Strategy.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on Delegate\n"},"fixedDelayBackoffStrategy":{"$ref":"#/types/harness:platform/AwsConnectorFixedDelayBackoffStrategy:AwsConnectorFixedDelayBackoffStrategy","description":"Fixed Delay BackOff Strategy.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"fullJitterBackoffStrategy":{"$ref":"#/types/harness:platform/AwsConnectorFullJitterBackoffStrategy:AwsConnectorFullJitterBackoffStrategy","description":"Full Jitter BackOff Strategy.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"inheritFromDelegate":{"$ref":"#/types/harness:platform/AwsConnectorInheritFromDelegate:AwsConnectorInheritFromDelegate","description":"Inherit credentials from the delegate.\n"},"irsa":{"$ref":"#/types/harness:platform/AwsConnectorIrsa:AwsConnectorIrsa","description":"Use IAM role for service accounts.\n"},"manual":{"$ref":"#/types/harness:platform/AwsConnectorManual:AwsConnectorManual","description":"Use IAM role for service accounts.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentication":{"$ref":"#/types/harness:platform/AwsConnectorOidcAuthentication:AwsConnectorOidcAuthentication","description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["forceDelete","identifier","name"],"inputProperties":{"crossAccountAccess":{"$ref":"#/types/harness:platform/AwsConnectorCrossAccountAccess:AwsConnectorCrossAccountAccess","description":"Select this option if you want to use one AWS account for the connection, but you want to deploy or build in a different AWS account. In this scenario, the AWS account used for AWS access in Credentials will assume the IAM role you specify in Cross-account role ARN setting. This option uses the AWS Security Token Service (STS) feature.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"equalJitterBackoffStrategy":{"$ref":"#/types/harness:platform/AwsConnectorEqualJitterBackoffStrategy:AwsConnectorEqualJitterBackoffStrategy","description":"Equal Jitter BackOff Strategy.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on Delegate\n"},"fixedDelayBackoffStrategy":{"$ref":"#/types/harness:platform/AwsConnectorFixedDelayBackoffStrategy:AwsConnectorFixedDelayBackoffStrategy","description":"Fixed Delay BackOff Strategy.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"fullJitterBackoffStrategy":{"$ref":"#/types/harness:platform/AwsConnectorFullJitterBackoffStrategy:AwsConnectorFullJitterBackoffStrategy","description":"Full Jitter BackOff Strategy.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"inheritFromDelegate":{"$ref":"#/types/harness:platform/AwsConnectorInheritFromDelegate:AwsConnectorInheritFromDelegate","description":"Inherit credentials from the delegate.\n"},"irsa":{"$ref":"#/types/harness:platform/AwsConnectorIrsa:AwsConnectorIrsa","description":"Use IAM role for service accounts.\n"},"manual":{"$ref":"#/types/harness:platform/AwsConnectorManual:AwsConnectorManual","description":"Use IAM role for service accounts.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentication":{"$ref":"#/types/harness:platform/AwsConnectorOidcAuthentication:AwsConnectorOidcAuthentication","description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering AwsConnector resources.\n","properties":{"crossAccountAccess":{"$ref":"#/types/harness:platform/AwsConnectorCrossAccountAccess:AwsConnectorCrossAccountAccess","description":"Select this option if you want to use one AWS account for the connection, but you want to deploy or build in a different AWS account. In this scenario, the AWS account used for AWS access in Credentials will assume the IAM role you specify in Cross-account role ARN setting. This option uses the AWS Security Token Service (STS) feature.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"equalJitterBackoffStrategy":{"$ref":"#/types/harness:platform/AwsConnectorEqualJitterBackoffStrategy:AwsConnectorEqualJitterBackoffStrategy","description":"Equal Jitter BackOff Strategy.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on Delegate\n"},"fixedDelayBackoffStrategy":{"$ref":"#/types/harness:platform/AwsConnectorFixedDelayBackoffStrategy:AwsConnectorFixedDelayBackoffStrategy","description":"Fixed Delay BackOff Strategy.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"fullJitterBackoffStrategy":{"$ref":"#/types/harness:platform/AwsConnectorFullJitterBackoffStrategy:AwsConnectorFullJitterBackoffStrategy","description":"Full Jitter BackOff Strategy.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"inheritFromDelegate":{"$ref":"#/types/harness:platform/AwsConnectorInheritFromDelegate:AwsConnectorInheritFromDelegate","description":"Inherit credentials from the delegate.\n"},"irsa":{"$ref":"#/types/harness:platform/AwsConnectorIrsa:AwsConnectorIrsa","description":"Use IAM role for service accounts.\n"},"manual":{"$ref":"#/types/harness:platform/AwsConnectorManual:AwsConnectorManual","description":"Use IAM role for service accounts.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentication":{"$ref":"#/types/harness:platform/AwsConnectorOidcAuthentication:AwsConnectorOidcAuthentication","description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/awsKmsConnector:AwsKmsConnector":{"description":"Resource for creating an AWS KMS connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level awskms connector\n\n```sh\n$ pulumi import harness:platform/awsKmsConnector:AwsKmsConnector example \u003cconnector_id\u003e\n```\n\nImport org level awskms connector\n\n```sh\n$ pulumi import harness:platform/awsKmsConnector:AwsKmsConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level awskms connector\n\n```sh\n$ pulumi import harness:platform/awsKmsConnector:AwsKmsConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"arnPlaintext":{"type":"string","description":"A reference to the Harness secret containing the ARN of the AWS KMS.\n"},"arnRef":{"type":"string","description":"A reference to the Harness secret containing the ARN of the AWS KMS. 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}.\n"},"credentials":{"$ref":"#/types/harness:platform/AwsKmsConnectorCredentials:AwsKmsConnectorCredentials","description":"Credentials to connect to AWS.\n"},"default":{"type":"boolean","description":"Set this connector as the default for all the services.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute the command on the delegate.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"region":{"type":"string","description":"The AWS region where the AWS Secret Manager is.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["credentials","identifier","name","region"],"inputProperties":{"arnPlaintext":{"type":"string","description":"A reference to the Harness secret containing the ARN of the AWS KMS.\n"},"arnRef":{"type":"string","description":"A reference to the Harness secret containing the ARN of the AWS KMS. 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}.\n"},"credentials":{"$ref":"#/types/harness:platform/AwsKmsConnectorCredentials:AwsKmsConnectorCredentials","description":"Credentials to connect to AWS.\n"},"default":{"type":"boolean","description":"Set this connector as the default for all the services.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute the command on the delegate.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"region":{"type":"string","description":"The AWS region where the AWS Secret Manager is.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["credentials","identifier","region"],"stateInputs":{"description":"Input properties used for looking up and filtering AwsKmsConnector resources.\n","properties":{"arnPlaintext":{"type":"string","description":"A reference to the Harness secret containing the ARN of the AWS KMS.\n"},"arnRef":{"type":"string","description":"A reference to the Harness secret containing the ARN of the AWS KMS. 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}.\n"},"credentials":{"$ref":"#/types/harness:platform/AwsKmsConnectorCredentials:AwsKmsConnectorCredentials","description":"Credentials to connect to AWS.\n"},"default":{"type":"boolean","description":"Set this connector as the default for all the services.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute the command on the delegate.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"region":{"type":"string","description":"The AWS region where the AWS Secret Manager is.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/awsSecretManagerConnector:AwsSecretManagerConnector":{"description":"Resource for creating an AWS Secret Manager connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level aws secret manager connector\n\n```sh\n$ pulumi import harness:platform/awsSecretManagerConnector:AwsSecretManagerConnector example \u003cconnector_id\u003e\n```\n\nImport org level aws secret manager connector\n\n```sh\n$ pulumi import harness:platform/awsSecretManagerConnector:AwsSecretManagerConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level aws secret manager connector\n\n```sh\n$ pulumi import harness:platform/awsSecretManagerConnector:AwsSecretManagerConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"credentials":{"$ref":"#/types/harness:platform/AwsSecretManagerConnectorCredentials:AwsSecretManagerConnectorCredentials","description":"Credentials to connect to AWS.\n"},"default":{"type":"boolean","description":"Use as Default Secrets Manager.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Run the operation on the delegate or harness platform.\n"},"forceDeleteWithoutRecovery":{"type":"boolean","description":"Whether to force delete secret value or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"recoveryWindowInDays":{"type":"integer","description":"Recovery duration in days in AWS Secrets Manager.\n"},"region":{"type":"string","description":"The AWS region where the AWS Secret Manager is.\n"},"secretNamePrefix":{"type":"string","description":"A prefix to be added to all secrets.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"usePutSecret":{"type":"boolean","description":"Whether to update secret value using putSecretValue action.\n"}},"required":["credentials","identifier","name","region"],"inputProperties":{"credentials":{"$ref":"#/types/harness:platform/AwsSecretManagerConnectorCredentials:AwsSecretManagerConnectorCredentials","description":"Credentials to connect to AWS.\n"},"default":{"type":"boolean","description":"Use as Default Secrets Manager.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Run the operation on the delegate or harness platform.\n"},"forceDeleteWithoutRecovery":{"type":"boolean","description":"Whether to force delete secret value or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"recoveryWindowInDays":{"type":"integer","description":"Recovery duration in days in AWS Secrets Manager.\n"},"region":{"type":"string","description":"The AWS region where the AWS Secret Manager is.\n"},"secretNamePrefix":{"type":"string","description":"A prefix to be added to all secrets.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"usePutSecret":{"type":"boolean","description":"Whether to update secret value using putSecretValue action.\n"}},"requiredInputs":["credentials","identifier","region"],"stateInputs":{"description":"Input properties used for looking up and filtering AwsSecretManagerConnector resources.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/AwsSecretManagerConnectorCredentials:AwsSecretManagerConnectorCredentials","description":"Credentials to connect to AWS.\n"},"default":{"type":"boolean","description":"Use as Default Secrets Manager.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Run the operation on the delegate or harness platform.\n"},"forceDeleteWithoutRecovery":{"type":"boolean","description":"Whether to force delete secret value or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"recoveryWindowInDays":{"type":"integer","description":"Recovery duration in days in AWS Secrets Manager.\n"},"region":{"type":"string","description":"The AWS region where the AWS Secret Manager is.\n"},"secretNamePrefix":{"type":"string","description":"A prefix to be added to all secrets.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"usePutSecret":{"type":"boolean","description":"Whether to update secret value using putSecretValue action.\n"}},"type":"object"}},"harness:platform/azureCloudCostConnector:AzureCloudCostConnector":{"description":"Resource for creating an Azure Cloud Cost connector in Harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.AzureCloudCostConnector(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    featuresEnableds: [\n        \"BILLING\",\n        \"VISIBILITY\",\n        \"OPTIMIZATION\",\n        \"GOVERNANCE\",\n    ],\n    tenantId: \"tenant_id\",\n    subscriptionId: \"subscription_id\",\n    billingExportSpec: {\n        storageAccountName: \"storage_account_name\",\n        containerName: \"container_name\",\n        directoryName: \"directory_name\",\n        reportName: \"report_name\",\n        subscriptionId: \"subscription_id\",\n        billingType: \"billing_type\",\n    },\n    billingExportSpec2: {\n        storageAccountName: \"storage_account_name\",\n        containerName: \"container_name\",\n        directoryName: \"directory_name\",\n        reportName: \"report_name\",\n        subscriptionId: \"subscription_id\",\n        billingType: \"billing_type\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.AzureCloudCostConnector(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    features_enableds=[\n        \"BILLING\",\n        \"VISIBILITY\",\n        \"OPTIMIZATION\",\n        \"GOVERNANCE\",\n    ],\n    tenant_id=\"tenant_id\",\n    subscription_id=\"subscription_id\",\n    billing_export_spec={\n        \"storage_account_name\": \"storage_account_name\",\n        \"container_name\": \"container_name\",\n        \"directory_name\": \"directory_name\",\n        \"report_name\": \"report_name\",\n        \"subscription_id\": \"subscription_id\",\n        \"billing_type\": \"billing_type\",\n    },\n    billing_export_spec2={\n        \"storage_account_name\": \"storage_account_name\",\n        \"container_name\": \"container_name\",\n        \"directory_name\": \"directory_name\",\n        \"report_name\": \"report_name\",\n        \"subscription_id\": \"subscription_id\",\n        \"billing_type\": \"billing_type\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.AzureCloudCostConnector(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        FeaturesEnableds = new[]\n        {\n            \"BILLING\",\n            \"VISIBILITY\",\n            \"OPTIMIZATION\",\n            \"GOVERNANCE\",\n        },\n        TenantId = \"tenant_id\",\n        SubscriptionId = \"subscription_id\",\n        BillingExportSpec = new Harness.Platform.Inputs.AzureCloudCostConnectorBillingExportSpecArgs\n        {\n            StorageAccountName = \"storage_account_name\",\n            ContainerName = \"container_name\",\n            DirectoryName = \"directory_name\",\n            ReportName = \"report_name\",\n            SubscriptionId = \"subscription_id\",\n            BillingType = \"billing_type\",\n        },\n        BillingExportSpec2 = new Harness.Platform.Inputs.AzureCloudCostConnectorBillingExportSpec2Args\n        {\n            StorageAccountName = \"storage_account_name\",\n            ContainerName = \"container_name\",\n            DirectoryName = \"directory_name\",\n            ReportName = \"report_name\",\n            SubscriptionId = \"subscription_id\",\n            BillingType = \"billing_type\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewAzureCloudCostConnector(ctx, \"example\", \u0026platform.AzureCloudCostConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tFeaturesEnableds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"BILLING\"),\n\t\t\t\tpulumi.String(\"VISIBILITY\"),\n\t\t\t\tpulumi.String(\"OPTIMIZATION\"),\n\t\t\t\tpulumi.String(\"GOVERNANCE\"),\n\t\t\t},\n\t\t\tTenantId:       pulumi.String(\"tenant_id\"),\n\t\t\tSubscriptionId: pulumi.String(\"subscription_id\"),\n\t\t\tBillingExportSpec: \u0026platform.AzureCloudCostConnectorBillingExportSpecArgs{\n\t\t\t\tStorageAccountName: pulumi.String(\"storage_account_name\"),\n\t\t\t\tContainerName:      pulumi.String(\"container_name\"),\n\t\t\t\tDirectoryName:      pulumi.String(\"directory_name\"),\n\t\t\t\tReportName:         pulumi.String(\"report_name\"),\n\t\t\t\tSubscriptionId:     pulumi.String(\"subscription_id\"),\n\t\t\t\tBillingType:        pulumi.String(\"billing_type\"),\n\t\t\t},\n\t\t\tBillingExportSpec2: \u0026platform.AzureCloudCostConnectorBillingExportSpec2Args{\n\t\t\t\tStorageAccountName: pulumi.String(\"storage_account_name\"),\n\t\t\t\tContainerName:      pulumi.String(\"container_name\"),\n\t\t\t\tDirectoryName:      pulumi.String(\"directory_name\"),\n\t\t\t\tReportName:         pulumi.String(\"report_name\"),\n\t\t\t\tSubscriptionId:     pulumi.String(\"subscription_id\"),\n\t\t\t\tBillingType:        pulumi.String(\"billing_type\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.AzureCloudCostConnector;\nimport com.pulumi.harness.platform.AzureCloudCostConnectorArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudCostConnectorBillingExportSpecArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudCostConnectorBillingExportSpec2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new AzureCloudCostConnector(\"example\", AzureCloudCostConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .featuresEnableds(            \n                \"BILLING\",\n                \"VISIBILITY\",\n                \"OPTIMIZATION\",\n                \"GOVERNANCE\")\n            .tenantId(\"tenant_id\")\n            .subscriptionId(\"subscription_id\")\n            .billingExportSpec(AzureCloudCostConnectorBillingExportSpecArgs.builder()\n                .storageAccountName(\"storage_account_name\")\n                .containerName(\"container_name\")\n                .directoryName(\"directory_name\")\n                .reportName(\"report_name\")\n                .subscriptionId(\"subscription_id\")\n                .billingType(\"billing_type\")\n                .build())\n            .billingExportSpec2(AzureCloudCostConnectorBillingExportSpec2Args.builder()\n                .storageAccountName(\"storage_account_name\")\n                .containerName(\"container_name\")\n                .directoryName(\"directory_name\")\n                .reportName(\"report_name\")\n                .subscriptionId(\"subscription_id\")\n                .billingType(\"billing_type\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:AzureCloudCostConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      featuresEnableds:\n        - BILLING\n        - VISIBILITY\n        - OPTIMIZATION\n        - GOVERNANCE\n      tenantId: tenant_id\n      subscriptionId: subscription_id\n      billingExportSpec:\n        storageAccountName: storage_account_name\n        containerName: container_name\n        directoryName: directory_name\n        reportName: report_name\n        subscriptionId: subscription_id\n        billingType: billing_type\n      billingExportSpec2:\n        storageAccountName: storage_account_name\n        containerName: container_name\n        directoryName: directory_name\n        reportName: report_name\n        subscriptionId: subscription_id\n        billingType: billing_type\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level azure cloud cost connector\n\n```sh\n$ pulumi import harness:platform/azureCloudCostConnector:AzureCloudCostConnector example \u003cconnector_id\u003e\n```\n\nImport org level azure cloud cost connector\n\n```sh\n$ pulumi import harness:platform/azureCloudCostConnector:AzureCloudCostConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level azure cloud cost connector\n\n```sh\n$ pulumi import harness:platform/azureCloudCostConnector:AzureCloudCostConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"billingExportSpec":{"$ref":"#/types/harness:platform/AzureCloudCostConnectorBillingExportSpec:AzureCloudCostConnectorBillingExportSpec","description":"Returns billing details for the Azure account.\n"},"billingExportSpec2":{"$ref":"#/types/harness:platform/AzureCloudCostConnectorBillingExportSpec2:AzureCloudCostConnectorBillingExportSpec2","description":"Returns billing details for the Azure account.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"Indicates which feature to enable among Billing, Optimization, Visibility and Governance.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"subscriptionId":{"type":"string","description":"Subsription id.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"tenantId":{"type":"string","description":"Tenant id.\n"}},"required":["featuresEnableds","identifier","name","subscriptionId","tenantId"],"inputProperties":{"billingExportSpec":{"$ref":"#/types/harness:platform/AzureCloudCostConnectorBillingExportSpec:AzureCloudCostConnectorBillingExportSpec","description":"Returns billing details for the Azure account.\n"},"billingExportSpec2":{"$ref":"#/types/harness:platform/AzureCloudCostConnectorBillingExportSpec2:AzureCloudCostConnectorBillingExportSpec2","description":"Returns billing details for the Azure account.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"Indicates which feature to enable among Billing, Optimization, Visibility and Governance.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"subscriptionId":{"type":"string","description":"Subsription id.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"tenantId":{"type":"string","description":"Tenant id.\n"}},"requiredInputs":["featuresEnableds","identifier","subscriptionId","tenantId"],"stateInputs":{"description":"Input properties used for looking up and filtering AzureCloudCostConnector resources.\n","properties":{"billingExportSpec":{"$ref":"#/types/harness:platform/AzureCloudCostConnectorBillingExportSpec:AzureCloudCostConnectorBillingExportSpec","description":"Returns billing details for the Azure account.\n"},"billingExportSpec2":{"$ref":"#/types/harness:platform/AzureCloudCostConnectorBillingExportSpec2:AzureCloudCostConnectorBillingExportSpec2","description":"Returns billing details for the Azure account.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"Indicates which feature to enable among Billing, Optimization, Visibility and Governance.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"subscriptionId":{"type":"string","description":"Subsription id.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"tenantId":{"type":"string","description":"Tenant id.\n"}},"type":"object"}},"harness:platform/azureCloudProviderConnector:AzureCloudProviderConnector":{"description":"Resource for creating an Azure Cloud Provider in Harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst manualConfigSecret = new harness.platform.AzureCloudProviderConnector(\"manual_config_secret\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    credentials: {\n        type: \"ManualConfig\",\n        azureManualDetails: {\n            applicationId: \"application_id\",\n            tenantId: \"tenant_id\",\n            auth: {\n                type: \"Secret\",\n                azureClientSecretKey: {\n                    secretRef: `account.${test.id}`,\n                },\n            },\n        },\n    },\n    azureEnvironmentType: \"AZURE\",\n    delegateSelectors: [\"harness-delegate\"],\n});\nconst manualConfigCertificate = new harness.platform.AzureCloudProviderConnector(\"manual_config_certificate\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    credentials: {\n        type: \"ManualConfig\",\n        azureManualDetails: {\n            applicationId: \"application_id\",\n            tenantId: \"tenant_id\",\n            auth: {\n                type: \"Certificate\",\n                azureClientKeyCert: {\n                    certificateRef: `account.${test.id}`,\n                },\n            },\n        },\n    },\n    azureEnvironmentType: \"AZURE\",\n    delegateSelectors: [\"harness-delegate\"],\n});\nconst inheritFromDelegateUserAssignedManagedIdentity = new harness.platform.AzureCloudProviderConnector(\"inherit_from_delegate_user_assigned_managed_identity\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    credentials: {\n        type: \"InheritFromDelegate\",\n        azureInheritFromDelegateDetails: {\n            auth: {\n                azureMsiAuthUa: {\n                    clientId: \"client_id\",\n                },\n                type: \"UserAssignedManagedIdentity\",\n            },\n        },\n    },\n    azureEnvironmentType: \"AZURE\",\n    delegateSelectors: [\"harness-delegate\"],\n});\nconst inheritFromDelegateSystemAssignedManagedIdentity = new harness.platform.AzureCloudProviderConnector(\"inherit_from_delegate_system_assigned_managed_identity\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    credentials: {\n        type: \"InheritFromDelegate\",\n        azureInheritFromDelegateDetails: {\n            auth: {\n                type: \"SystemAssignedManagedIdentity\",\n            },\n        },\n    },\n    azureEnvironmentType: \"AZURE\",\n    delegateSelectors: [\"harness-delegate\"],\n});\nconst oidcAuthentication = new harness.platform.AzureCloudProviderConnector(\"oidc_authentication\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    credentials: {\n        type: \"OidcAuthentication\",\n        azureOidcSpec: {\n            applicationId: \"application_id\",\n            tenantId: \"tenant_id\",\n            audience: \"audience\",\n        },\n    },\n    azureEnvironmentType: \"AZURE\",\n    delegateSelectors: [\"harness-delegate\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nmanual_config_secret = harness.platform.AzureCloudProviderConnector(\"manual_config_secret\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    credentials={\n        \"type\": \"ManualConfig\",\n        \"azure_manual_details\": {\n            \"application_id\": \"application_id\",\n            \"tenant_id\": \"tenant_id\",\n            \"auth\": {\n                \"type\": \"Secret\",\n                \"azure_client_secret_key\": {\n                    \"secret_ref\": f\"account.{test['id']}\",\n                },\n            },\n        },\n    },\n    azure_environment_type=\"AZURE\",\n    delegate_selectors=[\"harness-delegate\"])\nmanual_config_certificate = harness.platform.AzureCloudProviderConnector(\"manual_config_certificate\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    credentials={\n        \"type\": \"ManualConfig\",\n        \"azure_manual_details\": {\n            \"application_id\": \"application_id\",\n            \"tenant_id\": \"tenant_id\",\n            \"auth\": {\n                \"type\": \"Certificate\",\n                \"azure_client_key_cert\": {\n                    \"certificate_ref\": f\"account.{test['id']}\",\n                },\n            },\n        },\n    },\n    azure_environment_type=\"AZURE\",\n    delegate_selectors=[\"harness-delegate\"])\ninherit_from_delegate_user_assigned_managed_identity = harness.platform.AzureCloudProviderConnector(\"inherit_from_delegate_user_assigned_managed_identity\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    credentials={\n        \"type\": \"InheritFromDelegate\",\n        \"azure_inherit_from_delegate_details\": {\n            \"auth\": {\n                \"azure_msi_auth_ua\": {\n                    \"client_id\": \"client_id\",\n                },\n                \"type\": \"UserAssignedManagedIdentity\",\n            },\n        },\n    },\n    azure_environment_type=\"AZURE\",\n    delegate_selectors=[\"harness-delegate\"])\ninherit_from_delegate_system_assigned_managed_identity = harness.platform.AzureCloudProviderConnector(\"inherit_from_delegate_system_assigned_managed_identity\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    credentials={\n        \"type\": \"InheritFromDelegate\",\n        \"azure_inherit_from_delegate_details\": {\n            \"auth\": {\n                \"type\": \"SystemAssignedManagedIdentity\",\n            },\n        },\n    },\n    azure_environment_type=\"AZURE\",\n    delegate_selectors=[\"harness-delegate\"])\noidc_authentication = harness.platform.AzureCloudProviderConnector(\"oidc_authentication\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    credentials={\n        \"type\": \"OidcAuthentication\",\n        \"azure_oidc_spec\": {\n            \"application_id\": \"application_id\",\n            \"tenant_id\": \"tenant_id\",\n            \"audience\": \"audience\",\n        },\n    },\n    azure_environment_type=\"AZURE\",\n    delegate_selectors=[\"harness-delegate\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var manualConfigSecret = new Harness.Platform.AzureCloudProviderConnector(\"manual_config_secret\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Credentials = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsArgs\n        {\n            Type = \"ManualConfig\",\n            AzureManualDetails = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureManualDetailsArgs\n            {\n                ApplicationId = \"application_id\",\n                TenantId = \"tenant_id\",\n                Auth = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthArgs\n                {\n                    Type = \"Secret\",\n                    AzureClientSecretKey = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKeyArgs\n                    {\n                        SecretRef = $\"account.{test.Id}\",\n                    },\n                },\n            },\n        },\n        AzureEnvironmentType = \"AZURE\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n    var manualConfigCertificate = new Harness.Platform.AzureCloudProviderConnector(\"manual_config_certificate\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Credentials = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsArgs\n        {\n            Type = \"ManualConfig\",\n            AzureManualDetails = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureManualDetailsArgs\n            {\n                ApplicationId = \"application_id\",\n                TenantId = \"tenant_id\",\n                Auth = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthArgs\n                {\n                    Type = \"Certificate\",\n                    AzureClientKeyCert = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCertArgs\n                    {\n                        CertificateRef = $\"account.{test.Id}\",\n                    },\n                },\n            },\n        },\n        AzureEnvironmentType = \"AZURE\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n    var inheritFromDelegateUserAssignedManagedIdentity = new Harness.Platform.AzureCloudProviderConnector(\"inherit_from_delegate_user_assigned_managed_identity\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Credentials = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsArgs\n        {\n            Type = \"InheritFromDelegate\",\n            AzureInheritFromDelegateDetails = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsArgs\n            {\n                Auth = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthArgs\n                {\n                    AzureMsiAuthUa = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUaArgs\n                    {\n                        ClientId = \"client_id\",\n                    },\n                    Type = \"UserAssignedManagedIdentity\",\n                },\n            },\n        },\n        AzureEnvironmentType = \"AZURE\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n    var inheritFromDelegateSystemAssignedManagedIdentity = new Harness.Platform.AzureCloudProviderConnector(\"inherit_from_delegate_system_assigned_managed_identity\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Credentials = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsArgs\n        {\n            Type = \"InheritFromDelegate\",\n            AzureInheritFromDelegateDetails = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsArgs\n            {\n                Auth = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthArgs\n                {\n                    Type = \"SystemAssignedManagedIdentity\",\n                },\n            },\n        },\n        AzureEnvironmentType = \"AZURE\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n    var oidcAuthentication = new Harness.Platform.AzureCloudProviderConnector(\"oidc_authentication\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Credentials = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsArgs\n        {\n            Type = \"OidcAuthentication\",\n            AzureOidcSpec = new Harness.Platform.Inputs.AzureCloudProviderConnectorCredentialsAzureOidcSpecArgs\n            {\n                ApplicationId = \"application_id\",\n                TenantId = \"tenant_id\",\n                Audience = \"audience\",\n            },\n        },\n        AzureEnvironmentType = \"AZURE\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewAzureCloudProviderConnector(ctx, \"manual_config_secret\", \u0026platform.AzureCloudProviderConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.AzureCloudProviderConnectorCredentialsArgs{\n\t\t\t\tType: pulumi.String(\"ManualConfig\"),\n\t\t\t\tAzureManualDetails: \u0026platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsArgs{\n\t\t\t\t\tApplicationId: pulumi.String(\"application_id\"),\n\t\t\t\t\tTenantId:      pulumi.String(\"tenant_id\"),\n\t\t\t\t\tAuth: \u0026platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthArgs{\n\t\t\t\t\t\tType: pulumi.String(\"Secret\"),\n\t\t\t\t\t\tAzureClientSecretKey: \u0026platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKeyArgs{\n\t\t\t\t\t\t\tSecretRef: pulumi.Sprintf(\"account.%v\", test.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAzureEnvironmentType: pulumi.String(\"AZURE\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewAzureCloudProviderConnector(ctx, \"manual_config_certificate\", \u0026platform.AzureCloudProviderConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.AzureCloudProviderConnectorCredentialsArgs{\n\t\t\t\tType: pulumi.String(\"ManualConfig\"),\n\t\t\t\tAzureManualDetails: \u0026platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsArgs{\n\t\t\t\t\tApplicationId: pulumi.String(\"application_id\"),\n\t\t\t\t\tTenantId:      pulumi.String(\"tenant_id\"),\n\t\t\t\t\tAuth: \u0026platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthArgs{\n\t\t\t\t\t\tType: pulumi.String(\"Certificate\"),\n\t\t\t\t\t\tAzureClientKeyCert: \u0026platform.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCertArgs{\n\t\t\t\t\t\t\tCertificateRef: pulumi.Sprintf(\"account.%v\", test.Id),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAzureEnvironmentType: pulumi.String(\"AZURE\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewAzureCloudProviderConnector(ctx, \"inherit_from_delegate_user_assigned_managed_identity\", \u0026platform.AzureCloudProviderConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.AzureCloudProviderConnectorCredentialsArgs{\n\t\t\t\tType: pulumi.String(\"InheritFromDelegate\"),\n\t\t\t\tAzureInheritFromDelegateDetails: \u0026platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsArgs{\n\t\t\t\t\tAuth: \u0026platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthArgs{\n\t\t\t\t\t\tAzureMsiAuthUa: \u0026platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUaArgs{\n\t\t\t\t\t\t\tClientId: pulumi.String(\"client_id\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tType: pulumi.String(\"UserAssignedManagedIdentity\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAzureEnvironmentType: pulumi.String(\"AZURE\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewAzureCloudProviderConnector(ctx, \"inherit_from_delegate_system_assigned_managed_identity\", \u0026platform.AzureCloudProviderConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.AzureCloudProviderConnectorCredentialsArgs{\n\t\t\t\tType: pulumi.String(\"InheritFromDelegate\"),\n\t\t\t\tAzureInheritFromDelegateDetails: \u0026platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsArgs{\n\t\t\t\t\tAuth: \u0026platform.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthArgs{\n\t\t\t\t\t\tType: pulumi.String(\"SystemAssignedManagedIdentity\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tAzureEnvironmentType: pulumi.String(\"AZURE\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewAzureCloudProviderConnector(ctx, \"oidc_authentication\", \u0026platform.AzureCloudProviderConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.AzureCloudProviderConnectorCredentialsArgs{\n\t\t\t\tType: pulumi.String(\"OidcAuthentication\"),\n\t\t\t\tAzureOidcSpec: \u0026platform.AzureCloudProviderConnectorCredentialsAzureOidcSpecArgs{\n\t\t\t\t\tApplicationId: pulumi.String(\"application_id\"),\n\t\t\t\t\tTenantId:      pulumi.String(\"tenant_id\"),\n\t\t\t\t\tAudience:      pulumi.String(\"audience\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAzureEnvironmentType: pulumi.String(\"AZURE\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.AzureCloudProviderConnector;\nimport com.pulumi.harness.platform.AzureCloudProviderConnectorArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudProviderConnectorCredentialsArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudProviderConnectorCredentialsAzureManualDetailsArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKeyArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCertArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUaArgs;\nimport com.pulumi.harness.platform.inputs.AzureCloudProviderConnectorCredentialsAzureOidcSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var manualConfigSecret = new AzureCloudProviderConnector(\"manualConfigSecret\", AzureCloudProviderConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .credentials(AzureCloudProviderConnectorCredentialsArgs.builder()\n                .type(\"ManualConfig\")\n                .azureManualDetails(AzureCloudProviderConnectorCredentialsAzureManualDetailsArgs.builder()\n                    .applicationId(\"application_id\")\n                    .tenantId(\"tenant_id\")\n                    .auth(AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthArgs.builder()\n                        .type(\"Secret\")\n                        .azureClientSecretKey(AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientSecretKeyArgs.builder()\n                            .secretRef(String.format(\"account.%s\", test.id()))\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .azureEnvironmentType(\"AZURE\")\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n        var manualConfigCertificate = new AzureCloudProviderConnector(\"manualConfigCertificate\", AzureCloudProviderConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .credentials(AzureCloudProviderConnectorCredentialsArgs.builder()\n                .type(\"ManualConfig\")\n                .azureManualDetails(AzureCloudProviderConnectorCredentialsAzureManualDetailsArgs.builder()\n                    .applicationId(\"application_id\")\n                    .tenantId(\"tenant_id\")\n                    .auth(AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthArgs.builder()\n                        .type(\"Certificate\")\n                        .azureClientKeyCert(AzureCloudProviderConnectorCredentialsAzureManualDetailsAuthAzureClientKeyCertArgs.builder()\n                            .certificateRef(String.format(\"account.%s\", test.id()))\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .azureEnvironmentType(\"AZURE\")\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n        var inheritFromDelegateUserAssignedManagedIdentity = new AzureCloudProviderConnector(\"inheritFromDelegateUserAssignedManagedIdentity\", AzureCloudProviderConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .credentials(AzureCloudProviderConnectorCredentialsArgs.builder()\n                .type(\"InheritFromDelegate\")\n                .azureInheritFromDelegateDetails(AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsArgs.builder()\n                    .auth(AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthArgs.builder()\n                        .azureMsiAuthUa(AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthAzureMsiAuthUaArgs.builder()\n                            .clientId(\"client_id\")\n                            .build())\n                        .type(\"UserAssignedManagedIdentity\")\n                        .build())\n                    .build())\n                .build())\n            .azureEnvironmentType(\"AZURE\")\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n        var inheritFromDelegateSystemAssignedManagedIdentity = new AzureCloudProviderConnector(\"inheritFromDelegateSystemAssignedManagedIdentity\", AzureCloudProviderConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .credentials(AzureCloudProviderConnectorCredentialsArgs.builder()\n                .type(\"InheritFromDelegate\")\n                .azureInheritFromDelegateDetails(AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsArgs.builder()\n                    .auth(AzureCloudProviderConnectorCredentialsAzureInheritFromDelegateDetailsAuthArgs.builder()\n                        .type(\"SystemAssignedManagedIdentity\")\n                        .build())\n                    .build())\n                .build())\n            .azureEnvironmentType(\"AZURE\")\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n        var oidcAuthentication = new AzureCloudProviderConnector(\"oidcAuthentication\", AzureCloudProviderConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .credentials(AzureCloudProviderConnectorCredentialsArgs.builder()\n                .type(\"OidcAuthentication\")\n                .azureOidcSpec(AzureCloudProviderConnectorCredentialsAzureOidcSpecArgs.builder()\n                    .applicationId(\"application_id\")\n                    .tenantId(\"tenant_id\")\n                    .audience(\"audience\")\n                    .build())\n                .build())\n            .azureEnvironmentType(\"AZURE\")\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  manualConfigSecret:\n    type: harness:platform:AzureCloudProviderConnector\n    name: manual_config_secret\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      credentials:\n        type: ManualConfig\n        azureManualDetails:\n          applicationId: application_id\n          tenantId: tenant_id\n          auth:\n            type: Secret\n            azureClientSecretKey:\n              secretRef: account.${test.id}\n      azureEnvironmentType: AZURE\n      delegateSelectors:\n        - harness-delegate\n  manualConfigCertificate:\n    type: harness:platform:AzureCloudProviderConnector\n    name: manual_config_certificate\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      credentials:\n        type: ManualConfig\n        azureManualDetails:\n          applicationId: application_id\n          tenantId: tenant_id\n          auth:\n            type: Certificate\n            azureClientKeyCert:\n              certificateRef: account.${test.id}\n      azureEnvironmentType: AZURE\n      delegateSelectors:\n        - harness-delegate\n  inheritFromDelegateUserAssignedManagedIdentity:\n    type: harness:platform:AzureCloudProviderConnector\n    name: inherit_from_delegate_user_assigned_managed_identity\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      credentials:\n        type: InheritFromDelegate\n        azureInheritFromDelegateDetails:\n          auth:\n            azureMsiAuthUa:\n              clientId: client_id\n            type: UserAssignedManagedIdentity\n      azureEnvironmentType: AZURE\n      delegateSelectors:\n        - harness-delegate\n  inheritFromDelegateSystemAssignedManagedIdentity:\n    type: harness:platform:AzureCloudProviderConnector\n    name: inherit_from_delegate_system_assigned_managed_identity\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      credentials:\n        type: InheritFromDelegate\n        azureInheritFromDelegateDetails:\n          auth:\n            type: SystemAssignedManagedIdentity\n      azureEnvironmentType: AZURE\n      delegateSelectors:\n        - harness-delegate\n  oidcAuthentication:\n    type: harness:platform:AzureCloudProviderConnector\n    name: oidc_authentication\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      credentials:\n        type: OidcAuthentication\n        azureOidcSpec:\n          applicationId: application_id\n          tenantId: tenant_id\n          audience: audience\n      azureEnvironmentType: AZURE\n      delegateSelectors:\n        - harness-delegate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level azure cloud provider connector\n\n```sh\n$ pulumi import harness:platform/azureCloudProviderConnector:AzureCloudProviderConnector example \u003cconnector_id\u003e\n```\n\nImport org level azure cloud provider connector\n\n```sh\n$ pulumi import harness:platform/azureCloudProviderConnector:AzureCloudProviderConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level azure cloud provider connector\n\n```sh\n$ pulumi import harness:platform/azureCloudProviderConnector:AzureCloudProviderConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"azureEnvironmentType":{"type":"string","description":"Specifies the Azure Environment type, which is AZURE by default. Can either be AZURE or AZURE*US*GOVERNMENT\n"},"credentials":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentials:AzureCloudProviderConnectorCredentials","description":"Contains Azure connector credentials.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["azureEnvironmentType","credentials","forceDelete","identifier","name"],"inputProperties":{"azureEnvironmentType":{"type":"string","description":"Specifies the Azure Environment type, which is AZURE by default. Can either be AZURE or AZURE*US*GOVERNMENT\n"},"credentials":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentials:AzureCloudProviderConnectorCredentials","description":"Contains Azure connector credentials.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["credentials","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering AzureCloudProviderConnector resources.\n","properties":{"azureEnvironmentType":{"type":"string","description":"Specifies the Azure Environment type, which is AZURE by default. Can either be AZURE or AZURE*US*GOVERNMENT\n"},"credentials":{"$ref":"#/types/harness:platform/AzureCloudProviderConnectorCredentials:AzureCloudProviderConnectorCredentials","description":"Contains Azure connector credentials.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/azureKeyVaultConnector:AzureKeyVaultConnector":{"description":"Resource for creating an Azure key vault in Harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.AzureKeyVaultConnector(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    clientId: \"client_id\",\n    secretKey: \"account.secret_key\",\n    tenantId: \"tenant_id\",\n    vaultName: \"vault_name\",\n    subscription: \"subscription\",\n    isDefault: false,\n    azureEnvironmentType: \"AZURE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.AzureKeyVaultConnector(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    client_id=\"client_id\",\n    secret_key=\"account.secret_key\",\n    tenant_id=\"tenant_id\",\n    vault_name=\"vault_name\",\n    subscription=\"subscription\",\n    is_default=False,\n    azure_environment_type=\"AZURE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.AzureKeyVaultConnector(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        ClientId = \"client_id\",\n        SecretKey = \"account.secret_key\",\n        TenantId = \"tenant_id\",\n        VaultName = \"vault_name\",\n        Subscription = \"subscription\",\n        IsDefault = false,\n        AzureEnvironmentType = \"AZURE\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewAzureKeyVaultConnector(ctx, \"example\", \u0026platform.AzureKeyVaultConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tClientId:             pulumi.String(\"client_id\"),\n\t\t\tSecretKey:            pulumi.String(\"account.secret_key\"),\n\t\t\tTenantId:             pulumi.String(\"tenant_id\"),\n\t\t\tVaultName:            pulumi.String(\"vault_name\"),\n\t\t\tSubscription:         pulumi.String(\"subscription\"),\n\t\t\tIsDefault:            pulumi.Bool(false),\n\t\t\tAzureEnvironmentType: pulumi.String(\"AZURE\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.AzureKeyVaultConnector;\nimport com.pulumi.harness.platform.AzureKeyVaultConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new AzureKeyVaultConnector(\"example\", AzureKeyVaultConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .clientId(\"client_id\")\n            .secretKey(\"account.secret_key\")\n            .tenantId(\"tenant_id\")\n            .vaultName(\"vault_name\")\n            .subscription(\"subscription\")\n            .isDefault(false)\n            .azureEnvironmentType(\"AZURE\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:AzureKeyVaultConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      clientId: client_id\n      secretKey: account.secret_key\n      tenantId: tenant_id\n      vaultName: vault_name\n      subscription: subscription\n      isDefault: false\n      azureEnvironmentType: AZURE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level azure key vault connector\n\n```sh\n$ pulumi import harness:platform/azureKeyVaultConnector:AzureKeyVaultConnector example \u003cconnector_id\u003e\n```\n\nImport org level azure key vault connector\n\n```sh\n$ pulumi import harness:platform/azureKeyVaultConnector:AzureKeyVaultConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level azure key vault connector\n\n```sh\n$ pulumi import harness:platform/azureKeyVaultConnector:AzureKeyVaultConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"azureEnvironmentType":{"type":"string","description":"Azure environment type. Possible values: AZURE or AZURE*US*GOVERNMENT. Default value: AZURE\n"},"clientId":{"type":"string","description":"Application ID of the Azure App.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"isDefault":{"type":"boolean","description":"Specifies whether or not is the default value.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"secretKey":{"type":"string","description":"The Harness text secret with the Azure authentication key as its value.\n"},"subscription":{"type":"string","description":"Azure subscription ID.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory (Azure AD) directory ID where you created your application.\n"},"vaultName":{"type":"string","description":"Name of the vault.\n"}},"required":["azureEnvironmentType","clientId","identifier","name","secretKey","subscription","tenantId","vaultName"],"inputProperties":{"azureEnvironmentType":{"type":"string","description":"Azure environment type. Possible values: AZURE or AZURE*US*GOVERNMENT. Default value: AZURE\n"},"clientId":{"type":"string","description":"Application ID of the Azure App.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Specifies whether or not is the default value.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"secretKey":{"type":"string","description":"The Harness text secret with the Azure authentication key as its value.\n"},"subscription":{"type":"string","description":"Azure subscription ID.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory (Azure AD) directory ID where you created your application.\n"},"vaultName":{"type":"string","description":"Name of the vault.\n"}},"requiredInputs":["clientId","identifier","secretKey","subscription","tenantId","vaultName"],"stateInputs":{"description":"Input properties used for looking up and filtering AzureKeyVaultConnector resources.\n","properties":{"azureEnvironmentType":{"type":"string","description":"Azure environment type. Possible values: AZURE or AZURE*US*GOVERNMENT. Default value: AZURE\n"},"clientId":{"type":"string","description":"Application ID of the Azure App.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Specifies whether or not is the default value.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"secretKey":{"type":"string","description":"The Harness text secret with the Azure authentication key as its value.\n"},"subscription":{"type":"string","description":"Azure subscription ID.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"tenantId":{"type":"string","description":"The Azure Active Directory (Azure AD) directory ID where you created your application.\n"},"vaultName":{"type":"string","description":"Name of the vault.\n"}},"type":"object"}},"harness:platform/bitbucketConnector:BitbucketConnector":{"description":"Resource for creating a Bitbucket connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level bitbucket connector\n\n```sh\n$ pulumi import harness:platform/bitbucketConnector:BitbucketConnector example \u003cconnector_id\u003e\n```\n\nImport org level bitbucket connector\n\n```sh\n$ pulumi import harness:platform/bitbucketConnector:BitbucketConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level bitbucket connector\n\n```sh\n$ pulumi import harness:platform/bitbucketConnector:BitbucketConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"apiAuthentication":{"$ref":"#/types/harness:platform/BitbucketConnectorApiAuthentication:BitbucketConnectorApiAuthentication","description":"Configuration for using the BitBucket api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a BitBucket repository or a BitBucket account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/BitbucketConnectorCredentials:BitbucketConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the BitBucket repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"required":["connectionType","credentials","identifier","name","url"],"inputProperties":{"apiAuthentication":{"$ref":"#/types/harness:platform/BitbucketConnectorApiAuthentication:BitbucketConnectorApiAuthentication","description":"Configuration for using the BitBucket api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a BitBucket repository or a BitBucket account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/BitbucketConnectorCredentials:BitbucketConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the BitBucket repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"requiredInputs":["connectionType","credentials","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering BitbucketConnector resources.\n","properties":{"apiAuthentication":{"$ref":"#/types/harness:platform/BitbucketConnectorApiAuthentication:BitbucketConnectorApiAuthentication","description":"Configuration for using the BitBucket api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a BitBucket repository or a BitBucket account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/BitbucketConnectorCredentials:BitbucketConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the BitBucket repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"type":"object"}},"harness:platform/centralNotificationChannel:CentralNotificationChannel":{"description":"Resource for managing Harness Notification Channels.\n","properties":{"account":{"type":"string","description":"Account identifier associated with this notification channel.\n"},"channel":{"$ref":"#/types/harness:platform/CentralNotificationChannelChannel:CentralNotificationChannelChannel"},"created":{"type":"integer","description":"Timestamp when the notification channel was created.\n"},"identifier":{"type":"string"},"lastModified":{"type":"integer","description":"Timestamp when the notification channel was last modified.\n"},"name":{"type":"string"},"notificationChannelType":{"type":"string"},"org":{"type":"string"},"project":{"type":"string"},"status":{"type":"string"}},"required":["account","channel","created","identifier","lastModified","name","notificationChannelType"],"inputProperties":{"channel":{"$ref":"#/types/harness:platform/CentralNotificationChannelChannel:CentralNotificationChannelChannel"},"identifier":{"type":"string"},"name":{"type":"string"},"notificationChannelType":{"type":"string"},"org":{"type":"string"},"project":{"type":"string"},"status":{"type":"string"}},"requiredInputs":["channel","identifier","notificationChannelType"],"stateInputs":{"description":"Input properties used for looking up and filtering CentralNotificationChannel resources.\n","properties":{"account":{"type":"string","description":"Account identifier associated with this notification channel.\n"},"channel":{"$ref":"#/types/harness:platform/CentralNotificationChannelChannel:CentralNotificationChannelChannel"},"created":{"type":"integer","description":"Timestamp when the notification channel was created.\n"},"identifier":{"type":"string"},"lastModified":{"type":"integer","description":"Timestamp when the notification channel was last modified.\n"},"name":{"type":"string"},"notificationChannelType":{"type":"string"},"org":{"type":"string"},"project":{"type":"string"},"status":{"type":"string"}},"type":"object"}},"harness:platform/centralNotificationRule:CentralNotificationRule":{"description":"\u003e Deprecated: Please migrate to \u003cspan pulumi-lang-nodejs=\"`harness.platform.PipelineCentralNotificationRule`\" pulumi-lang-dotnet=\"`harness.platform.PipelineCentralNotificationRule`\" pulumi-lang-go=\"`platform.PipelineCentralNotificationRule`\" pulumi-lang-python=\"`platform.PipelineCentralNotificationRule`\" pulumi-lang-yaml=\"`harness.platform.PipelineCentralNotificationRule`\" pulumi-lang-java=\"`harness.platform.PipelineCentralNotificationRule`\"\u003e`harness.platform.PipelineCentralNotificationRule`\u003c/span\u003e. See the pipeline-specific resource docs.\n\nResource for creating a Harness Notification Rule\n","properties":{"account":{"type":"string","description":"Account identifier associated with this notification channel.\n"},"created":{"type":"integer","description":"Timestamp when the notification rule was created.\n"},"customNotificationTemplateRef":{"$ref":"#/types/harness:platform/CentralNotificationRuleCustomNotificationTemplateRef:CentralNotificationRuleCustomNotificationTemplateRef"},"identifier":{"type":"string"},"lastModified":{"type":"integer","description":"Timestamp when the notification rule was last modified.\n"},"name":{"type":"string"},"notificationChannelRefs":{"type":"array","items":{"type":"string"}},"notificationConditions":{"type":"array","items":{"$ref":"#/types/harness:platform/CentralNotificationRuleNotificationCondition:CentralNotificationRuleNotificationCondition"}},"org":{"type":"string"},"project":{"type":"string"},"status":{"type":"string"}},"required":["account","created","identifier","lastModified","name","notificationChannelRefs","notificationConditions"],"inputProperties":{"customNotificationTemplateRef":{"$ref":"#/types/harness:platform/CentralNotificationRuleCustomNotificationTemplateRef:CentralNotificationRuleCustomNotificationTemplateRef"},"identifier":{"type":"string"},"name":{"type":"string"},"notificationChannelRefs":{"type":"array","items":{"type":"string"}},"notificationConditions":{"type":"array","items":{"$ref":"#/types/harness:platform/CentralNotificationRuleNotificationCondition:CentralNotificationRuleNotificationCondition"}},"org":{"type":"string"},"project":{"type":"string"},"status":{"type":"string"}},"requiredInputs":["identifier","notificationChannelRefs","notificationConditions"],"stateInputs":{"description":"Input properties used for looking up and filtering CentralNotificationRule resources.\n","properties":{"account":{"type":"string","description":"Account identifier associated with this notification channel.\n"},"created":{"type":"integer","description":"Timestamp when the notification rule was created.\n"},"customNotificationTemplateRef":{"$ref":"#/types/harness:platform/CentralNotificationRuleCustomNotificationTemplateRef:CentralNotificationRuleCustomNotificationTemplateRef"},"identifier":{"type":"string"},"lastModified":{"type":"integer","description":"Timestamp when the notification rule was last modified.\n"},"name":{"type":"string"},"notificationChannelRefs":{"type":"array","items":{"type":"string"}},"notificationConditions":{"type":"array","items":{"$ref":"#/types/harness:platform/CentralNotificationRuleNotificationCondition:CentralNotificationRuleNotificationCondition"}},"org":{"type":"string"},"project":{"type":"string"},"status":{"type":"string"}},"type":"object"}},"harness:platform/connectorAzureArtifacts:ConnectorAzureArtifacts":{"description":"Resource for creating an Azure Artifacts connector.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/ConnectorAzureArtifactsCredentials:ConnectorAzureArtifactsCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Azure Artifacts server.\n"}},"required":["credentials","identifier","name","url"],"inputProperties":{"credentials":{"$ref":"#/types/harness:platform/ConnectorAzureArtifactsCredentials:ConnectorAzureArtifactsCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Azure Artifacts server.\n"}},"requiredInputs":["credentials","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectorAzureArtifacts resources.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/ConnectorAzureArtifactsCredentials:ConnectorAzureArtifactsCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Azure Artifacts server.\n"}},"type":"object"}},"harness:platform/connectorAzureRepo:ConnectorAzureRepo":{"description":"Resource for creating a Azure Repo connector.\n","properties":{"apiAuthentication":{"$ref":"#/types/harness:platform/ConnectorAzureRepoApiAuthentication:ConnectorAzureRepoApiAuthentication","description":"Configuration for using the azure api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a azure repository or a azure account. Valid values are Project, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/ConnectorAzureRepoCredentials:ConnectorAzureRepoCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the azure repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"required":["connectionType","credentials","identifier","name","url"],"inputProperties":{"apiAuthentication":{"$ref":"#/types/harness:platform/ConnectorAzureRepoApiAuthentication:ConnectorAzureRepoApiAuthentication","description":"Configuration for using the azure api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a azure repository or a azure account. Valid values are Project, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/ConnectorAzureRepoCredentials:ConnectorAzureRepoCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the azure repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"requiredInputs":["connectionType","credentials","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectorAzureRepo resources.\n","properties":{"apiAuthentication":{"$ref":"#/types/harness:platform/ConnectorAzureRepoApiAuthentication:ConnectorAzureRepoApiAuthentication","description":"Configuration for using the azure api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a azure repository or a azure account. Valid values are Project, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/ConnectorAzureRepoCredentials:ConnectorAzureRepoCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the azure repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"type":"object"}},"harness:platform/connectorCustomSecretManager:ConnectorCustomSecretManager":{"description":"Resource for creating a Custom Secrets Manager (CSM) connector.\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"onDelegate":{"type":"boolean"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"sshSecretRef":{"type":"string","description":"SSH secret reference for the custom secrets manager, required if 'on_delegate' is false.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"targetHost":{"type":"string","description":"Host where the custom secrets manager is located, required if 'on_delegate' is false.\n"},"templateInputs":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorCustomSecretManagerTemplateInput:ConnectorCustomSecretManagerTemplateInput"}},"templateRef":{"type":"string"},"timeout":{"type":"integer"},"type":{"type":"string"},"versionLabel":{"type":"string"},"workingDirectory":{"type":"string","description":"The working directory for operations, required if 'on_delegate' is false.\n"}},"required":["identifier","name","templateRef","versionLabel"],"inputProperties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"onDelegate":{"type":"boolean"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"sshSecretRef":{"type":"string","description":"SSH secret reference for the custom secrets manager, required if 'on_delegate' is false.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"targetHost":{"type":"string","description":"Host where the custom secrets manager is located, required if 'on_delegate' is false.\n"},"templateInputs":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorCustomSecretManagerTemplateInput:ConnectorCustomSecretManagerTemplateInput"}},"templateRef":{"type":"string"},"timeout":{"type":"integer"},"type":{"type":"string"},"versionLabel":{"type":"string"},"workingDirectory":{"type":"string","description":"The working directory for operations, required if 'on_delegate' is false.\n"}},"requiredInputs":["identifier","templateRef","versionLabel"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectorCustomSecretManager resources.\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"onDelegate":{"type":"boolean"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"sshSecretRef":{"type":"string","description":"SSH secret reference for the custom secrets manager, required if 'on_delegate' is false.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"targetHost":{"type":"string","description":"Host where the custom secrets manager is located, required if 'on_delegate' is false.\n"},"templateInputs":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorCustomSecretManagerTemplateInput:ConnectorCustomSecretManagerTemplateInput"}},"templateRef":{"type":"string"},"timeout":{"type":"integer"},"type":{"type":"string"},"versionLabel":{"type":"string"},"workingDirectory":{"type":"string","description":"The working directory for operations, required if 'on_delegate' is false.\n"}},"type":"object"}},"harness:platform/connectorCustomhealthsource:ConnectorCustomhealthsource":{"description":"Resource for creating a Custom Health source connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Authentication mechanism as username and password\nconst test = new harness.platform.ConnectorCustomhealthsource(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://prometheus.com/\",\n    delegateSelectors: [\"harness-delegate\"],\n    method: \"GET\",\n    validationPath: \"loki/api/v1/labels\",\n    headers: [{\n        encryptedValueRef: \"account.doNotDeleteHSM\",\n        valueEncrypted: true,\n        key: \"key\",\n        value: \"value\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Authentication mechanism as username and password\ntest = harness.platform.ConnectorCustomhealthsource(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://prometheus.com/\",\n    delegate_selectors=[\"harness-delegate\"],\n    method=\"GET\",\n    validation_path=\"loki/api/v1/labels\",\n    headers=[{\n        \"encrypted_value_ref\": \"account.doNotDeleteHSM\",\n        \"value_encrypted\": True,\n        \"key\": \"key\",\n        \"value\": \"value\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Authentication mechanism as username and password\n    var test = new Harness.Platform.ConnectorCustomhealthsource(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://prometheus.com/\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        Method = \"GET\",\n        ValidationPath = \"loki/api/v1/labels\",\n        Headers = new[]\n        {\n            new Harness.Platform.Inputs.ConnectorCustomhealthsourceHeaderArgs\n            {\n                EncryptedValueRef = \"account.doNotDeleteHSM\",\n                ValueEncrypted = true,\n                Key = \"key\",\n                Value = \"value\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Authentication mechanism as username and password\n\t\t_, err := platform.NewConnectorCustomhealthsource(ctx, \"test\", \u0026platform.ConnectorCustomhealthsourceArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://prometheus.com/\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tMethod:         pulumi.String(\"GET\"),\n\t\t\tValidationPath: pulumi.String(\"loki/api/v1/labels\"),\n\t\t\tHeaders: platform.ConnectorCustomhealthsourceHeaderArray{\n\t\t\t\t\u0026platform.ConnectorCustomhealthsourceHeaderArgs{\n\t\t\t\t\tEncryptedValueRef: pulumi.String(\"account.doNotDeleteHSM\"),\n\t\t\t\t\tValueEncrypted:    pulumi.Bool(true),\n\t\t\t\t\tKey:               pulumi.String(\"key\"),\n\t\t\t\t\tValue:             pulumi.String(\"value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.ConnectorCustomhealthsource;\nimport com.pulumi.harness.platform.ConnectorCustomhealthsourceArgs;\nimport com.pulumi.harness.platform.inputs.ConnectorCustomhealthsourceHeaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Authentication mechanism as username and password\n        var test = new ConnectorCustomhealthsource(\"test\", ConnectorCustomhealthsourceArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://prometheus.com/\")\n            .delegateSelectors(\"harness-delegate\")\n            .method(\"GET\")\n            .validationPath(\"loki/api/v1/labels\")\n            .headers(ConnectorCustomhealthsourceHeaderArgs.builder()\n                .encryptedValueRef(\"account.doNotDeleteHSM\")\n                .valueEncrypted(true)\n                .key(\"key\")\n                .value(\"value\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Authentication mechanism as username and password\n  test:\n    type: harness:platform:ConnectorCustomhealthsource\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://prometheus.com/\n      delegateSelectors:\n        - harness-delegate\n      method: GET\n      validationPath: loki/api/v1/labels\n      headers:\n        - encryptedValueRef: account.doNotDeleteHSM\n          valueEncrypted: true\n          key: key\n          value: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level elasticsearch connector\n\n```sh\n$ pulumi import harness:platform/connectorCustomhealthsource:ConnectorCustomhealthsource example \u003cconnector_id\u003e\n```\n\nImport org level elasticsearch connector\n\n```sh\n$ pulumi import harness:platform/connectorCustomhealthsource:ConnectorCustomhealthsource example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level elasticsearch connector\n\n```sh\n$ pulumi import harness:platform/connectorCustomhealthsource:ConnectorCustomhealthsource example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"headers":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorCustomhealthsourceHeader:ConnectorCustomhealthsourceHeader"},"description":"Headers.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"method":{"type":"string","description":"HTTP Verb Method for the API Call\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"params":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorCustomhealthsourceParam:ConnectorCustomhealthsourceParam"},"description":"Parameters\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Custom Healthsource controller.\n"},"validationBody":{"type":"string","description":"Body to be sent with the API Call\n"},"validationPath":{"type":"string","description":"Path to be added to the base URL for the API Call\n"}},"required":["identifier","method","name","url"],"inputProperties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"headers":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorCustomhealthsourceHeader:ConnectorCustomhealthsourceHeader"},"description":"Headers.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"method":{"type":"string","description":"HTTP Verb Method for the API Call\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"params":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorCustomhealthsourceParam:ConnectorCustomhealthsourceParam"},"description":"Parameters\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Custom Healthsource controller.\n"},"validationBody":{"type":"string","description":"Body to be sent with the API Call\n"},"validationPath":{"type":"string","description":"Path to be added to the base URL for the API Call\n"}},"requiredInputs":["identifier","method","url"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectorCustomhealthsource resources.\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"headers":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorCustomhealthsourceHeader:ConnectorCustomhealthsourceHeader"},"description":"Headers.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"method":{"type":"string","description":"HTTP Verb Method for the API Call\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"params":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorCustomhealthsourceParam:ConnectorCustomhealthsourceParam"},"description":"Parameters\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Custom Healthsource controller.\n"},"validationBody":{"type":"string","description":"Body to be sent with the API Call\n"},"validationPath":{"type":"string","description":"Path to be added to the base URL for the API Call\n"}},"type":"object"}},"harness:platform/connectorGcpKms:ConnectorGcpKms":{"description":"Resource for creating a GCP KMS connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.SecretText(\"test\", {\n    identifier: \"%[1]s\",\n    name: \"%[2]s\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    secretManagerIdentifier: \"harnessSecretManager\",\n    valueType: \"Reference\",\n    value: \"secret\",\n});\nconst gcpKmsManual = new harness.platform.ConnectorGcpKms(\"gcp_kms_manual\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    region: \"us-west1\",\n    gcpProjectId: \"1234567\",\n    keyRing: \"key_ring\",\n    keyName: \"key_name\",\n    manual: {\n        credentials: pulumi.interpolate`account.${test.id}`,\n        delegateSelectors: [\"harness-delegate\"],\n    },\n});\nconst gcpKmsOidcPlatform = new harness.platform.ConnectorGcpKms(\"gcp_kms_oidc_platform\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    region: \"us-west1\",\n    gcpProjectId: \"1234567\",\n    keyRing: \"key_ring\",\n    keyName: \"key_name\",\n    executeOnDelegate: false,\n    oidcAuthentications: [{\n        workloadPoolId: \"harness-pool-test\",\n        providerId: \"harness\",\n        gcpProjectId: \"1234567\",\n        serviceAccountEmail: \"harness.sample@iam.gserviceaccount.com\",\n    }],\n});\nconst gcpKmsOidcDelegate = new harness.platform.ConnectorGcpKms(\"gcp_kms_oidc_delegate\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    region: \"us-west1\",\n    gcpProjectId: \"1234567\",\n    keyRing: \"key_ring\",\n    keyName: \"key_name\",\n    oidcAuthentications: [{\n        workloadPoolId: \"harness-pool-test\",\n        providerId: \"harness\",\n        gcpProjectId: \"1234567\",\n        serviceAccountEmail: \"harness.sample@iam.gserviceaccount.com\",\n        delegateSelectors: [\"harness-delegate\"],\n    }],\n});\nconst gcpKmsOidcDelegateDefault = new harness.platform.ConnectorGcpKms(\"gcp_kms_oidc_delegate_default\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    region: \"us-west1\",\n    gcpProjectId: \"1234567\",\n    keyRing: \"key_ring\",\n    keyName: \"key_name\",\n    \"default\": true,\n    oidcAuthentications: [{\n        workloadPoolId: \"harness-pool-test\",\n        providerId: \"harness\",\n        gcpProjectId: \"1234567\",\n        serviceAccountEmail: \"harness.sample@iam.gserviceaccount.com\",\n        delegateSelectors: [\"harness-delegate\"],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.SecretText(\"test\",\n    identifier=\"%[1]s\",\n    name=\"%[2]s\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    secret_manager_identifier=\"harnessSecretManager\",\n    value_type=\"Reference\",\n    value=\"secret\")\ngcp_kms_manual = harness.platform.ConnectorGcpKms(\"gcp_kms_manual\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    region=\"us-west1\",\n    gcp_project_id=\"1234567\",\n    key_ring=\"key_ring\",\n    key_name=\"key_name\",\n    manual={\n        \"credentials\": test.id.apply(lambda id: f\"account.{id}\"),\n        \"delegate_selectors\": [\"harness-delegate\"],\n    })\ngcp_kms_oidc_platform = harness.platform.ConnectorGcpKms(\"gcp_kms_oidc_platform\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    region=\"us-west1\",\n    gcp_project_id=\"1234567\",\n    key_ring=\"key_ring\",\n    key_name=\"key_name\",\n    execute_on_delegate=False,\n    oidc_authentications=[{\n        \"workload_pool_id\": \"harness-pool-test\",\n        \"provider_id\": \"harness\",\n        \"gcp_project_id\": \"1234567\",\n        \"service_account_email\": \"harness.sample@iam.gserviceaccount.com\",\n    }])\ngcp_kms_oidc_delegate = harness.platform.ConnectorGcpKms(\"gcp_kms_oidc_delegate\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    region=\"us-west1\",\n    gcp_project_id=\"1234567\",\n    key_ring=\"key_ring\",\n    key_name=\"key_name\",\n    oidc_authentications=[{\n        \"workload_pool_id\": \"harness-pool-test\",\n        \"provider_id\": \"harness\",\n        \"gcp_project_id\": \"1234567\",\n        \"service_account_email\": \"harness.sample@iam.gserviceaccount.com\",\n        \"delegate_selectors\": [\"harness-delegate\"],\n    }])\ngcp_kms_oidc_delegate_default = harness.platform.ConnectorGcpKms(\"gcp_kms_oidc_delegate_default\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    region=\"us-west1\",\n    gcp_project_id=\"1234567\",\n    key_ring=\"key_ring\",\n    key_name=\"key_name\",\n    default=True,\n    oidc_authentications=[{\n        \"workload_pool_id\": \"harness-pool-test\",\n        \"provider_id\": \"harness\",\n        \"gcp_project_id\": \"1234567\",\n        \"service_account_email\": \"harness.sample@iam.gserviceaccount.com\",\n        \"delegate_selectors\": [\"harness-delegate\"],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.SecretText(\"test\", new()\n    {\n        Identifier = \"%[1]s\",\n        Name = \"%[2]s\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        SecretManagerIdentifier = \"harnessSecretManager\",\n        ValueType = \"Reference\",\n        Value = \"secret\",\n    });\n\n    var gcpKmsManual = new Harness.Platform.ConnectorGcpKms(\"gcp_kms_manual\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Region = \"us-west1\",\n        GcpProjectId = \"1234567\",\n        KeyRing = \"key_ring\",\n        KeyName = \"key_name\",\n        Manual = new Harness.Platform.Inputs.ConnectorGcpKmsManualArgs\n        {\n            Credentials = test.Id.Apply(id =\u003e $\"account.{id}\"),\n            DelegateSelectors = new[]\n            {\n                \"harness-delegate\",\n            },\n        },\n    });\n\n    var gcpKmsOidcPlatform = new Harness.Platform.ConnectorGcpKms(\"gcp_kms_oidc_platform\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Region = \"us-west1\",\n        GcpProjectId = \"1234567\",\n        KeyRing = \"key_ring\",\n        KeyName = \"key_name\",\n        ExecuteOnDelegate = false,\n        OidcAuthentications = new[]\n        {\n            new Harness.Platform.Inputs.ConnectorGcpKmsOidcAuthenticationArgs\n            {\n                WorkloadPoolId = \"harness-pool-test\",\n                ProviderId = \"harness\",\n                GcpProjectId = \"1234567\",\n                ServiceAccountEmail = \"harness.sample@iam.gserviceaccount.com\",\n            },\n        },\n    });\n\n    var gcpKmsOidcDelegate = new Harness.Platform.ConnectorGcpKms(\"gcp_kms_oidc_delegate\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Region = \"us-west1\",\n        GcpProjectId = \"1234567\",\n        KeyRing = \"key_ring\",\n        KeyName = \"key_name\",\n        OidcAuthentications = new[]\n        {\n            new Harness.Platform.Inputs.ConnectorGcpKmsOidcAuthenticationArgs\n            {\n                WorkloadPoolId = \"harness-pool-test\",\n                ProviderId = \"harness\",\n                GcpProjectId = \"1234567\",\n                ServiceAccountEmail = \"harness.sample@iam.gserviceaccount.com\",\n                DelegateSelectors = new[]\n                {\n                    \"harness-delegate\",\n                },\n            },\n        },\n    });\n\n    var gcpKmsOidcDelegateDefault = new Harness.Platform.ConnectorGcpKms(\"gcp_kms_oidc_delegate_default\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Region = \"us-west1\",\n        GcpProjectId = \"1234567\",\n        KeyRing = \"key_ring\",\n        KeyName = \"key_name\",\n        Default = true,\n        OidcAuthentications = new[]\n        {\n            new Harness.Platform.Inputs.ConnectorGcpKmsOidcAuthenticationArgs\n            {\n                WorkloadPoolId = \"harness-pool-test\",\n                ProviderId = \"harness\",\n                GcpProjectId = \"1234567\",\n                ServiceAccountEmail = \"harness.sample@iam.gserviceaccount.com\",\n                DelegateSelectors = new[]\n                {\n                    \"harness-delegate\",\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttest, err := platform.NewSecretText(ctx, \"test\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:  pulumi.String(\"%[1]s\"),\n\t\t\tName:        pulumi.String(\"%[2]s\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tSecretManagerIdentifier: pulumi.String(\"harnessSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Reference\"),\n\t\t\tValue:                   pulumi.String(\"secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewConnectorGcpKms(ctx, \"gcp_kms_manual\", \u0026platform.ConnectorGcpKmsArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tRegion:       pulumi.String(\"us-west1\"),\n\t\t\tGcpProjectId: pulumi.String(\"1234567\"),\n\t\t\tKeyRing:      pulumi.String(\"key_ring\"),\n\t\t\tKeyName:      pulumi.String(\"key_name\"),\n\t\t\tManual: \u0026platform.ConnectorGcpKmsManualArgs{\n\t\t\t\tCredentials: test.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"account.%v\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewConnectorGcpKms(ctx, \"gcp_kms_oidc_platform\", \u0026platform.ConnectorGcpKmsArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tRegion:            pulumi.String(\"us-west1\"),\n\t\t\tGcpProjectId:      pulumi.String(\"1234567\"),\n\t\t\tKeyRing:           pulumi.String(\"key_ring\"),\n\t\t\tKeyName:           pulumi.String(\"key_name\"),\n\t\t\tExecuteOnDelegate: pulumi.Bool(false),\n\t\t\tOidcAuthentications: platform.ConnectorGcpKmsOidcAuthenticationArray{\n\t\t\t\t\u0026platform.ConnectorGcpKmsOidcAuthenticationArgs{\n\t\t\t\t\tWorkloadPoolId:      pulumi.String(\"harness-pool-test\"),\n\t\t\t\t\tProviderId:          pulumi.String(\"harness\"),\n\t\t\t\t\tGcpProjectId:        pulumi.String(\"1234567\"),\n\t\t\t\t\tServiceAccountEmail: pulumi.String(\"harness.sample@iam.gserviceaccount.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewConnectorGcpKms(ctx, \"gcp_kms_oidc_delegate\", \u0026platform.ConnectorGcpKmsArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tRegion:       pulumi.String(\"us-west1\"),\n\t\t\tGcpProjectId: pulumi.String(\"1234567\"),\n\t\t\tKeyRing:      pulumi.String(\"key_ring\"),\n\t\t\tKeyName:      pulumi.String(\"key_name\"),\n\t\t\tOidcAuthentications: platform.ConnectorGcpKmsOidcAuthenticationArray{\n\t\t\t\t\u0026platform.ConnectorGcpKmsOidcAuthenticationArgs{\n\t\t\t\t\tWorkloadPoolId:      pulumi.String(\"harness-pool-test\"),\n\t\t\t\t\tProviderId:          pulumi.String(\"harness\"),\n\t\t\t\t\tGcpProjectId:        pulumi.String(\"1234567\"),\n\t\t\t\t\tServiceAccountEmail: pulumi.String(\"harness.sample@iam.gserviceaccount.com\"),\n\t\t\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewConnectorGcpKms(ctx, \"gcp_kms_oidc_delegate_default\", \u0026platform.ConnectorGcpKmsArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tRegion:       pulumi.String(\"us-west1\"),\n\t\t\tGcpProjectId: pulumi.String(\"1234567\"),\n\t\t\tKeyRing:      pulumi.String(\"key_ring\"),\n\t\t\tKeyName:      pulumi.String(\"key_name\"),\n\t\t\tDefault:      pulumi.Bool(true),\n\t\t\tOidcAuthentications: platform.ConnectorGcpKmsOidcAuthenticationArray{\n\t\t\t\t\u0026platform.ConnectorGcpKmsOidcAuthenticationArgs{\n\t\t\t\t\tWorkloadPoolId:      pulumi.String(\"harness-pool-test\"),\n\t\t\t\t\tProviderId:          pulumi.String(\"harness\"),\n\t\t\t\t\tGcpProjectId:        pulumi.String(\"1234567\"),\n\t\t\t\t\tServiceAccountEmail: pulumi.String(\"harness.sample@iam.gserviceaccount.com\"),\n\t\t\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.SecretText;\nimport com.pulumi.harness.platform.SecretTextArgs;\nimport com.pulumi.harness.platform.ConnectorGcpKms;\nimport com.pulumi.harness.platform.ConnectorGcpKmsArgs;\nimport com.pulumi.harness.platform.inputs.ConnectorGcpKmsManualArgs;\nimport com.pulumi.harness.platform.inputs.ConnectorGcpKmsOidcAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new SecretText(\"test\", SecretTextArgs.builder()\n            .identifier(\"%[1]s\")\n            .name(\"%[2]s\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .secretManagerIdentifier(\"harnessSecretManager\")\n            .valueType(\"Reference\")\n            .value(\"secret\")\n            .build());\n\n        var gcpKmsManual = new ConnectorGcpKms(\"gcpKmsManual\", ConnectorGcpKmsArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .region(\"us-west1\")\n            .gcpProjectId(\"1234567\")\n            .keyRing(\"key_ring\")\n            .keyName(\"key_name\")\n            .manual(ConnectorGcpKmsManualArgs.builder()\n                .credentials(test.id().applyValue(_id -\u003e String.format(\"account.%s\", _id)))\n                .delegateSelectors(\"harness-delegate\")\n                .build())\n            .build());\n\n        var gcpKmsOidcPlatform = new ConnectorGcpKms(\"gcpKmsOidcPlatform\", ConnectorGcpKmsArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .region(\"us-west1\")\n            .gcpProjectId(\"1234567\")\n            .keyRing(\"key_ring\")\n            .keyName(\"key_name\")\n            .executeOnDelegate(false)\n            .oidcAuthentications(ConnectorGcpKmsOidcAuthenticationArgs.builder()\n                .workloadPoolId(\"harness-pool-test\")\n                .providerId(\"harness\")\n                .gcpProjectId(\"1234567\")\n                .serviceAccountEmail(\"harness.sample@iam.gserviceaccount.com\")\n                .build())\n            .build());\n\n        var gcpKmsOidcDelegate = new ConnectorGcpKms(\"gcpKmsOidcDelegate\", ConnectorGcpKmsArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .region(\"us-west1\")\n            .gcpProjectId(\"1234567\")\n            .keyRing(\"key_ring\")\n            .keyName(\"key_name\")\n            .oidcAuthentications(ConnectorGcpKmsOidcAuthenticationArgs.builder()\n                .workloadPoolId(\"harness-pool-test\")\n                .providerId(\"harness\")\n                .gcpProjectId(\"1234567\")\n                .serviceAccountEmail(\"harness.sample@iam.gserviceaccount.com\")\n                .delegateSelectors(\"harness-delegate\")\n                .build())\n            .build());\n\n        var gcpKmsOidcDelegateDefault = new ConnectorGcpKms(\"gcpKmsOidcDelegateDefault\", ConnectorGcpKmsArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .region(\"us-west1\")\n            .gcpProjectId(\"1234567\")\n            .keyRing(\"key_ring\")\n            .keyName(\"key_name\")\n            .default_(true)\n            .oidcAuthentications(ConnectorGcpKmsOidcAuthenticationArgs.builder()\n                .workloadPoolId(\"harness-pool-test\")\n                .providerId(\"harness\")\n                .gcpProjectId(\"1234567\")\n                .serviceAccountEmail(\"harness.sample@iam.gserviceaccount.com\")\n                .delegateSelectors(\"harness-delegate\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:SecretText\n    properties:\n      identifier: '%[1]s'\n      name: '%[2]s'\n      description: test\n      tags:\n        - foo:bar\n      secretManagerIdentifier: harnessSecretManager\n      valueType: Reference\n      value: secret\n  gcpKmsManual:\n    type: harness:platform:ConnectorGcpKms\n    name: gcp_kms_manual\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      region: us-west1\n      gcpProjectId: '1234567'\n      keyRing: key_ring\n      keyName: key_name\n      manual:\n        credentials: account.${test.id}\n        delegateSelectors:\n          - harness-delegate\n  gcpKmsOidcPlatform:\n    type: harness:platform:ConnectorGcpKms\n    name: gcp_kms_oidc_platform\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      region: us-west1\n      gcpProjectId: '1234567'\n      keyRing: key_ring\n      keyName: key_name\n      executeOnDelegate: false\n      oidcAuthentications:\n        - workloadPoolId: harness-pool-test\n          providerId: harness\n          gcpProjectId: '1234567'\n          serviceAccountEmail: harness.sample@iam.gserviceaccount.com\n  gcpKmsOidcDelegate:\n    type: harness:platform:ConnectorGcpKms\n    name: gcp_kms_oidc_delegate\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      region: us-west1\n      gcpProjectId: '1234567'\n      keyRing: key_ring\n      keyName: key_name\n      oidcAuthentications:\n        - workloadPoolId: harness-pool-test\n          providerId: harness\n          gcpProjectId: '1234567'\n          serviceAccountEmail: harness.sample@iam.gserviceaccount.com\n          delegateSelectors:\n            - harness-delegate\n  gcpKmsOidcDelegateDefault:\n    type: harness:platform:ConnectorGcpKms\n    name: gcp_kms_oidc_delegate_default\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      region: us-west1\n      gcpProjectId: '1234567'\n      keyRing: key_ring\n      keyName: key_name\n      default: true\n      oidcAuthentications:\n        - workloadPoolId: harness-pool-test\n          providerId: harness\n          gcpProjectId: '1234567'\n          serviceAccountEmail: harness.sample@iam.gserviceaccount.com\n          delegateSelectors:\n            - harness-delegate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level gcp connector\n\n```sh\n$ pulumi import harness:platform/connectorGcpKms:ConnectorGcpKms example \u003cconnector_id\u003e\n```\n\nImport org level gcp connector\n\n```sh\n$ pulumi import harness:platform/connectorGcpKms:ConnectorGcpKms example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level gcp connector\n\n```sh\n$ pulumi import harness:platform/connectorGcpKms:ConnectorGcpKms example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"default":{"type":"boolean","description":"Set this flag to set this secret manager as default secret manager.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on Delegate.\n"},"gcpProjectId":{"type":"string","description":"The project ID of the GCP KMS.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"keyName":{"type":"string","description":"The key name of the GCP KMS.\n"},"keyRing":{"type":"string","description":"The key ring of the GCP KMS.\n"},"manual":{"$ref":"#/types/harness:platform/ConnectorGcpKmsManual:ConnectorGcpKmsManual","description":"Manual credential configuration.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorGcpKmsOidcAuthentication:ConnectorGcpKmsOidcAuthentication"},"description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"region":{"type":"string","description":"The region of the GCP KMS.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["gcpProjectId","identifier","keyName","keyRing","name","region"],"inputProperties":{"default":{"type":"boolean","description":"Set this flag to set this secret manager as default secret manager.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on Delegate.\n"},"gcpProjectId":{"type":"string","description":"The project ID of the GCP KMS.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"keyName":{"type":"string","description":"The key name of the GCP KMS.\n"},"keyRing":{"type":"string","description":"The key ring of the GCP KMS.\n"},"manual":{"$ref":"#/types/harness:platform/ConnectorGcpKmsManual:ConnectorGcpKmsManual","description":"Manual credential configuration.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorGcpKmsOidcAuthentication:ConnectorGcpKmsOidcAuthentication"},"description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"region":{"type":"string","description":"The region of the GCP KMS.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["gcpProjectId","identifier","keyName","keyRing","region"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectorGcpKms resources.\n","properties":{"default":{"type":"boolean","description":"Set this flag to set this secret manager as default secret manager.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on Delegate.\n"},"gcpProjectId":{"type":"string","description":"The project ID of the GCP KMS.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"keyName":{"type":"string","description":"The key name of the GCP KMS.\n"},"keyRing":{"type":"string","description":"The key ring of the GCP KMS.\n"},"manual":{"$ref":"#/types/harness:platform/ConnectorGcpKmsManual:ConnectorGcpKmsManual","description":"Manual credential configuration.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorGcpKmsOidcAuthentication:ConnectorGcpKmsOidcAuthentication"},"description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"region":{"type":"string","description":"The region of the GCP KMS.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/connectorJdbc:ConnectorJdbc":{"description":"Resource for creating a JDBC connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level jdbc connector\n\n```sh\n$ pulumi import harness:platform/connectorJdbc:ConnectorJdbc example \u003cconnector_id\u003e\n```\n\nImport org level jdbc connector\n\n```sh\n$ pulumi import harness:platform/connectorJdbc:ConnectorJdbc example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level jdbc connector\n\n```sh\n$ pulumi import harness:platform/connectorJdbc:ConnectorJdbc example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"credentials":{"$ref":"#/types/harness:platform/ConnectorJdbcCredentials:ConnectorJdbcCredentials","description":"The credentials to use for the database server.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"The URL of the database server.\n"}},"required":["credentials","identifier","name","url"],"inputProperties":{"credentials":{"$ref":"#/types/harness:platform/ConnectorJdbcCredentials:ConnectorJdbcCredentials","description":"The credentials to use for the database server.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"The URL of the database server.\n"}},"requiredInputs":["credentials","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectorJdbc resources.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/ConnectorJdbcCredentials:ConnectorJdbcCredentials","description":"The credentials to use for the database server.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"The URL of the database server.\n"}},"type":"object"}},"harness:platform/connectorPdc:ConnectorPdc":{"description":"Resource for creating a Pdc connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level pdc connector\n\n```sh\n$ pulumi import harness:platform/connectorPdc:ConnectorPdc example \u003cconnector_id\u003e\n```\n\nImport org level pdc connector\n\n```sh\n$ pulumi import harness:platform/connectorPdc:ConnectorPdc example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level pdc connector\n\n```sh\n$ pulumi import harness:platform/connectorPdc:ConnectorPdc example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"hosts":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorPdcHost:ConnectorPdcHost"},"description":"Host of the Physical data centers.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["hosts","identifier","name"],"inputProperties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"hosts":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorPdcHost:ConnectorPdcHost"},"description":"Host of the Physical data centers.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["hosts","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectorPdc resources.\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"hosts":{"type":"array","items":{"$ref":"#/types/harness:platform/ConnectorPdcHost:ConnectorPdcHost"},"description":"Host of the Physical data centers.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/connectorRancher:ConnectorRancher":{"description":"Resource for creating a Rancher connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst bearerToken = new harness.platform.KubernetesConnector(\"bearer_token\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"description\",\n    tags: [\"foo:bar\"],\n    delegateSelectors: [\"harness-delegate\"],\n    rancherUrl: \"https://rancher.cluster.example\",\n    bearerToken: [{\n        bearerTokenRef: \"account.test_rancher_bearer_token\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nbearer_token = harness.platform.KubernetesConnector(\"bearer_token\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"description\",\n    tags=[\"foo:bar\"],\n    delegate_selectors=[\"harness-delegate\"],\n    rancher_url=\"https://rancher.cluster.example\",\n    bearer_token=[{\n        \"bearerTokenRef\": \"account.test_rancher_bearer_token\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var bearerToken = new Harness.Platform.KubernetesConnector(\"bearer_token\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"description\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        RancherUrl = \"https://rancher.cluster.example\",\n        BearerToken = new[]\n        {\n            \n            {\n                { \"bearerTokenRef\", \"account.test_rancher_bearer_token\" },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewKubernetesConnector(ctx, \"bearer_token\", \u0026platform.KubernetesConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tRancherUrl: \"https://rancher.cluster.example\",\n\t\t\tBearerToken: []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"bearerTokenRef\": \"account.test_rancher_bearer_token\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.KubernetesConnector;\nimport com.pulumi.harness.platform.KubernetesConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var bearerToken = new KubernetesConnector(\"bearerToken\", KubernetesConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"description\")\n            .tags(\"foo:bar\")\n            .delegateSelectors(\"harness-delegate\")\n            .rancherUrl(\"https://rancher.cluster.example\")\n            .bearerToken(List.of(Map.of(\"bearerTokenRef\", \"account.test_rancher_bearer_token\")))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  bearerToken:\n    type: harness:platform:KubernetesConnector\n    name: bearer_token\n    properties:\n      identifier: identifier\n      name: name\n      description: description\n      tags:\n        - foo:bar\n      delegateSelectors:\n        - harness-delegate\n      rancherUrl: https://rancher.cluster.example\n      bearerToken:\n        - bearerTokenRef: account.test_rancher_bearer_token\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level rancher connector\n\n```sh\n$ pulumi import harness:platform/connectorRancher:ConnectorRancher example \u003cconnector_id\u003e\n```\n\nImport org level rancher connector\n\n```sh\n$ pulumi import harness:platform/connectorRancher:ConnectorRancher example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level rancher connector\n\n```sh\n$ pulumi import harness:platform/connectorRancher:ConnectorRancher example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"bearerToken":{"$ref":"#/types/harness:platform/ConnectorRancherBearerToken:ConnectorRancherBearerToken","description":"Bearer token information for the rancher cluster.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Selectors to use for the delegate.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"rancherUrl":{"type":"string","description":"The URL of the Rancher cluster.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["forceDelete","identifier","name","rancherUrl"],"inputProperties":{"bearerToken":{"$ref":"#/types/harness:platform/ConnectorRancherBearerToken:ConnectorRancherBearerToken","description":"Bearer token information for the rancher cluster.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Selectors to use for the delegate.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"rancherUrl":{"type":"string","description":"The URL of the Rancher cluster.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier","rancherUrl"],"stateInputs":{"description":"Input properties used for looking up and filtering ConnectorRancher resources.\n","properties":{"bearerToken":{"$ref":"#/types/harness:platform/ConnectorRancherBearerToken:ConnectorRancherBearerToken","description":"Bearer token information for the rancher cluster.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Selectors to use for the delegate.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"rancherUrl":{"type":"string","description":"The URL of the Rancher cluster.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/dashboardFolders:DashboardFolders":{"description":"Resource for a Harness Custom Dashboard Folder.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst folder = new harness.platform.DashboardFolders(\"folder\", {name: \"name\"});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nfolder = harness.platform.DashboardFolders(\"folder\", name=\"name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var folder = new Harness.Platform.DashboardFolders(\"folder\", new()\n    {\n        Name = \"name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewDashboardFolders(ctx, \"folder\", \u0026platform.DashboardFoldersArgs{\n\t\t\tName: pulumi.String(\"name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.DashboardFolders;\nimport com.pulumi.harness.platform.DashboardFoldersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var folder = new DashboardFolders(\"folder\", DashboardFoldersArgs.builder()\n            .name(\"name\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  folder:\n    type: harness:platform:DashboardFolders\n    properties:\n      name: name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"createdAt":{"type":"string","description":"Created DateTime of the folder.\n"},"name":{"type":"string","description":"Name of the folder.\n"}},"required":["createdAt","name"],"inputProperties":{"name":{"type":"string","description":"Name of the folder.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering DashboardFolders resources.\n","properties":{"createdAt":{"type":"string","description":"Created DateTime of the folder.\n"},"name":{"type":"string","description":"Name of the folder.\n"}},"type":"object"}},"harness:platform/dashboards:Dashboards":{"description":"Resource for a Harness Custom Dashboard.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst dashboard = new harness.platform.Dashboards(\"dashboard\", {\n    dashboardId: \"111\",\n    description: \"dashboard_tag\",\n    resourceIdentifier: \"999\",\n    title: \"Dashboard Title\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ndashboard = harness.platform.Dashboards(\"dashboard\",\n    dashboard_id=\"111\",\n    description=\"dashboard_tag\",\n    resource_identifier=\"999\",\n    title=\"Dashboard Title\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dashboard = new Harness.Platform.Dashboards(\"dashboard\", new()\n    {\n        DashboardId = \"111\",\n        Description = \"dashboard_tag\",\n        ResourceIdentifier = \"999\",\n        Title = \"Dashboard Title\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewDashboards(ctx, \"dashboard\", \u0026platform.DashboardsArgs{\n\t\t\tDashboardId:        pulumi.String(\"111\"),\n\t\t\tDescription:        pulumi.String(\"dashboard_tag\"),\n\t\t\tResourceIdentifier: pulumi.String(\"999\"),\n\t\t\tTitle:              pulumi.String(\"Dashboard Title\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Dashboards;\nimport com.pulumi.harness.platform.DashboardsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var dashboard = new Dashboards(\"dashboard\", DashboardsArgs.builder()\n            .dashboardId(\"111\")\n            .description(\"dashboard_tag\")\n            .resourceIdentifier(\"999\")\n            .title(\"Dashboard Title\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  dashboard:\n    type: harness:platform:Dashboards\n    properties:\n      dashboardId: '111'\n      description: dashboard_tag\n      resourceIdentifier: '999'\n      title: Dashboard Title\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"createdAt":{"type":"string","description":"Created at timestamp of the Dashboard.\n"},"dashboardId":{"type":"string","description":"Unique identifier of the Template Dashboard to create from.\n"},"dataSources":{"type":"array","items":{"type":"string"},"description":"Data Sources within the Dashboard.\n"},"description":{"type":"string","description":"Description of the Dashboard.\n"},"favoriteCount":{"type":"integer","description":"Favorite count of the dashboard.\n"},"folderId":{"type":"string","description":"The Folder ID that the Dashboard belongs to.\n"},"lastAccessedAt":{"type":"string","description":"Last accessed at timestamp of the Dashboard.\n"},"models":{"type":"array","items":{"type":"string"},"description":"Data Models within the Dashboard.\n"},"name":{"type":"string","description":"Name of the Dashboard.\n"},"resourceIdentifier":{"type":"string","description":"The Folder ID that the Dashboard belongs to.\n"},"title":{"type":"string","description":"Title of the Dashboard.\n"},"type":{"type":"string","description":"Type of the dashboard.\n"},"viewCount":{"type":"integer","description":"View count of the dashboard.\n"}},"required":["createdAt","dashboardId","dataSources","favoriteCount","lastAccessedAt","models","name","resourceIdentifier","type","viewCount"],"inputProperties":{"createdAt":{"type":"string","description":"Created at timestamp of the Dashboard.\n"},"dashboardId":{"type":"string","description":"Unique identifier of the Template Dashboard to create from.\n","willReplaceOnChanges":true},"dataSources":{"type":"array","items":{"type":"string"},"description":"Data Sources within the Dashboard.\n"},"description":{"type":"string","description":"Description of the Dashboard.\n"},"folderId":{"type":"string","description":"The Folder ID that the Dashboard belongs to.\n"},"models":{"type":"array","items":{"type":"string"},"description":"Data Models within the Dashboard.\n"},"name":{"type":"string","description":"Name of the Dashboard.\n"},"resourceIdentifier":{"type":"string","description":"The Folder ID that the Dashboard belongs to.\n","willReplaceOnChanges":true},"title":{"type":"string","description":"Title of the Dashboard.\n"},"type":{"type":"string","description":"Type of the dashboard.\n"},"viewCount":{"type":"integer","description":"View count of the dashboard.\n"}},"requiredInputs":["dashboardId","resourceIdentifier"],"stateInputs":{"description":"Input properties used for looking up and filtering Dashboards resources.\n","properties":{"createdAt":{"type":"string","description":"Created at timestamp of the Dashboard.\n"},"dashboardId":{"type":"string","description":"Unique identifier of the Template Dashboard to create from.\n","willReplaceOnChanges":true},"dataSources":{"type":"array","items":{"type":"string"},"description":"Data Sources within the Dashboard.\n"},"description":{"type":"string","description":"Description of the Dashboard.\n"},"favoriteCount":{"type":"integer","description":"Favorite count of the dashboard.\n"},"folderId":{"type":"string","description":"The Folder ID that the Dashboard belongs to.\n"},"lastAccessedAt":{"type":"string","description":"Last accessed at timestamp of the Dashboard.\n"},"models":{"type":"array","items":{"type":"string"},"description":"Data Models within the Dashboard.\n"},"name":{"type":"string","description":"Name of the Dashboard.\n"},"resourceIdentifier":{"type":"string","description":"The Folder ID that the Dashboard belongs to.\n","willReplaceOnChanges":true},"title":{"type":"string","description":"Title of the Dashboard.\n"},"type":{"type":"string","description":"Type of the dashboard.\n"},"viewCount":{"type":"integer","description":"View count of the dashboard.\n"}},"type":"object"}},"harness:platform/datadogConnector:DatadogConnector":{"description":"Resource for creating a Datadog connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.DatadogConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://datadog.com\",\n    delegateSelectors: [\"harness-delegate\"],\n    applicationKeyRef: \"account.secret_id\",\n    apiKeyRef: \"account.secret_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.DatadogConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://datadog.com\",\n    delegate_selectors=[\"harness-delegate\"],\n    application_key_ref=\"account.secret_id\",\n    api_key_ref=\"account.secret_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.DatadogConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://datadog.com\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        ApplicationKeyRef = \"account.secret_id\",\n        ApiKeyRef = \"account.secret_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewDatadogConnector(ctx, \"test\", \u0026platform.DatadogConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://datadog.com\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tApplicationKeyRef: pulumi.String(\"account.secret_id\"),\n\t\t\tApiKeyRef:         pulumi.String(\"account.secret_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.DatadogConnector;\nimport com.pulumi.harness.platform.DatadogConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new DatadogConnector(\"test\", DatadogConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://datadog.com\")\n            .delegateSelectors(\"harness-delegate\")\n            .applicationKeyRef(\"account.secret_id\")\n            .apiKeyRef(\"account.secret_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:DatadogConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://datadog.com\n      delegateSelectors:\n        - harness-delegate\n      applicationKeyRef: account.secret_id\n      apiKeyRef: account.secret_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level datadog connector\n\n```sh\n$ pulumi import harness:platform/datadogConnector:DatadogConnector example \u003cconnector_id\u003e\n```\n\nImport org level datadog connector\n\n```sh\n$ pulumi import harness:platform/datadogConnector:DatadogConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level datadog connector\n\n```sh\n$ pulumi import harness:platform/datadogConnector:DatadogConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"apiKeyRef":{"type":"string","description":"Reference to the Harness secret containing the api 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}.\n"},"applicationKeyRef":{"type":"string","description":"Reference to the Harness secret containing the application 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Datadog server.\n"}},"required":["apiKeyRef","applicationKeyRef","identifier","name","url"],"inputProperties":{"apiKeyRef":{"type":"string","description":"Reference to the Harness secret containing the api 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}.\n"},"applicationKeyRef":{"type":"string","description":"Reference to the Harness secret containing the application 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Datadog server.\n"}},"requiredInputs":["apiKeyRef","applicationKeyRef","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering DatadogConnector resources.\n","properties":{"apiKeyRef":{"type":"string","description":"Reference to the Harness secret containing the api 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}.\n"},"applicationKeyRef":{"type":"string","description":"Reference to the Harness secret containing the application 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Datadog server.\n"}},"type":"object"}},"harness:platform/dbInstance:DbInstance":{"description":"Resource for creating a Harness DBDevOps Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.DbInstance(\"test\", {\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    name: \"name\",\n    tags: [\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schema: \"schema1\",\n    branch: \"main\",\n    connector: \"jdbcConnector\",\n    context: \"ctx\",\n    substituteProperties: {\n        key1: \"value1\",\n        key2: \"value2\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.DbInstance(\"test\",\n    identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    name=\"name\",\n    tags=[\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schema=\"schema1\",\n    branch=\"main\",\n    connector=\"jdbcConnector\",\n    context=\"ctx\",\n    substitute_properties={\n        \"key1\": \"value1\",\n        \"key2\": \"value2\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.DbInstance(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Name = \"name\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"bar:foo\",\n        },\n        Schema = \"schema1\",\n        Branch = \"main\",\n        Connector = \"jdbcConnector\",\n        Context = \"ctx\",\n        SubstituteProperties = \n        {\n            { \"key1\", \"value1\" },\n            { \"key2\", \"value2\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewDbInstance(ctx, \"test\", \u0026platform.DbInstanceArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t},\n\t\t\tSchema:    pulumi.String(\"schema1\"),\n\t\t\tBranch:    pulumi.String(\"main\"),\n\t\t\tConnector: pulumi.String(\"jdbcConnector\"),\n\t\t\tContext:   pulumi.String(\"ctx\"),\n\t\t\tSubstituteProperties: pulumi.StringMap{\n\t\t\t\t\"key1\": pulumi.String(\"value1\"),\n\t\t\t\t\"key2\": pulumi.String(\"value2\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.DbInstance;\nimport com.pulumi.harness.platform.DbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new DbInstance(\"test\", DbInstanceArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .name(\"name\")\n            .tags(            \n                \"foo:bar\",\n                \"bar:foo\")\n            .schema(\"schema1\")\n            .branch(\"main\")\n            .connector(\"jdbcConnector\")\n            .context(\"ctx\")\n            .substituteProperties(Map.ofEntries(\n                Map.entry(\"key1\", \"value1\"),\n                Map.entry(\"key2\", \"value2\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:DbInstance\n    properties:\n      identifier: identifier\n      orgId: org_id\n      projectId: project_id\n      name: name\n      tags:\n        - foo:bar\n        - bar:foo\n      schema: schema1\n      branch: main\n      connector: jdbcConnector\n      context: ctx\n      substituteProperties:\n        key1: value1\n        key2: value2\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport project level db instance\n\n```sh\n$ pulumi import harness:platform/dbInstance:DbInstance example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cdb_schema_id\u003e/\u003cdb_instance_id\u003e\n```\n\n","properties":{"branch":{"type":"string","description":"The branch of changeSet repository\n"},"connector":{"type":"string","description":"The connector to database\n"},"context":{"type":"string","description":"The liquibase context\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"schema":{"type":"string","description":"The identifier of the parent database schema\n"},"substituteProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"The properties to substitute in changelog migration script\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["connector","identifier","name","orgId","projectId","schema"],"inputProperties":{"branch":{"type":"string","description":"The branch of changeSet repository\n"},"connector":{"type":"string","description":"The connector to database\n"},"context":{"type":"string","description":"The liquibase context\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"schema":{"type":"string","description":"The identifier of the parent database schema\n"},"substituteProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"The properties to substitute in changelog migration script\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["connector","identifier","orgId","projectId","schema"],"stateInputs":{"description":"Input properties used for looking up and filtering DbInstance resources.\n","properties":{"branch":{"type":"string","description":"The branch of changeSet repository\n"},"connector":{"type":"string","description":"The connector to database\n"},"context":{"type":"string","description":"The liquibase context\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"schema":{"type":"string","description":"The identifier of the parent database schema\n"},"substituteProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"The properties to substitute in changelog migration script\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/dbSchema:DbSchema":{"description":"Resource for creating a Harness DBDevOps Schema.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst defaultTypeTest = new harness.platform.DbSchema(\"default_type_test\", {\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    name: \"name\",\n    service: \"service1\",\n    tags: [\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schemaSource: {\n        connector: \"gitConnector\",\n        repo: \"TestRepo\",\n        location: \"db/example-changelog.yaml\",\n        archivePath: \"path/to/archive.zip\",\n    },\n});\nconst liquibaseRepositoryTest = new harness.platform.DbSchema(\"liquibase_repository_test\", {\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    name: \"name\",\n    service: \"service1\",\n    type: \"Repository\",\n    migrationType: \"Liquibase\",\n    tags: [\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schemaSource: {\n        connector: \"gitConnector\",\n        repo: \"TestRepo\",\n        location: \"db/example-changelog.yaml\",\n        archivePath: \"path/to/archive.zip\",\n    },\n});\nconst liquibaseScriptTest = new harness.platform.DbSchema(\"liquibase_script_test\", {\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    name: \"name\",\n    migrationType: \"Liquibase\",\n    service: \"service1\",\n    type: \"Script\",\n    tags: [\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    changelogScript: {\n        image: \"plugins/image\",\n        command: \"echo \\\\\\\"hello dbops\\\\\\\"\",\n        shell: \"sh/bash\",\n        location: \"db/example-changelog.yaml\",\n    },\n});\nconst flywayRepositoryTest = new harness.platform.DbSchema(\"flyway_repository_test\", {\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    name: \"name\",\n    service: \"service1\",\n    type: \"Repository\",\n    migrationType: \"Flyway\",\n    tags: [\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schemaSource: {\n        connector: \"gitConnector\",\n        repo: \"TestRepo\",\n        location: \"db/flyway/migrations\",\n        toml: \"db/flyway.toml\",\n        archivePath: \"path/to/archive.zip\",\n    },\n});\nconst flywayScriptTest = new harness.platform.DbSchema(\"flyway_script_test\", {\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    name: \"name\",\n    migrationType: \"Flyway\",\n    service: \"service1\",\n    type: \"Script\",\n    tags: [\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    changelogScript: {\n        image: \"plugins/image\",\n        command: \"echo \\\\\\\"hello dbops\\\\\\\"\",\n        shell: \"sh/bash\",\n        location: \"db/flyway/migrations\",\n        toml: \"db/flyway.toml\",\n    },\n});\nconst perconaEnabledTest = new harness.platform.DbSchema(\"percona_enabled_test\", {\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    name: \"name\",\n    service: \"service1\",\n    type: \"Repository\",\n    migrationType: \"Liquibase\",\n    usePercona: true,\n    tags: [\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schemaSource: {\n        connector: \"gitConnector\",\n        repo: \"TestRepo\",\n        location: \"db/example-changelog.yaml\",\n        archivePath: \"path/to/archive.zip\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ndefault_type_test = harness.platform.DbSchema(\"default_type_test\",\n    identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    name=\"name\",\n    service=\"service1\",\n    tags=[\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schema_source={\n        \"connector\": \"gitConnector\",\n        \"repo\": \"TestRepo\",\n        \"location\": \"db/example-changelog.yaml\",\n        \"archive_path\": \"path/to/archive.zip\",\n    })\nliquibase_repository_test = harness.platform.DbSchema(\"liquibase_repository_test\",\n    identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    name=\"name\",\n    service=\"service1\",\n    type=\"Repository\",\n    migration_type=\"Liquibase\",\n    tags=[\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schema_source={\n        \"connector\": \"gitConnector\",\n        \"repo\": \"TestRepo\",\n        \"location\": \"db/example-changelog.yaml\",\n        \"archive_path\": \"path/to/archive.zip\",\n    })\nliquibase_script_test = harness.platform.DbSchema(\"liquibase_script_test\",\n    identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    name=\"name\",\n    migration_type=\"Liquibase\",\n    service=\"service1\",\n    type=\"Script\",\n    tags=[\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    changelog_script={\n        \"image\": \"plugins/image\",\n        \"command\": \"echo \\\\\\\"hello dbops\\\\\\\"\",\n        \"shell\": \"sh/bash\",\n        \"location\": \"db/example-changelog.yaml\",\n    })\nflyway_repository_test = harness.platform.DbSchema(\"flyway_repository_test\",\n    identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    name=\"name\",\n    service=\"service1\",\n    type=\"Repository\",\n    migration_type=\"Flyway\",\n    tags=[\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schema_source={\n        \"connector\": \"gitConnector\",\n        \"repo\": \"TestRepo\",\n        \"location\": \"db/flyway/migrations\",\n        \"toml\": \"db/flyway.toml\",\n        \"archive_path\": \"path/to/archive.zip\",\n    })\nflyway_script_test = harness.platform.DbSchema(\"flyway_script_test\",\n    identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    name=\"name\",\n    migration_type=\"Flyway\",\n    service=\"service1\",\n    type=\"Script\",\n    tags=[\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    changelog_script={\n        \"image\": \"plugins/image\",\n        \"command\": \"echo \\\\\\\"hello dbops\\\\\\\"\",\n        \"shell\": \"sh/bash\",\n        \"location\": \"db/flyway/migrations\",\n        \"toml\": \"db/flyway.toml\",\n    })\npercona_enabled_test = harness.platform.DbSchema(\"percona_enabled_test\",\n    identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    name=\"name\",\n    service=\"service1\",\n    type=\"Repository\",\n    migration_type=\"Liquibase\",\n    use_percona=True,\n    tags=[\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schema_source={\n        \"connector\": \"gitConnector\",\n        \"repo\": \"TestRepo\",\n        \"location\": \"db/example-changelog.yaml\",\n        \"archive_path\": \"path/to/archive.zip\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var defaultTypeTest = new Harness.Platform.DbSchema(\"default_type_test\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Name = \"name\",\n        Service = \"service1\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"bar:foo\",\n        },\n        SchemaSource = new Harness.Platform.Inputs.DbSchemaSchemaSourceArgs\n        {\n            Connector = \"gitConnector\",\n            Repo = \"TestRepo\",\n            Location = \"db/example-changelog.yaml\",\n            ArchivePath = \"path/to/archive.zip\",\n        },\n    });\n\n    var liquibaseRepositoryTest = new Harness.Platform.DbSchema(\"liquibase_repository_test\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Name = \"name\",\n        Service = \"service1\",\n        Type = \"Repository\",\n        MigrationType = \"Liquibase\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"bar:foo\",\n        },\n        SchemaSource = new Harness.Platform.Inputs.DbSchemaSchemaSourceArgs\n        {\n            Connector = \"gitConnector\",\n            Repo = \"TestRepo\",\n            Location = \"db/example-changelog.yaml\",\n            ArchivePath = \"path/to/archive.zip\",\n        },\n    });\n\n    var liquibaseScriptTest = new Harness.Platform.DbSchema(\"liquibase_script_test\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Name = \"name\",\n        MigrationType = \"Liquibase\",\n        Service = \"service1\",\n        Type = \"Script\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"bar:foo\",\n        },\n        ChangelogScript = new Harness.Platform.Inputs.DbSchemaChangelogScriptArgs\n        {\n            Image = \"plugins/image\",\n            Command = \"echo \\\\\\\"hello dbops\\\\\\\"\",\n            Shell = \"sh/bash\",\n            Location = \"db/example-changelog.yaml\",\n        },\n    });\n\n    var flywayRepositoryTest = new Harness.Platform.DbSchema(\"flyway_repository_test\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Name = \"name\",\n        Service = \"service1\",\n        Type = \"Repository\",\n        MigrationType = \"Flyway\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"bar:foo\",\n        },\n        SchemaSource = new Harness.Platform.Inputs.DbSchemaSchemaSourceArgs\n        {\n            Connector = \"gitConnector\",\n            Repo = \"TestRepo\",\n            Location = \"db/flyway/migrations\",\n            Toml = \"db/flyway.toml\",\n            ArchivePath = \"path/to/archive.zip\",\n        },\n    });\n\n    var flywayScriptTest = new Harness.Platform.DbSchema(\"flyway_script_test\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Name = \"name\",\n        MigrationType = \"Flyway\",\n        Service = \"service1\",\n        Type = \"Script\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"bar:foo\",\n        },\n        ChangelogScript = new Harness.Platform.Inputs.DbSchemaChangelogScriptArgs\n        {\n            Image = \"plugins/image\",\n            Command = \"echo \\\\\\\"hello dbops\\\\\\\"\",\n            Shell = \"sh/bash\",\n            Location = \"db/flyway/migrations\",\n            Toml = \"db/flyway.toml\",\n        },\n    });\n\n    var perconaEnabledTest = new Harness.Platform.DbSchema(\"percona_enabled_test\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Name = \"name\",\n        Service = \"service1\",\n        Type = \"Repository\",\n        MigrationType = \"Liquibase\",\n        UsePercona = true,\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"bar:foo\",\n        },\n        SchemaSource = new Harness.Platform.Inputs.DbSchemaSchemaSourceArgs\n        {\n            Connector = \"gitConnector\",\n            Repo = \"TestRepo\",\n            Location = \"db/example-changelog.yaml\",\n            ArchivePath = \"path/to/archive.zip\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewDbSchema(ctx, \"default_type_test\", \u0026platform.DbSchemaArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tService:    pulumi.String(\"service1\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t},\n\t\t\tSchemaSource: \u0026platform.DbSchemaSchemaSourceArgs{\n\t\t\t\tConnector:   pulumi.String(\"gitConnector\"),\n\t\t\t\tRepo:        pulumi.String(\"TestRepo\"),\n\t\t\t\tLocation:    pulumi.String(\"db/example-changelog.yaml\"),\n\t\t\t\tArchivePath: pulumi.String(\"path/to/archive.zip\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewDbSchema(ctx, \"liquibase_repository_test\", \u0026platform.DbSchemaArgs{\n\t\t\tIdentifier:    pulumi.String(\"identifier\"),\n\t\t\tOrgId:         pulumi.String(\"org_id\"),\n\t\t\tProjectId:     pulumi.String(\"project_id\"),\n\t\t\tName:          pulumi.String(\"name\"),\n\t\t\tService:       pulumi.String(\"service1\"),\n\t\t\tType:          pulumi.String(\"Repository\"),\n\t\t\tMigrationType: pulumi.String(\"Liquibase\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t},\n\t\t\tSchemaSource: \u0026platform.DbSchemaSchemaSourceArgs{\n\t\t\t\tConnector:   pulumi.String(\"gitConnector\"),\n\t\t\t\tRepo:        pulumi.String(\"TestRepo\"),\n\t\t\t\tLocation:    pulumi.String(\"db/example-changelog.yaml\"),\n\t\t\t\tArchivePath: pulumi.String(\"path/to/archive.zip\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewDbSchema(ctx, \"liquibase_script_test\", \u0026platform.DbSchemaArgs{\n\t\t\tIdentifier:    pulumi.String(\"identifier\"),\n\t\t\tOrgId:         pulumi.String(\"org_id\"),\n\t\t\tProjectId:     pulumi.String(\"project_id\"),\n\t\t\tName:          pulumi.String(\"name\"),\n\t\t\tMigrationType: pulumi.String(\"Liquibase\"),\n\t\t\tService:       pulumi.String(\"service1\"),\n\t\t\tType:          pulumi.String(\"Script\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t},\n\t\t\tChangelogScript: \u0026platform.DbSchemaChangelogScriptArgs{\n\t\t\t\tImage:    pulumi.String(\"plugins/image\"),\n\t\t\t\tCommand:  pulumi.String(\"echo \\\\\\\"hello dbops\\\\\\\"\"),\n\t\t\t\tShell:    pulumi.String(\"sh/bash\"),\n\t\t\t\tLocation: pulumi.String(\"db/example-changelog.yaml\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewDbSchema(ctx, \"flyway_repository_test\", \u0026platform.DbSchemaArgs{\n\t\t\tIdentifier:    pulumi.String(\"identifier\"),\n\t\t\tOrgId:         pulumi.String(\"org_id\"),\n\t\t\tProjectId:     pulumi.String(\"project_id\"),\n\t\t\tName:          pulumi.String(\"name\"),\n\t\t\tService:       pulumi.String(\"service1\"),\n\t\t\tType:          pulumi.String(\"Repository\"),\n\t\t\tMigrationType: pulumi.String(\"Flyway\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t},\n\t\t\tSchemaSource: \u0026platform.DbSchemaSchemaSourceArgs{\n\t\t\t\tConnector:   pulumi.String(\"gitConnector\"),\n\t\t\t\tRepo:        pulumi.String(\"TestRepo\"),\n\t\t\t\tLocation:    pulumi.String(\"db/flyway/migrations\"),\n\t\t\t\tToml:        pulumi.String(\"db/flyway.toml\"),\n\t\t\t\tArchivePath: pulumi.String(\"path/to/archive.zip\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewDbSchema(ctx, \"flyway_script_test\", \u0026platform.DbSchemaArgs{\n\t\t\tIdentifier:    pulumi.String(\"identifier\"),\n\t\t\tOrgId:         pulumi.String(\"org_id\"),\n\t\t\tProjectId:     pulumi.String(\"project_id\"),\n\t\t\tName:          pulumi.String(\"name\"),\n\t\t\tMigrationType: pulumi.String(\"Flyway\"),\n\t\t\tService:       pulumi.String(\"service1\"),\n\t\t\tType:          pulumi.String(\"Script\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t},\n\t\t\tChangelogScript: \u0026platform.DbSchemaChangelogScriptArgs{\n\t\t\t\tImage:    pulumi.String(\"plugins/image\"),\n\t\t\t\tCommand:  pulumi.String(\"echo \\\\\\\"hello dbops\\\\\\\"\"),\n\t\t\t\tShell:    pulumi.String(\"sh/bash\"),\n\t\t\t\tLocation: pulumi.String(\"db/flyway/migrations\"),\n\t\t\t\tToml:     pulumi.String(\"db/flyway.toml\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewDbSchema(ctx, \"percona_enabled_test\", \u0026platform.DbSchemaArgs{\n\t\t\tIdentifier:    pulumi.String(\"identifier\"),\n\t\t\tOrgId:         pulumi.String(\"org_id\"),\n\t\t\tProjectId:     pulumi.String(\"project_id\"),\n\t\t\tName:          pulumi.String(\"name\"),\n\t\t\tService:       pulumi.String(\"service1\"),\n\t\t\tType:          pulumi.String(\"Repository\"),\n\t\t\tMigrationType: pulumi.String(\"Liquibase\"),\n\t\t\tUsePercona:    pulumi.Bool(true),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t},\n\t\t\tSchemaSource: \u0026platform.DbSchemaSchemaSourceArgs{\n\t\t\t\tConnector:   pulumi.String(\"gitConnector\"),\n\t\t\t\tRepo:        pulumi.String(\"TestRepo\"),\n\t\t\t\tLocation:    pulumi.String(\"db/example-changelog.yaml\"),\n\t\t\t\tArchivePath: pulumi.String(\"path/to/archive.zip\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.DbSchema;\nimport com.pulumi.harness.platform.DbSchemaArgs;\nimport com.pulumi.harness.platform.inputs.DbSchemaSchemaSourceArgs;\nimport com.pulumi.harness.platform.inputs.DbSchemaChangelogScriptArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var defaultTypeTest = new DbSchema(\"defaultTypeTest\", DbSchemaArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .name(\"name\")\n            .service(\"service1\")\n            .tags(            \n                \"foo:bar\",\n                \"bar:foo\")\n            .schemaSource(DbSchemaSchemaSourceArgs.builder()\n                .connector(\"gitConnector\")\n                .repo(\"TestRepo\")\n                .location(\"db/example-changelog.yaml\")\n                .archivePath(\"path/to/archive.zip\")\n                .build())\n            .build());\n\n        var liquibaseRepositoryTest = new DbSchema(\"liquibaseRepositoryTest\", DbSchemaArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .name(\"name\")\n            .service(\"service1\")\n            .type(\"Repository\")\n            .migrationType(\"Liquibase\")\n            .tags(            \n                \"foo:bar\",\n                \"bar:foo\")\n            .schemaSource(DbSchemaSchemaSourceArgs.builder()\n                .connector(\"gitConnector\")\n                .repo(\"TestRepo\")\n                .location(\"db/example-changelog.yaml\")\n                .archivePath(\"path/to/archive.zip\")\n                .build())\n            .build());\n\n        var liquibaseScriptTest = new DbSchema(\"liquibaseScriptTest\", DbSchemaArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .name(\"name\")\n            .migrationType(\"Liquibase\")\n            .service(\"service1\")\n            .type(\"Script\")\n            .tags(            \n                \"foo:bar\",\n                \"bar:foo\")\n            .changelogScript(DbSchemaChangelogScriptArgs.builder()\n                .image(\"plugins/image\")\n                .command(\"echo \\\\\\\"hello dbops\\\\\\\"\")\n                .shell(\"sh/bash\")\n                .location(\"db/example-changelog.yaml\")\n                .build())\n            .build());\n\n        var flywayRepositoryTest = new DbSchema(\"flywayRepositoryTest\", DbSchemaArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .name(\"name\")\n            .service(\"service1\")\n            .type(\"Repository\")\n            .migrationType(\"Flyway\")\n            .tags(            \n                \"foo:bar\",\n                \"bar:foo\")\n            .schemaSource(DbSchemaSchemaSourceArgs.builder()\n                .connector(\"gitConnector\")\n                .repo(\"TestRepo\")\n                .location(\"db/flyway/migrations\")\n                .toml(\"db/flyway.toml\")\n                .archivePath(\"path/to/archive.zip\")\n                .build())\n            .build());\n\n        var flywayScriptTest = new DbSchema(\"flywayScriptTest\", DbSchemaArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .name(\"name\")\n            .migrationType(\"Flyway\")\n            .service(\"service1\")\n            .type(\"Script\")\n            .tags(            \n                \"foo:bar\",\n                \"bar:foo\")\n            .changelogScript(DbSchemaChangelogScriptArgs.builder()\n                .image(\"plugins/image\")\n                .command(\"echo \\\\\\\"hello dbops\\\\\\\"\")\n                .shell(\"sh/bash\")\n                .location(\"db/flyway/migrations\")\n                .toml(\"db/flyway.toml\")\n                .build())\n            .build());\n\n        var perconaEnabledTest = new DbSchema(\"perconaEnabledTest\", DbSchemaArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .name(\"name\")\n            .service(\"service1\")\n            .type(\"Repository\")\n            .migrationType(\"Liquibase\")\n            .usePercona(true)\n            .tags(            \n                \"foo:bar\",\n                \"bar:foo\")\n            .schemaSource(DbSchemaSchemaSourceArgs.builder()\n                .connector(\"gitConnector\")\n                .repo(\"TestRepo\")\n                .location(\"db/example-changelog.yaml\")\n                .archivePath(\"path/to/archive.zip\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  defaultTypeTest:\n    type: harness:platform:DbSchema\n    name: default_type_test\n    properties:\n      identifier: identifier\n      orgId: org_id\n      projectId: project_id\n      name: name\n      service: service1\n      tags:\n        - foo:bar\n        - bar:foo\n      schemaSource:\n        connector: gitConnector\n        repo: TestRepo\n        location: db/example-changelog.yaml\n        archivePath: path/to/archive.zip\n  liquibaseRepositoryTest:\n    type: harness:platform:DbSchema\n    name: liquibase_repository_test\n    properties:\n      identifier: identifier\n      orgId: org_id\n      projectId: project_id\n      name: name\n      service: service1\n      type: Repository\n      migrationType: Liquibase\n      tags:\n        - foo:bar\n        - bar:foo\n      schemaSource:\n        connector: gitConnector\n        repo: TestRepo\n        location: db/example-changelog.yaml\n        archivePath: path/to/archive.zip\n  liquibaseScriptTest:\n    type: harness:platform:DbSchema\n    name: liquibase_script_test\n    properties:\n      identifier: identifier\n      orgId: org_id\n      projectId: project_id\n      name: name\n      migrationType: Liquibase\n      service: service1\n      type: Script\n      tags:\n        - foo:bar\n        - bar:foo\n      changelogScript:\n        image: plugins/image\n        command: echo \\\"hello dbops\\\"\n        shell: sh/bash\n        location: db/example-changelog.yaml\n  flywayRepositoryTest:\n    type: harness:platform:DbSchema\n    name: flyway_repository_test\n    properties:\n      identifier: identifier\n      orgId: org_id\n      projectId: project_id\n      name: name\n      service: service1\n      type: Repository\n      migrationType: Flyway\n      tags:\n        - foo:bar\n        - bar:foo\n      schemaSource:\n        connector: gitConnector\n        repo: TestRepo\n        location: db/flyway/migrations\n        toml: db/flyway.toml\n        archivePath: path/to/archive.zip\n  flywayScriptTest:\n    type: harness:platform:DbSchema\n    name: flyway_script_test\n    properties:\n      identifier: identifier\n      orgId: org_id\n      projectId: project_id\n      name: name\n      migrationType: Flyway\n      service: service1\n      type: Script\n      tags:\n        - foo:bar\n        - bar:foo\n      changelogScript:\n        image: plugins/image\n        command: echo \\\"hello dbops\\\"\n        shell: sh/bash\n        location: db/flyway/migrations\n        toml: db/flyway.toml\n  perconaEnabledTest:\n    type: harness:platform:DbSchema\n    name: percona_enabled_test\n    properties:\n      identifier: identifier\n      orgId: org_id\n      projectId: project_id\n      name: name\n      service: service1\n      type: Repository\n      migrationType: Liquibase\n      usePercona: true\n      tags:\n        - foo:bar\n        - bar:foo\n      schemaSource:\n        connector: gitConnector\n        repo: TestRepo\n        location: db/example-changelog.yaml\n        archivePath: path/to/archive.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport project level db schema\n\n```sh\n$ pulumi import harness:platform/dbSchema:DbSchema example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cdb_schema_id\u003e\n```\n\n","properties":{"changelogScript":{"$ref":"#/types/harness:platform/DbSchemaChangelogScript:DbSchemaChangelogScript","description":"Configuration to clone changeSets using script\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"migrationType":{"type":"string","description":"DB Migration tool type. Valid values are: Liquibase, Flyway\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"schemaSource":{"$ref":"#/types/harness:platform/DbSchemaSchemaSource:DbSchemaSchemaSource","description":"Provides a connector and path at which to find the database schema representation\n"},"service":{"type":"string","description":"The service associated with schema\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"Type of the database schema. Valid values are: SCRIPT, REPOSITORY\n"},"usePercona":{"type":"boolean","description":"If percona-toolkit is to be enabled for the database schema. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"required":["identifier","name","orgId","projectId"],"inputProperties":{"changelogScript":{"$ref":"#/types/harness:platform/DbSchemaChangelogScript:DbSchemaChangelogScript","description":"Configuration to clone changeSets using script\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"migrationType":{"type":"string","description":"DB Migration tool type. Valid values are: Liquibase, Flyway\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"schemaSource":{"$ref":"#/types/harness:platform/DbSchemaSchemaSource:DbSchemaSchemaSource","description":"Provides a connector and path at which to find the database schema representation\n"},"service":{"type":"string","description":"The service associated with schema\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"Type of the database schema. Valid values are: SCRIPT, REPOSITORY\n"},"usePercona":{"type":"boolean","description":"If percona-toolkit is to be enabled for the database schema. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"requiredInputs":["identifier","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering DbSchema resources.\n","properties":{"changelogScript":{"$ref":"#/types/harness:platform/DbSchemaChangelogScript:DbSchemaChangelogScript","description":"Configuration to clone changeSets using script\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"migrationType":{"type":"string","description":"DB Migration tool type. Valid values are: Liquibase, Flyway\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"schemaSource":{"$ref":"#/types/harness:platform/DbSchemaSchemaSource:DbSchemaSchemaSource","description":"Provides a connector and path at which to find the database schema representation\n"},"service":{"type":"string","description":"The service associated with schema\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"Type of the database schema. Valid values are: SCRIPT, REPOSITORY\n"},"usePercona":{"type":"boolean","description":"If percona-toolkit is to be enabled for the database schema. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"}},"type":"object"}},"harness:platform/defaultNotificationTemplateSet:DefaultNotificationTemplateSet":{"description":"Resource for creating a Harness Default Notification Template Set\n","properties":{"created":{"type":"integer","description":"Timestamp when the default notification template set was created.\n"},"description":{"type":"string","description":"Description for Default Notification Template Set\n"},"eventTemplateConfigurationSets":{"type":"array","items":{"$ref":"#/types/harness:platform/DefaultNotificationTemplateSetEventTemplateConfigurationSet:DefaultNotificationTemplateSetEventTemplateConfigurationSet"},"description":"Set of event-template configurations\n"},"identifier":{"type":"string","description":"Identifier of Default Notification Template Set\n"},"lastModified":{"type":"integer","description":"Timestamp when the default notification template set was last modified.\n"},"name":{"type":"string","description":"Name of Default Notification Template Set\n"},"notificationChannelType":{"type":"string","description":"Type of channel (e.g. SLACK, EMAIL, etc.)\n"},"notificationEntity":{"type":"string","description":"Type of the entity (e.g. PIPELINE, SERVICE, etc.)\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Key-value tags\n"}},"required":["created","eventTemplateConfigurationSets","identifier","lastModified","name","notificationChannelType","notificationEntity"],"inputProperties":{"description":{"type":"string","description":"Description for Default Notification Template Set\n"},"eventTemplateConfigurationSets":{"type":"array","items":{"$ref":"#/types/harness:platform/DefaultNotificationTemplateSetEventTemplateConfigurationSet:DefaultNotificationTemplateSetEventTemplateConfigurationSet"},"description":"Set of event-template configurations\n"},"identifier":{"type":"string","description":"Identifier of Default Notification Template Set\n"},"name":{"type":"string","description":"Name of Default Notification Template Set\n"},"notificationChannelType":{"type":"string","description":"Type of channel (e.g. SLACK, EMAIL, etc.)\n"},"notificationEntity":{"type":"string","description":"Type of the entity (e.g. PIPELINE, SERVICE, etc.)\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Key-value tags\n"}},"requiredInputs":["eventTemplateConfigurationSets","identifier","notificationChannelType","notificationEntity"],"stateInputs":{"description":"Input properties used for looking up and filtering DefaultNotificationTemplateSet resources.\n","properties":{"created":{"type":"integer","description":"Timestamp when the default notification template set was created.\n"},"description":{"type":"string","description":"Description for Default Notification Template Set\n"},"eventTemplateConfigurationSets":{"type":"array","items":{"$ref":"#/types/harness:platform/DefaultNotificationTemplateSetEventTemplateConfigurationSet:DefaultNotificationTemplateSetEventTemplateConfigurationSet"},"description":"Set of event-template configurations\n"},"identifier":{"type":"string","description":"Identifier of Default Notification Template Set\n"},"lastModified":{"type":"integer","description":"Timestamp when the default notification template set was last modified.\n"},"name":{"type":"string","description":"Name of Default Notification Template Set\n"},"notificationChannelType":{"type":"string","description":"Type of channel (e.g. SLACK, EMAIL, etc.)\n"},"notificationEntity":{"type":"string","description":"Type of the entity (e.g. PIPELINE, SERVICE, etc.)\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Key-value tags\n"}},"type":"object"}},"harness:platform/delegatetoken:Delegatetoken":{"description":"Resource for creating delegate tokens. Delegate tokens can be created and revoked. Revoked tokens immediately stop functioning and are only purged after 30 days, meaning you cannot recreate a token with the same name within that period.\nTo revoke a token, set\u003cspan pulumi-lang-nodejs=\" tokenStatus \" pulumi-lang-dotnet=\" TokenStatus \" pulumi-lang-go=\" tokenStatus \" pulumi-lang-python=\" token_status \" pulumi-lang-yaml=\" tokenStatus \" pulumi-lang-java=\" tokenStatus \"\u003e token_status \u003c/span\u003efield to \"REVOKED\".\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Create delegate token at account level\nconst accountLevel = new harness.platform.Delegatetoken(\"account_level\", {\n    name: \"account-delegate-token\",\n    accountId: \"account_id\",\n});\n// Create delegate token at organization level\nconst orgLevel = new harness.platform.Delegatetoken(\"org_level\", {\n    name: \"org-delegate-token\",\n    accountId: \"account_id\",\n    orgId: \"org_id\",\n});\n// Create delegate token at project level\nconst projectLevel = new harness.platform.Delegatetoken(\"project_level\", {\n    name: \"project-delegate-token\",\n    accountId: \"account_id\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n// Create delegate token with auto-expiry\nconst expiryToken = new harness.platform.Delegatetoken(\"expiry_token\", {\n    name: \"expiry-delegate-token\",\n    accountId: \"account_id\",\n    revokeAfter: 1769689600000,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Create delegate token at account level\naccount_level = harness.platform.Delegatetoken(\"account_level\",\n    name=\"account-delegate-token\",\n    account_id=\"account_id\")\n# Create delegate token at organization level\norg_level = harness.platform.Delegatetoken(\"org_level\",\n    name=\"org-delegate-token\",\n    account_id=\"account_id\",\n    org_id=\"org_id\")\n# Create delegate token at project level\nproject_level = harness.platform.Delegatetoken(\"project_level\",\n    name=\"project-delegate-token\",\n    account_id=\"account_id\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n# Create delegate token with auto-expiry\nexpiry_token = harness.platform.Delegatetoken(\"expiry_token\",\n    name=\"expiry-delegate-token\",\n    account_id=\"account_id\",\n    revoke_after=1769689600000)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create delegate token at account level\n    var accountLevel = new Harness.Platform.Delegatetoken(\"account_level\", new()\n    {\n        Name = \"account-delegate-token\",\n        AccountId = \"account_id\",\n    });\n\n    // Create delegate token at organization level\n    var orgLevel = new Harness.Platform.Delegatetoken(\"org_level\", new()\n    {\n        Name = \"org-delegate-token\",\n        AccountId = \"account_id\",\n        OrgId = \"org_id\",\n    });\n\n    // Create delegate token at project level\n    var projectLevel = new Harness.Platform.Delegatetoken(\"project_level\", new()\n    {\n        Name = \"project-delegate-token\",\n        AccountId = \"account_id\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n    // Create delegate token with auto-expiry\n    var expiryToken = new Harness.Platform.Delegatetoken(\"expiry_token\", new()\n    {\n        Name = \"expiry-delegate-token\",\n        AccountId = \"account_id\",\n        RevokeAfter = 1769689600000,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create delegate token at account level\n\t\t_, err := platform.NewDelegatetoken(ctx, \"account_level\", \u0026platform.DelegatetokenArgs{\n\t\t\tName:      pulumi.String(\"account-delegate-token\"),\n\t\t\tAccountId: pulumi.String(\"account_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create delegate token at organization level\n\t\t_, err = platform.NewDelegatetoken(ctx, \"org_level\", \u0026platform.DelegatetokenArgs{\n\t\t\tName:      pulumi.String(\"org-delegate-token\"),\n\t\t\tAccountId: pulumi.String(\"account_id\"),\n\t\t\tOrgId:     pulumi.String(\"org_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create delegate token at project level\n\t\t_, err = platform.NewDelegatetoken(ctx, \"project_level\", \u0026platform.DelegatetokenArgs{\n\t\t\tName:      pulumi.String(\"project-delegate-token\"),\n\t\t\tAccountId: pulumi.String(\"account_id\"),\n\t\t\tOrgId:     pulumi.String(\"org_id\"),\n\t\t\tProjectId: pulumi.String(\"project_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create delegate token with auto-expiry\n\t\t_, err = platform.NewDelegatetoken(ctx, \"expiry_token\", \u0026platform.DelegatetokenArgs{\n\t\t\tName:        pulumi.String(\"expiry-delegate-token\"),\n\t\t\tAccountId:   pulumi.String(\"account_id\"),\n\t\t\tRevokeAfter: pulumi.Int(1769689600000),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Delegatetoken;\nimport com.pulumi.harness.platform.DelegatetokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create delegate token at account level\n        var accountLevel = new Delegatetoken(\"accountLevel\", DelegatetokenArgs.builder()\n            .name(\"account-delegate-token\")\n            .accountId(\"account_id\")\n            .build());\n\n        // Create delegate token at organization level\n        var orgLevel = new Delegatetoken(\"orgLevel\", DelegatetokenArgs.builder()\n            .name(\"org-delegate-token\")\n            .accountId(\"account_id\")\n            .orgId(\"org_id\")\n            .build());\n\n        // Create delegate token at project level\n        var projectLevel = new Delegatetoken(\"projectLevel\", DelegatetokenArgs.builder()\n            .name(\"project-delegate-token\")\n            .accountId(\"account_id\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n        // Create delegate token with auto-expiry\n        var expiryToken = new Delegatetoken(\"expiryToken\", DelegatetokenArgs.builder()\n            .name(\"expiry-delegate-token\")\n            .accountId(\"account_id\")\n            .revokeAfter(1769689600000)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create delegate token at account level\n  accountLevel:\n    type: harness:platform:Delegatetoken\n    name: account_level\n    properties:\n      name: account-delegate-token\n      accountId: account_id\n  # Create delegate token at organization level\n  orgLevel:\n    type: harness:platform:Delegatetoken\n    name: org_level\n    properties:\n      name: org-delegate-token\n      accountId: account_id\n      orgId: org_id\n  # Create delegate token at project level\n  projectLevel:\n    type: harness:platform:Delegatetoken\n    name: project_level\n    properties:\n      name: project-delegate-token\n      accountId: account_id\n      orgId: org_id\n      projectId: project_id\n  # Create delegate token with auto-expiry\n  expiryToken:\n    type: harness:platform:Delegatetoken\n    name: expiry_token\n    properties:\n      name: expiry-delegate-token\n      accountId: account_id\n      revokeAfter: 1.7696896e+12 # Unix timestamp in milliseconds for token auto-expiration\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n"},"createdAt":{"type":"integer","description":"Time when the delegate token is created. This is an epoch timestamp.\n"},"createdBy":{"type":"object","additionalProperties":{"type":"string"},"description":"created by details\n"},"name":{"type":"string","description":"Name of the delegate token\n"},"orgId":{"type":"string","description":"Org Identifier for the Entity\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity\n"},"revokeAfter":{"type":"integer","description":"Epoch time in milliseconds after which the token will be marked as revoked. There can be a delay of up to one hour from the epoch value provided and actual revoking of the token.\n"},"tokenStatus":{"type":"string","description":"Status of Delegate Token (ACTIVE or REVOKED). If left empty both active and revoked tokens will be assumed\n"},"value":{"type":"string","description":"Value of the delegate token. Encoded in base64.\n","secret":true}},"required":["accountId","createdAt","createdBy","name","tokenStatus","value"],"inputProperties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n","willReplaceOnChanges":true},"createdAt":{"type":"integer","description":"Time when the delegate token is created. This is an epoch timestamp.\n"},"createdBy":{"type":"object","additionalProperties":{"type":"string"},"description":"created by details\n"},"name":{"type":"string","description":"Name of the delegate token\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Org Identifier for the Entity\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier for the Entity\n","willReplaceOnChanges":true},"revokeAfter":{"type":"integer","description":"Epoch time in milliseconds after which the token will be marked as revoked. There can be a delay of up to one hour from the epoch value provided and actual revoking of the token.\n","willReplaceOnChanges":true},"tokenStatus":{"type":"string","description":"Status of Delegate Token (ACTIVE or REVOKED). If left empty both active and revoked tokens will be assumed\n"},"value":{"type":"string","description":"Value of the delegate token. Encoded in base64.\n","secret":true}},"requiredInputs":["accountId"],"stateInputs":{"description":"Input properties used for looking up and filtering Delegatetoken resources.\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n","willReplaceOnChanges":true},"createdAt":{"type":"integer","description":"Time when the delegate token is created. This is an epoch timestamp.\n"},"createdBy":{"type":"object","additionalProperties":{"type":"string"},"description":"created by details\n"},"name":{"type":"string","description":"Name of the delegate token\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Org Identifier for the Entity\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier for the Entity\n","willReplaceOnChanges":true},"revokeAfter":{"type":"integer","description":"Epoch time in milliseconds after which the token will be marked as revoked. There can be a delay of up to one hour from the epoch value provided and actual revoking of the token.\n","willReplaceOnChanges":true},"tokenStatus":{"type":"string","description":"Status of Delegate Token (ACTIVE or REVOKED). If left empty both active and revoked tokens will be assumed\n"},"value":{"type":"string","description":"Value of the delegate token. Encoded in base64.\n","secret":true}},"type":"object"}},"harness:platform/dockerConnector:DockerConnector":{"description":"Resource for creating a Docker connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level docker connector\n\n```sh\n$ pulumi import harness:platform/dockerConnector:DockerConnector example \u003cconnector_id\u003e\n```\n\nImport org level docker connector\n\n```sh\n$ pulumi import harness:platform/dockerConnector:DockerConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level docker connector\n\n```sh\n$ pulumi import harness:platform/dockerConnector:DockerConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"credentials":{"$ref":"#/types/harness:platform/DockerConnectorCredentials:DockerConnectorCredentials","description":"The credentials to use for the docker registry. If not specified then the connection is made to the registry anonymously.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"The type of the docker registry. Valid options are DockerHub, Harbor, Other, Quay\n"},"url":{"type":"string","description":"The URL of the docker registry.\n"}},"required":["identifier","name","type","url"],"inputProperties":{"credentials":{"$ref":"#/types/harness:platform/DockerConnectorCredentials:DockerConnectorCredentials","description":"The credentials to use for the docker registry. If not specified then the connection is made to the registry anonymously.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"The type of the docker registry. Valid options are DockerHub, Harbor, Other, Quay\n"},"url":{"type":"string","description":"The URL of the docker registry.\n"}},"requiredInputs":["identifier","type","url"],"stateInputs":{"description":"Input properties used for looking up and filtering DockerConnector resources.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/DockerConnectorCredentials:DockerConnectorCredentials","description":"The credentials to use for the docker registry. If not specified then the connection is made to the registry anonymously.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"The type of the docker registry. Valid options are DockerHub, Harbor, Other, Quay\n"},"url":{"type":"string","description":"The URL of the docker registry.\n"}},"type":"object"}},"harness:platform/dynatraceConnector:DynatraceConnector":{"description":"Resource for creating a Dynatrace connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.DynatraceConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://dynatrace.com/\",\n    delegateSelectors: [\"harness-delegate\"],\n    apiTokenRef: \"account.secret_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.DynatraceConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://dynatrace.com/\",\n    delegate_selectors=[\"harness-delegate\"],\n    api_token_ref=\"account.secret_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.DynatraceConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://dynatrace.com/\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        ApiTokenRef = \"account.secret_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewDynatraceConnector(ctx, \"test\", \u0026platform.DynatraceConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://dynatrace.com/\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tApiTokenRef: pulumi.String(\"account.secret_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.DynatraceConnector;\nimport com.pulumi.harness.platform.DynatraceConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new DynatraceConnector(\"test\", DynatraceConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://dynatrace.com/\")\n            .delegateSelectors(\"harness-delegate\")\n            .apiTokenRef(\"account.secret_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:DynatraceConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://dynatrace.com/\n      delegateSelectors:\n        - harness-delegate\n      apiTokenRef: account.secret_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level dynatrace connector\n\n```sh\n$ pulumi import harness:platform/dynatraceConnector:DynatraceConnector example \u003cconnector_id\u003e\n```\n\nImport org level dynatrace connector\n\n```sh\n$ pulumi import harness:platform/dynatraceConnector:DynatraceConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level dynatrace connector\n\n```sh\n$ pulumi import harness:platform/dynatraceConnector:DynatraceConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"apiTokenRef":{"type":"string","description":"The reference to the Harness secret containing the 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Dynatrace server.\n"}},"required":["apiTokenRef","identifier","name","url"],"inputProperties":{"apiTokenRef":{"type":"string","description":"The reference to the Harness secret containing the 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Dynatrace server.\n"}},"requiredInputs":["apiTokenRef","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering DynatraceConnector resources.\n","properties":{"apiTokenRef":{"type":"string","description":"The reference to the Harness secret containing the 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Dynatrace server.\n"}},"type":"object"}},"harness:platform/elasticsearchConnector:ElasticsearchConnector":{"description":"Resource for creating an ElasticSearch connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Authentication mechanism as api token\nconst token = new harness.platform.ElasticsearchConnector(\"token\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"http://elk6.dev.harness.io:9200/\",\n    delegateSelectors: [\"harness-delegate\"],\n    apiToken: {\n        clientId: \"client_id\",\n        clientSecretRef: \"account.secret_id\",\n    },\n});\n// Authentication mechanism as username and password\nconst test = new harness.platform.ElasticsearchConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"http://elk6.dev.harness.io:9200/\",\n    delegateSelectors: [\"harness-delegate\"],\n    usernamePassword: {\n        username: \"username\",\n        passwordRef: \"account.secret_id\",\n    },\n});\n// Authentication mechanism without authentication\nconst noAuthentication = new harness.platform.ElasticsearchConnector(\"no_authentication\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"http://elk6.dev.harness.io:9200/\",\n    delegateSelectors: [\"harness-delegate\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Authentication mechanism as api token\ntoken = harness.platform.ElasticsearchConnector(\"token\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"http://elk6.dev.harness.io:9200/\",\n    delegate_selectors=[\"harness-delegate\"],\n    api_token={\n        \"client_id\": \"client_id\",\n        \"client_secret_ref\": \"account.secret_id\",\n    })\n# Authentication mechanism as username and password\ntest = harness.platform.ElasticsearchConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"http://elk6.dev.harness.io:9200/\",\n    delegate_selectors=[\"harness-delegate\"],\n    username_password={\n        \"username\": \"username\",\n        \"password_ref\": \"account.secret_id\",\n    })\n# Authentication mechanism without authentication\nno_authentication = harness.platform.ElasticsearchConnector(\"no_authentication\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"http://elk6.dev.harness.io:9200/\",\n    delegate_selectors=[\"harness-delegate\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Authentication mechanism as api token\n    var token = new Harness.Platform.ElasticsearchConnector(\"token\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"http://elk6.dev.harness.io:9200/\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        ApiToken = new Harness.Platform.Inputs.ElasticsearchConnectorApiTokenArgs\n        {\n            ClientId = \"client_id\",\n            ClientSecretRef = \"account.secret_id\",\n        },\n    });\n\n    // Authentication mechanism as username and password\n    var test = new Harness.Platform.ElasticsearchConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"http://elk6.dev.harness.io:9200/\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        UsernamePassword = new Harness.Platform.Inputs.ElasticsearchConnectorUsernamePasswordArgs\n        {\n            Username = \"username\",\n            PasswordRef = \"account.secret_id\",\n        },\n    });\n\n    // Authentication mechanism without authentication\n    var noAuthentication = new Harness.Platform.ElasticsearchConnector(\"no_authentication\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"http://elk6.dev.harness.io:9200/\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Authentication mechanism as api token\n\t\t_, err := platform.NewElasticsearchConnector(ctx, \"token\", \u0026platform.ElasticsearchConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"http://elk6.dev.harness.io:9200/\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tApiToken: \u0026platform.ElasticsearchConnectorApiTokenArgs{\n\t\t\t\tClientId:        pulumi.String(\"client_id\"),\n\t\t\t\tClientSecretRef: pulumi.String(\"account.secret_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Authentication mechanism as username and password\n\t\t_, err = platform.NewElasticsearchConnector(ctx, \"test\", \u0026platform.ElasticsearchConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"http://elk6.dev.harness.io:9200/\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tUsernamePassword: \u0026platform.ElasticsearchConnectorUsernamePasswordArgs{\n\t\t\t\tUsername:    pulumi.String(\"username\"),\n\t\t\t\tPasswordRef: pulumi.String(\"account.secret_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Authentication mechanism without authentication\n\t\t_, err = platform.NewElasticsearchConnector(ctx, \"no_authentication\", \u0026platform.ElasticsearchConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"http://elk6.dev.harness.io:9200/\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.ElasticsearchConnector;\nimport com.pulumi.harness.platform.ElasticsearchConnectorArgs;\nimport com.pulumi.harness.platform.inputs.ElasticsearchConnectorApiTokenArgs;\nimport com.pulumi.harness.platform.inputs.ElasticsearchConnectorUsernamePasswordArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Authentication mechanism as api token\n        var token = new ElasticsearchConnector(\"token\", ElasticsearchConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"http://elk6.dev.harness.io:9200/\")\n            .delegateSelectors(\"harness-delegate\")\n            .apiToken(ElasticsearchConnectorApiTokenArgs.builder()\n                .clientId(\"client_id\")\n                .clientSecretRef(\"account.secret_id\")\n                .build())\n            .build());\n\n        // Authentication mechanism as username and password\n        var test = new ElasticsearchConnector(\"test\", ElasticsearchConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"http://elk6.dev.harness.io:9200/\")\n            .delegateSelectors(\"harness-delegate\")\n            .usernamePassword(ElasticsearchConnectorUsernamePasswordArgs.builder()\n                .username(\"username\")\n                .passwordRef(\"account.secret_id\")\n                .build())\n            .build());\n\n        // Authentication mechanism without authentication\n        var noAuthentication = new ElasticsearchConnector(\"noAuthentication\", ElasticsearchConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"http://elk6.dev.harness.io:9200/\")\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Authentication mechanism as api token\n  token:\n    type: harness:platform:ElasticsearchConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: http://elk6.dev.harness.io:9200/\n      delegateSelectors:\n        - harness-delegate\n      apiToken:\n        clientId: client_id\n        clientSecretRef: account.secret_id\n  # Authentication mechanism as username and password\n  test:\n    type: harness:platform:ElasticsearchConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: http://elk6.dev.harness.io:9200/\n      delegateSelectors:\n        - harness-delegate\n      usernamePassword:\n        username: username\n        passwordRef: account.secret_id\n  # Authentication mechanism without authentication\n  noAuthentication:\n    type: harness:platform:ElasticsearchConnector\n    name: no_authentication\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: http://elk6.dev.harness.io:9200/\n      delegateSelectors:\n        - harness-delegate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level elasticsearch connector\n\n```sh\n$ pulumi import harness:platform/elasticsearchConnector:ElasticsearchConnector example \u003cconnector_id\u003e\n```\n\nImport org level elasticsearch connector\n\n```sh\n$ pulumi import harness:platform/elasticsearchConnector:ElasticsearchConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level elasticsearch connector\n\n```sh\n$ pulumi import harness:platform/elasticsearchConnector:ElasticsearchConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"apiToken":{"$ref":"#/types/harness:platform/ElasticsearchConnectorApiToken:ElasticsearchConnectorApiToken","description":"Authenticate to ElasticSearch using api token.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"noAuthentication":{"$ref":"#/types/harness:platform/ElasticsearchConnectorNoAuthentication:ElasticsearchConnectorNoAuthentication","description":"No Authentication to ElasticSearch\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the elasticsearch\n"},"usernamePassword":{"$ref":"#/types/harness:platform/ElasticsearchConnectorUsernamePassword:ElasticsearchConnectorUsernamePassword","description":"Authenticate to ElasticSearch using username and password.\n"}},"required":["identifier","name","url"],"inputProperties":{"apiToken":{"$ref":"#/types/harness:platform/ElasticsearchConnectorApiToken:ElasticsearchConnectorApiToken","description":"Authenticate to ElasticSearch using api token.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"noAuthentication":{"$ref":"#/types/harness:platform/ElasticsearchConnectorNoAuthentication:ElasticsearchConnectorNoAuthentication","description":"No Authentication to ElasticSearch\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the elasticsearch\n"},"usernamePassword":{"$ref":"#/types/harness:platform/ElasticsearchConnectorUsernamePassword:ElasticsearchConnectorUsernamePassword","description":"Authenticate to ElasticSearch using username and password.\n"}},"requiredInputs":["identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering ElasticsearchConnector resources.\n","properties":{"apiToken":{"$ref":"#/types/harness:platform/ElasticsearchConnectorApiToken:ElasticsearchConnectorApiToken","description":"Authenticate to ElasticSearch using api token.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"noAuthentication":{"$ref":"#/types/harness:platform/ElasticsearchConnectorNoAuthentication:ElasticsearchConnectorNoAuthentication","description":"No Authentication to ElasticSearch\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the elasticsearch\n"},"usernamePassword":{"$ref":"#/types/harness:platform/ElasticsearchConnectorUsernamePassword:ElasticsearchConnectorUsernamePassword","description":"Authenticate to ElasticSearch using username and password.\n"}},"type":"object"}},"harness:platform/environment:Environment":{"description":"Resource for creating a Harness environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.Environment(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    tags: [\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    type: \"PreProduction\",\n    gitDetails: {\n        branchName: \"branchName\",\n        commitMessage: \"commitMessage\",\n        filePath: \"filePath\",\n        connectorRef: \"connectorRef\",\n        storeType: \"REMOTE\",\n        repoName: \"repoName\",\n    },\n    yaml: `environment:\n   name: name\n   identifier: identifier\n   orgIdentifier: org_id\n   projectIdentifier: project_id\n   type: PreProduction\n   tags:\n     foo: bar\n     bar: foo\n   variables:\n     - name: envVar1\n       type: String\n       value: v1\n       description: \\\\\"\\\\\"\n     - name: envVar2\n       type: String\n       value: v2\n       description: \\\\\"\\\\\"\n   overrides:\n     manifests:\n       - manifest:\n           identifier: manifestEnv\n           type: Values\n           spec:\n             store:\n               type: Git\n               spec:\n                 connectorRef: \u003c+input\u003e\n                 gitFetchType: Branch\n                 paths:\n                   - file1\n                 repoName: \u003c+input\u003e\n                 branch: master\n     configFiles:\n       - configFile:\n           identifier: configFileEnv\n           spec:\n             store:\n               type: Harness\n               spec:\n                 files:\n                   - account:/Add-ons/svcOverrideTest\n                 secretFiles: []\n`,\n});\n//## Importing Environment from Git\nconst test = new harness.platform.Environment(\"test\", {\n    identifier: \"accEnv\",\n    name: \"accEnv\",\n    type: \"PreProduction\",\n    gitDetails: {\n        storeType: \"REMOTE\",\n        connectorRef: \"account.DoNotDeleteGitX\",\n        repoName: \"pcf_practice\",\n        filePath: \".harness/accountEnvironment.yaml\",\n        branch: \"main\",\n        importFromGit: true,\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.Environment(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    tags=[\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    type=\"PreProduction\",\n    git_details={\n        \"branch_name\": \"branchName\",\n        \"commit_message\": \"commitMessage\",\n        \"file_path\": \"filePath\",\n        \"connector_ref\": \"connectorRef\",\n        \"store_type\": \"REMOTE\",\n        \"repo_name\": \"repoName\",\n    },\n    yaml=\"\"\"environment:\n   name: name\n   identifier: identifier\n   orgIdentifier: org_id\n   projectIdentifier: project_id\n   type: PreProduction\n   tags:\n     foo: bar\n     bar: foo\n   variables:\n     - name: envVar1\n       type: String\n       value: v1\n       description: \\\"\\\"\n     - name: envVar2\n       type: String\n       value: v2\n       description: \\\"\\\"\n   overrides:\n     manifests:\n       - manifest:\n           identifier: manifestEnv\n           type: Values\n           spec:\n             store:\n               type: Git\n               spec:\n                 connectorRef: \u003c+input\u003e\n                 gitFetchType: Branch\n                 paths:\n                   - file1\n                 repoName: \u003c+input\u003e\n                 branch: master\n     configFiles:\n       - configFile:\n           identifier: configFileEnv\n           spec:\n             store:\n               type: Harness\n               spec:\n                 files:\n                   - account:/Add-ons/svcOverrideTest\n                 secretFiles: []\n\"\"\")\n### Importing Environment from Git\ntest = harness.platform.Environment(\"test\",\n    identifier=\"accEnv\",\n    name=\"accEnv\",\n    type=\"PreProduction\",\n    git_details={\n        \"store_type\": \"REMOTE\",\n        \"connector_ref\": \"account.DoNotDeleteGitX\",\n        \"repo_name\": \"pcf_practice\",\n        \"file_path\": \".harness/accountEnvironment.yaml\",\n        \"branch\": \"main\",\n        \"import_from_git\": True,\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.Environment(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"bar:foo\",\n        },\n        Type = \"PreProduction\",\n        GitDetails = new Harness.Platform.Inputs.EnvironmentGitDetailsArgs\n        {\n            BranchName = \"branchName\",\n            CommitMessage = \"commitMessage\",\n            FilePath = \"filePath\",\n            ConnectorRef = \"connectorRef\",\n            StoreType = \"REMOTE\",\n            RepoName = \"repoName\",\n        },\n        Yaml = @\"environment:\n   name: name\n   identifier: identifier\n   orgIdentifier: org_id\n   projectIdentifier: project_id\n   type: PreProduction\n   tags:\n     foo: bar\n     bar: foo\n   variables:\n     - name: envVar1\n       type: String\n       value: v1\n       description: \\\"\"\\\"\"\n     - name: envVar2\n       type: String\n       value: v2\n       description: \\\"\"\\\"\"\n   overrides:\n     manifests:\n       - manifest:\n           identifier: manifestEnv\n           type: Values\n           spec:\n             store:\n               type: Git\n               spec:\n                 connectorRef: \u003c+input\u003e\n                 gitFetchType: Branch\n                 paths:\n                   - file1\n                 repoName: \u003c+input\u003e\n                 branch: master\n     configFiles:\n       - configFile:\n           identifier: configFileEnv\n           spec:\n             store:\n               type: Harness\n               spec:\n                 files:\n                   - account:/Add-ons/svcOverrideTest\n                 secretFiles: []\n\",\n    });\n\n    //## Importing Environment from Git\n    var test = new Harness.Platform.Environment(\"test\", new()\n    {\n        Identifier = \"accEnv\",\n        Name = \"accEnv\",\n        Type = \"PreProduction\",\n        GitDetails = new Harness.Platform.Inputs.EnvironmentGitDetailsArgs\n        {\n            StoreType = \"REMOTE\",\n            ConnectorRef = \"account.DoNotDeleteGitX\",\n            RepoName = \"pcf_practice\",\n            FilePath = \".harness/accountEnvironment.yaml\",\n            Branch = \"main\",\n            ImportFromGit = true,\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewEnvironment(ctx, \"example\", \u0026platform.EnvironmentArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t},\n\t\t\tType: pulumi.String(\"PreProduction\"),\n\t\t\tGitDetails: \u0026platform.EnvironmentGitDetailsArgs{\n\t\t\t\tBranchName:    \"branchName\",\n\t\t\t\tCommitMessage: pulumi.String(\"commitMessage\"),\n\t\t\t\tFilePath:      pulumi.String(\"filePath\"),\n\t\t\t\tConnectorRef:  pulumi.String(\"connectorRef\"),\n\t\t\t\tStoreType:     pulumi.String(\"REMOTE\"),\n\t\t\t\tRepoName:      pulumi.String(\"repoName\"),\n\t\t\t},\n\t\t\tYaml: pulumi.String(`environment:\n   name: name\n   identifier: identifier\n   orgIdentifier: org_id\n   projectIdentifier: project_id\n   type: PreProduction\n   tags:\n     foo: bar\n     bar: foo\n   variables:\n     - name: envVar1\n       type: String\n       value: v1\n       description: \\\"\\\"\n     - name: envVar2\n       type: String\n       value: v2\n       description: \\\"\\\"\n   overrides:\n     manifests:\n       - manifest:\n           identifier: manifestEnv\n           type: Values\n           spec:\n             store:\n               type: Git\n               spec:\n                 connectorRef: \u003c+input\u003e\n                 gitFetchType: Branch\n                 paths:\n                   - file1\n                 repoName: \u003c+input\u003e\n                 branch: master\n     configFiles:\n       - configFile:\n           identifier: configFileEnv\n           spec:\n             store:\n               type: Harness\n               spec:\n                 files:\n                   - account:/Add-ons/svcOverrideTest\n                 secretFiles: []\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ## Importing Environment from Git\n\t\t_, err = platform.NewEnvironment(ctx, \"test\", \u0026platform.EnvironmentArgs{\n\t\t\tIdentifier: pulumi.String(\"accEnv\"),\n\t\t\tName:       pulumi.String(\"accEnv\"),\n\t\t\tType:       pulumi.String(\"PreProduction\"),\n\t\t\tGitDetails: \u0026platform.EnvironmentGitDetailsArgs{\n\t\t\t\tStoreType:     pulumi.String(\"REMOTE\"),\n\t\t\t\tConnectorRef:  pulumi.String(\"account.DoNotDeleteGitX\"),\n\t\t\t\tRepoName:      pulumi.String(\"pcf_practice\"),\n\t\t\t\tFilePath:      pulumi.String(\".harness/accountEnvironment.yaml\"),\n\t\t\t\tBranch:        pulumi.String(\"main\"),\n\t\t\t\tImportFromGit: pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Environment;\nimport com.pulumi.harness.platform.EnvironmentArgs;\nimport com.pulumi.harness.platform.inputs.EnvironmentGitDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Environment(\"example\", EnvironmentArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .tags(            \n                \"foo:bar\",\n                \"bar:foo\")\n            .type(\"PreProduction\")\n            .gitDetails(EnvironmentGitDetailsArgs.builder()\n                .branchName(\"branchName\")\n                .commitMessage(\"commitMessage\")\n                .filePath(\"filePath\")\n                .connectorRef(\"connectorRef\")\n                .storeType(\"REMOTE\")\n                .repoName(\"repoName\")\n                .build())\n            .yaml(\"\"\"\nenvironment:\n   name: name\n   identifier: identifier\n   orgIdentifier: org_id\n   projectIdentifier: project_id\n   type: PreProduction\n   tags:\n     foo: bar\n     bar: foo\n   variables:\n     - name: envVar1\n       type: String\n       value: v1\n       description: \\\"\\\"\n     - name: envVar2\n       type: String\n       value: v2\n       description: \\\"\\\"\n   overrides:\n     manifests:\n       - manifest:\n           identifier: manifestEnv\n           type: Values\n           spec:\n             store:\n               type: Git\n               spec:\n                 connectorRef: \u003c+input\u003e\n                 gitFetchType: Branch\n                 paths:\n                   - file1\n                 repoName: \u003c+input\u003e\n                 branch: master\n     configFiles:\n       - configFile:\n           identifier: configFileEnv\n           spec:\n             store:\n               type: Harness\n               spec:\n                 files:\n                   - account:/Add-ons/svcOverrideTest\n                 secretFiles: []\n            \"\"\")\n            .build());\n\n        //## Importing Environment from Git\n        var test = new Environment(\"test\", EnvironmentArgs.builder()\n            .identifier(\"accEnv\")\n            .name(\"accEnv\")\n            .type(\"PreProduction\")\n            .gitDetails(EnvironmentGitDetailsArgs.builder()\n                .storeType(\"REMOTE\")\n                .connectorRef(\"account.DoNotDeleteGitX\")\n                .repoName(\"pcf_practice\")\n                .filePath(\".harness/accountEnvironment.yaml\")\n                .branch(\"main\")\n                .importFromGit(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:Environment\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      tags:\n        - foo:bar\n        - bar:foo\n      type: PreProduction\n      gitDetails:\n        branchName: branchName\n        commitMessage: commitMessage\n        filePath: filePath\n        connectorRef: connectorRef\n        storeType: REMOTE\n        repoName: repoName\n      yaml: |\n        environment:\n           name: name\n           identifier: identifier\n           orgIdentifier: org_id\n           projectIdentifier: project_id\n           type: PreProduction\n           tags:\n             foo: bar\n             bar: foo\n           variables:\n             - name: envVar1\n               type: String\n               value: v1\n               description: \\\"\\\"\n             - name: envVar2\n               type: String\n               value: v2\n               description: \\\"\\\"\n           overrides:\n             manifests:\n               - manifest:\n                   identifier: manifestEnv\n                   type: Values\n                   spec:\n                     store:\n                       type: Git\n                       spec:\n                         connectorRef: \u003c+input\u003e\n                         gitFetchType: Branch\n                         paths:\n                           - file1\n                         repoName: \u003c+input\u003e\n                         branch: master\n             configFiles:\n               - configFile:\n                   identifier: configFileEnv\n                   spec:\n                     store:\n                       type: Harness\n                       spec:\n                         files:\n                           - account:/Add-ons/svcOverrideTest\n                         secretFiles: []\n  ### Importing Environment from Git\n  test:\n    type: harness:platform:Environment\n    properties:\n      identifier: accEnv\n      name: accEnv\n      type: PreProduction\n      gitDetails:\n        storeType: REMOTE\n        connectorRef: account.DoNotDeleteGitX\n        repoName: pcf_practice\n        filePath: .harness/accountEnvironment.yaml\n        branch: main\n        importFromGit: 'true'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level environment id\n\n```sh\n$ pulumi import harness:platform/environment:Environment example \u003cenvironment_id\u003e\n```\n\nImport org level environment id\n\n```sh\n$ pulumi import harness:platform/environment:Environment example \u003corg_id\u003e/\u003cenvironment_id\u003e\n```\n\nImport project level environment id\n\n```sh\n$ pulumi import harness:platform/environment:Environment example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cenvironment_id\u003e\n```\n\n","properties":{"color":{"type":"string","description":"Color of the environment.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of environments\n"},"gitDetails":{"$ref":"#/types/harness:platform/EnvironmentGitDetails:EnvironmentGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"The type of environment. Valid values are PreProduction, Production\n"},"yaml":{"type":"string","description":"Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"required":["color","description","forceDelete","gitDetails","name","type"],"inputProperties":{"color":{"type":"string","description":"Color of the environment.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of environments\n"},"gitDetails":{"$ref":"#/types/harness:platform/EnvironmentGitDetails:EnvironmentGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"The type of environment. Valid values are PreProduction, Production\n"},"yaml":{"type":"string","description":"Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"requiredInputs":["type"],"stateInputs":{"description":"Input properties used for looking up and filtering Environment resources.\n","properties":{"color":{"type":"string","description":"Color of the environment.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of environments\n"},"gitDetails":{"$ref":"#/types/harness:platform/EnvironmentGitDetails:EnvironmentGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"The type of environment. Valid values are PreProduction, Production\n"},"yaml":{"type":"string","description":"Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"type":"object"}},"harness:platform/environmentClustersMapping:EnvironmentClustersMapping":{"description":"Resource for mapping environment with Harness Clusters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// mapping a cluster to a project level env\nconst example = new harness.platform.EnvironmentClustersMapping(\"example\", {\n    identifier: \"mycustomidentifier\",\n    orgId: \"orgIdentifer\",\n    projectId: \"projectIdentifier\",\n    envId: \"exampleEnvId\",\n    clusters: [{\n        identifier: \"incluster\",\n        name: \"in-cluster\",\n        agentIdentifier: \"account.gitopsagentdev\",\n        scope: \"ACCOUNT\",\n    }],\n});\n// mapping two clusters to account level env\nconst example2 = new harness.platform.EnvironmentClustersMapping(\"example2\", {\n    identifier: \"mycustomidentifier\",\n    envId: \"env1\",\n    clusters: [\n        {\n            identifier: \"clusterA\",\n            name: \"cluster-A\",\n            agentIdentifier: \"account.gitopsagentprod\",\n            scope: \"ACCOUNT\",\n        },\n        {\n            identifier: \"clusterB\",\n            name: \"cluster-B\",\n            agentIdentifier: \"account.gitopsagentprod\",\n            scope: \"ACCOUNT\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# mapping a cluster to a project level env\nexample = harness.platform.EnvironmentClustersMapping(\"example\",\n    identifier=\"mycustomidentifier\",\n    org_id=\"orgIdentifer\",\n    project_id=\"projectIdentifier\",\n    env_id=\"exampleEnvId\",\n    clusters=[{\n        \"identifier\": \"incluster\",\n        \"name\": \"in-cluster\",\n        \"agent_identifier\": \"account.gitopsagentdev\",\n        \"scope\": \"ACCOUNT\",\n    }])\n# mapping two clusters to account level env\nexample2 = harness.platform.EnvironmentClustersMapping(\"example2\",\n    identifier=\"mycustomidentifier\",\n    env_id=\"env1\",\n    clusters=[\n        {\n            \"identifier\": \"clusterA\",\n            \"name\": \"cluster-A\",\n            \"agent_identifier\": \"account.gitopsagentprod\",\n            \"scope\": \"ACCOUNT\",\n        },\n        {\n            \"identifier\": \"clusterB\",\n            \"name\": \"cluster-B\",\n            \"agent_identifier\": \"account.gitopsagentprod\",\n            \"scope\": \"ACCOUNT\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // mapping a cluster to a project level env\n    var example = new Harness.Platform.EnvironmentClustersMapping(\"example\", new()\n    {\n        Identifier = \"mycustomidentifier\",\n        OrgId = \"orgIdentifer\",\n        ProjectId = \"projectIdentifier\",\n        EnvId = \"exampleEnvId\",\n        Clusters = new[]\n        {\n            new Harness.Platform.Inputs.EnvironmentClustersMappingClusterArgs\n            {\n                Identifier = \"incluster\",\n                Name = \"in-cluster\",\n                AgentIdentifier = \"account.gitopsagentdev\",\n                Scope = \"ACCOUNT\",\n            },\n        },\n    });\n\n    // mapping two clusters to account level env\n    var example2 = new Harness.Platform.EnvironmentClustersMapping(\"example2\", new()\n    {\n        Identifier = \"mycustomidentifier\",\n        EnvId = \"env1\",\n        Clusters = new[]\n        {\n            new Harness.Platform.Inputs.EnvironmentClustersMappingClusterArgs\n            {\n                Identifier = \"clusterA\",\n                Name = \"cluster-A\",\n                AgentIdentifier = \"account.gitopsagentprod\",\n                Scope = \"ACCOUNT\",\n            },\n            new Harness.Platform.Inputs.EnvironmentClustersMappingClusterArgs\n            {\n                Identifier = \"clusterB\",\n                Name = \"cluster-B\",\n                AgentIdentifier = \"account.gitopsagentprod\",\n                Scope = \"ACCOUNT\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// mapping a cluster to a project level env\n\t\t_, err := platform.NewEnvironmentClustersMapping(ctx, \"example\", \u0026platform.EnvironmentClustersMappingArgs{\n\t\t\tIdentifier: pulumi.String(\"mycustomidentifier\"),\n\t\t\tOrgId:      pulumi.String(\"orgIdentifer\"),\n\t\t\tProjectId:  pulumi.String(\"projectIdentifier\"),\n\t\t\tEnvId:      pulumi.String(\"exampleEnvId\"),\n\t\t\tClusters: platform.EnvironmentClustersMappingClusterArray{\n\t\t\t\t\u0026platform.EnvironmentClustersMappingClusterArgs{\n\t\t\t\t\tIdentifier:      pulumi.String(\"incluster\"),\n\t\t\t\t\tName:            pulumi.String(\"in-cluster\"),\n\t\t\t\t\tAgentIdentifier: pulumi.String(\"account.gitopsagentdev\"),\n\t\t\t\t\tScope:           pulumi.String(\"ACCOUNT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// mapping two clusters to account level env\n\t\t_, err = platform.NewEnvironmentClustersMapping(ctx, \"example2\", \u0026platform.EnvironmentClustersMappingArgs{\n\t\t\tIdentifier: pulumi.String(\"mycustomidentifier\"),\n\t\t\tEnvId:      pulumi.String(\"env1\"),\n\t\t\tClusters: platform.EnvironmentClustersMappingClusterArray{\n\t\t\t\t\u0026platform.EnvironmentClustersMappingClusterArgs{\n\t\t\t\t\tIdentifier:      pulumi.String(\"clusterA\"),\n\t\t\t\t\tName:            pulumi.String(\"cluster-A\"),\n\t\t\t\t\tAgentIdentifier: pulumi.String(\"account.gitopsagentprod\"),\n\t\t\t\t\tScope:           pulumi.String(\"ACCOUNT\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.EnvironmentClustersMappingClusterArgs{\n\t\t\t\t\tIdentifier:      pulumi.String(\"clusterB\"),\n\t\t\t\t\tName:            pulumi.String(\"cluster-B\"),\n\t\t\t\t\tAgentIdentifier: pulumi.String(\"account.gitopsagentprod\"),\n\t\t\t\t\tScope:           pulumi.String(\"ACCOUNT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.EnvironmentClustersMapping;\nimport com.pulumi.harness.platform.EnvironmentClustersMappingArgs;\nimport com.pulumi.harness.platform.inputs.EnvironmentClustersMappingClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // mapping a cluster to a project level env\n        var example = new EnvironmentClustersMapping(\"example\", EnvironmentClustersMappingArgs.builder()\n            .identifier(\"mycustomidentifier\")\n            .orgId(\"orgIdentifer\")\n            .projectId(\"projectIdentifier\")\n            .envId(\"exampleEnvId\")\n            .clusters(EnvironmentClustersMappingClusterArgs.builder()\n                .identifier(\"incluster\")\n                .name(\"in-cluster\")\n                .agentIdentifier(\"account.gitopsagentdev\")\n                .scope(\"ACCOUNT\")\n                .build())\n            .build());\n\n        // mapping two clusters to account level env\n        var example2 = new EnvironmentClustersMapping(\"example2\", EnvironmentClustersMappingArgs.builder()\n            .identifier(\"mycustomidentifier\")\n            .envId(\"env1\")\n            .clusters(            \n                EnvironmentClustersMappingClusterArgs.builder()\n                    .identifier(\"clusterA\")\n                    .name(\"cluster-A\")\n                    .agentIdentifier(\"account.gitopsagentprod\")\n                    .scope(\"ACCOUNT\")\n                    .build(),\n                EnvironmentClustersMappingClusterArgs.builder()\n                    .identifier(\"clusterB\")\n                    .name(\"cluster-B\")\n                    .agentIdentifier(\"account.gitopsagentprod\")\n                    .scope(\"ACCOUNT\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # mapping a cluster to a project level env\n  example:\n    type: harness:platform:EnvironmentClustersMapping\n    properties:\n      identifier: mycustomidentifier\n      orgId: orgIdentifer\n      projectId: projectIdentifier\n      envId: exampleEnvId\n      clusters:\n        - identifier: incluster\n          name: in-cluster\n          agentIdentifier: account.gitopsagentdev\n          scope: ACCOUNT\n  # mapping two clusters to account level env\n  example2:\n    type: harness:platform:EnvironmentClustersMapping\n    properties:\n      identifier: mycustomidentifier\n      envId: env1\n      clusters:\n        - identifier: clusterA\n          name: cluster-A\n          agentIdentifier: account.gitopsagentprod\n          scope: ACCOUNT\n        - identifier: clusterB\n          name: cluster-B\n          agentIdentifier: account.gitopsagentprod\n          scope: ACCOUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n#\n```\n\n","properties":{"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/EnvironmentClustersMappingCluster:EnvironmentClustersMappingCluster"},"description":"list of cluster identifiers and names\n"},"envId":{"type":"string","description":"environment identifier.\n"},"identifier":{"type":"string","description":"identifier for the cluster mapping(can be given any value).\n"},"orgId":{"type":"string","description":"org_id of the environment.\n"},"projectId":{"type":"string","description":"project_id of the environment.\n"},"scope":{"type":"string","description":"scope at which the environment exists in harness.\n"}},"required":["envId","identifier","scope"],"inputProperties":{"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/EnvironmentClustersMappingCluster:EnvironmentClustersMappingCluster"},"description":"list of cluster identifiers and names\n"},"envId":{"type":"string","description":"environment identifier.\n"},"identifier":{"type":"string","description":"identifier for the cluster mapping(can be given any value).\n"},"orgId":{"type":"string","description":"org_id of the environment.\n"},"projectId":{"type":"string","description":"project_id of the environment.\n"}},"requiredInputs":["envId","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering EnvironmentClustersMapping resources.\n","properties":{"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/EnvironmentClustersMappingCluster:EnvironmentClustersMappingCluster"},"description":"list of cluster identifiers and names\n"},"envId":{"type":"string","description":"environment identifier.\n"},"identifier":{"type":"string","description":"identifier for the cluster mapping(can be given any value).\n"},"orgId":{"type":"string","description":"org_id of the environment.\n"},"projectId":{"type":"string","description":"project_id of the environment.\n"},"scope":{"type":"string","description":"scope at which the environment exists in harness.\n"}},"type":"object"}},"harness:platform/environmentGroup:EnvironmentGroup":{"description":"Resource for creating a Harness environment group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.EnvironmentGroup(\"example\", {\n    identifier: \"identifier\",\n    orgId: \"orgIdentifer\",\n    projectId: \"projectIdentifier\",\n    color: \"#0063F7\",\n    yaml: `environmentGroup:\n  name: \\\\\"name\\\\\"\n  identifier: \\\\\"identifier\\\\\"\n  description: \\\\\"temp\\\\\"\n  orgIdentifier: \\\\\"orgIdentifer\\\\\"\n  projectIdentifier: \\\\\"projectIdentifier\\\\\"\n  envIdentifiers: []\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.EnvironmentGroup(\"example\",\n    identifier=\"identifier\",\n    org_id=\"orgIdentifer\",\n    project_id=\"projectIdentifier\",\n    color=\"#0063F7\",\n    yaml=\"\"\"environmentGroup:\n  name: \\\"name\\\"\n  identifier: \\\"identifier\\\"\n  description: \\\"temp\\\"\n  orgIdentifier: \\\"orgIdentifer\\\"\n  projectIdentifier: \\\"projectIdentifier\\\"\n  envIdentifiers: []\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.EnvironmentGroup(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"orgIdentifer\",\n        ProjectId = \"projectIdentifier\",\n        Color = \"#0063F7\",\n        Yaml = @\"environmentGroup:\n  name: \\\"\"name\\\"\"\n  identifier: \\\"\"identifier\\\"\"\n  description: \\\"\"temp\\\"\"\n  orgIdentifier: \\\"\"orgIdentifer\\\"\"\n  projectIdentifier: \\\"\"projectIdentifier\\\"\"\n  envIdentifiers: []\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewEnvironmentGroup(ctx, \"example\", \u0026platform.EnvironmentGroupArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tOrgId:      pulumi.String(\"orgIdentifer\"),\n\t\t\tProjectId:  pulumi.String(\"projectIdentifier\"),\n\t\t\tColor:      pulumi.String(\"#0063F7\"),\n\t\t\tYaml: pulumi.String(`environmentGroup:\n  name: \\\"name\\\"\n  identifier: \\\"identifier\\\"\n  description: \\\"temp\\\"\n  orgIdentifier: \\\"orgIdentifer\\\"\n  projectIdentifier: \\\"projectIdentifier\\\"\n  envIdentifiers: []\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.EnvironmentGroup;\nimport com.pulumi.harness.platform.EnvironmentGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new EnvironmentGroup(\"example\", EnvironmentGroupArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"orgIdentifer\")\n            .projectId(\"projectIdentifier\")\n            .color(\"#0063F7\")\n            .yaml(\"\"\"\nenvironmentGroup:\n  name: \\\"name\\\"\n  identifier: \\\"identifier\\\"\n  description: \\\"temp\\\"\n  orgIdentifier: \\\"orgIdentifer\\\"\n  projectIdentifier: \\\"projectIdentifier\\\"\n  envIdentifiers: []\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:EnvironmentGroup\n    properties:\n      identifier: identifier\n      orgId: orgIdentifer\n      projectId: projectIdentifier\n      color: '#0063F7'\n      yaml: |\n        environmentGroup:\n          name: \\\"name\\\"\n          identifier: \\\"identifier\\\"\n          description: \\\"temp\\\"\n          orgIdentifier: \\\"orgIdentifer\\\"\n          projectIdentifier: \\\"projectIdentifier\\\"\n          envIdentifiers: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level environment group.\n\n```sh\n$ pulumi import harness:platform/environmentGroup:EnvironmentGroup example \u003cenvironment_group_id\u003e\n```\n\nImport org level environment group.\n\n```sh\n$ pulumi import harness:platform/environmentGroup:EnvironmentGroup example \u003corg_id\u003e/\u003cenvironment_group_id\u003e\n```\n\nImport project level environment group.\n\n```sh\n$ pulumi import harness:platform/environmentGroup:EnvironmentGroup example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cenvironment_group_id\u003e\n```\n\n","properties":{"color":{"type":"string","description":"Color of the environment group.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of environment group\n"},"identifier":{"type":"string","description":"identifier of the environment group.\n"},"orgId":{"type":"string","description":"org_id of the environment group.\n"},"projectId":{"type":"string","description":"project_id of the environment group.\n"},"yaml":{"type":"string","description":"Env group YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"required":["color","forceDelete","identifier","yaml"],"inputProperties":{"color":{"type":"string","description":"Color of the environment group.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of environment group\n"},"identifier":{"type":"string","description":"identifier of the environment group.\n"},"orgId":{"type":"string","description":"org_id of the environment group.\n"},"projectId":{"type":"string","description":"project_id of the environment group.\n"},"yaml":{"type":"string","description":"Env group YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"requiredInputs":["identifier","yaml"],"stateInputs":{"description":"Input properties used for looking up and filtering EnvironmentGroup resources.\n","properties":{"color":{"type":"string","description":"Color of the environment group.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of environment group\n"},"identifier":{"type":"string","description":"identifier of the environment group.\n"},"orgId":{"type":"string","description":"org_id of the environment group.\n"},"projectId":{"type":"string","description":"project_id of the environment group.\n"},"yaml":{"type":"string","description":"Env group YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"type":"object"}},"harness:platform/environmentServiceOverrides:EnvironmentServiceOverrides":{"description":"Resource for creating a Harness environment service overrides.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.EnvironmentServiceOverrides(\"example\", {\n    orgId: \"orgIdentifier\",\n    projectId: \"projectIdentifier\",\n    envId: \"environmentIdentifier\",\n    serviceId: \"serviceIdentifier\",\n    yaml: `serviceOverrides:\n  environmentRef: environmentIdentifier\n  serviceRef: serviceIdentifier\n  variables:\n   - name: asda\n     type: String\n     value: asddad\n  manifests:\n     - manifest:\n         identifier: manifestEnv\n         type: Values\n         spec:\n           store:\n             type: Git\n             spec:\n               connectorRef: \u003c+input\u003e\n               gitFetchType: Branch\n               paths:\n                 - file1\n               repoName: \u003c+input\u003e\n               branch: master\n  configFiles:\n     - configFile:\n         identifier: configFileEnv\n         spec:\n           store:\n             type: Harness\n             spec:\n               files:\n                 - account:/Add-ons/svcOverrideTest\n               secretFiles: []\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.EnvironmentServiceOverrides(\"example\",\n    org_id=\"orgIdentifier\",\n    project_id=\"projectIdentifier\",\n    env_id=\"environmentIdentifier\",\n    service_id=\"serviceIdentifier\",\n    yaml=\"\"\"serviceOverrides:\n  environmentRef: environmentIdentifier\n  serviceRef: serviceIdentifier\n  variables:\n   - name: asda\n     type: String\n     value: asddad\n  manifests:\n     - manifest:\n         identifier: manifestEnv\n         type: Values\n         spec:\n           store:\n             type: Git\n             spec:\n               connectorRef: \u003c+input\u003e\n               gitFetchType: Branch\n               paths:\n                 - file1\n               repoName: \u003c+input\u003e\n               branch: master\n  configFiles:\n     - configFile:\n         identifier: configFileEnv\n         spec:\n           store:\n             type: Harness\n             spec:\n               files:\n                 - account:/Add-ons/svcOverrideTest\n               secretFiles: []\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.EnvironmentServiceOverrides(\"example\", new()\n    {\n        OrgId = \"orgIdentifier\",\n        ProjectId = \"projectIdentifier\",\n        EnvId = \"environmentIdentifier\",\n        ServiceId = \"serviceIdentifier\",\n        Yaml = @\"serviceOverrides:\n  environmentRef: environmentIdentifier\n  serviceRef: serviceIdentifier\n  variables:\n   - name: asda\n     type: String\n     value: asddad\n  manifests:\n     - manifest:\n         identifier: manifestEnv\n         type: Values\n         spec:\n           store:\n             type: Git\n             spec:\n               connectorRef: \u003c+input\u003e\n               gitFetchType: Branch\n               paths:\n                 - file1\n               repoName: \u003c+input\u003e\n               branch: master\n  configFiles:\n     - configFile:\n         identifier: configFileEnv\n         spec:\n           store:\n             type: Harness\n             spec:\n               files:\n                 - account:/Add-ons/svcOverrideTest\n               secretFiles: []\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewEnvironmentServiceOverrides(ctx, \"example\", \u0026platform.EnvironmentServiceOverridesArgs{\n\t\t\tOrgId:     pulumi.String(\"orgIdentifier\"),\n\t\t\tProjectId: pulumi.String(\"projectIdentifier\"),\n\t\t\tEnvId:     pulumi.String(\"environmentIdentifier\"),\n\t\t\tServiceId: pulumi.String(\"serviceIdentifier\"),\n\t\t\tYaml: pulumi.String(`serviceOverrides:\n  environmentRef: environmentIdentifier\n  serviceRef: serviceIdentifier\n  variables:\n   - name: asda\n     type: String\n     value: asddad\n  manifests:\n     - manifest:\n         identifier: manifestEnv\n         type: Values\n         spec:\n           store:\n             type: Git\n             spec:\n               connectorRef: \u003c+input\u003e\n               gitFetchType: Branch\n               paths:\n                 - file1\n               repoName: \u003c+input\u003e\n               branch: master\n  configFiles:\n     - configFile:\n         identifier: configFileEnv\n         spec:\n           store:\n             type: Harness\n             spec:\n               files:\n                 - account:/Add-ons/svcOverrideTest\n               secretFiles: []\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.EnvironmentServiceOverrides;\nimport com.pulumi.harness.platform.EnvironmentServiceOverridesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new EnvironmentServiceOverrides(\"example\", EnvironmentServiceOverridesArgs.builder()\n            .orgId(\"orgIdentifier\")\n            .projectId(\"projectIdentifier\")\n            .envId(\"environmentIdentifier\")\n            .serviceId(\"serviceIdentifier\")\n            .yaml(\"\"\"\nserviceOverrides:\n  environmentRef: environmentIdentifier\n  serviceRef: serviceIdentifier\n  variables:\n   - name: asda\n     type: String\n     value: asddad\n  manifests:\n     - manifest:\n         identifier: manifestEnv\n         type: Values\n         spec:\n           store:\n             type: Git\n             spec:\n               connectorRef: \u003c+input\u003e\n               gitFetchType: Branch\n               paths:\n                 - file1\n               repoName: \u003c+input\u003e\n               branch: master\n  configFiles:\n     - configFile:\n         identifier: configFileEnv\n         spec:\n           store:\n             type: Harness\n             spec:\n               files:\n                 - account:/Add-ons/svcOverrideTest\n               secretFiles: []\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:EnvironmentServiceOverrides\n    properties:\n      orgId: orgIdentifier\n      projectId: projectIdentifier\n      envId: environmentIdentifier\n      serviceId: serviceIdentifier\n      yaml: |\n        serviceOverrides:\n          environmentRef: environmentIdentifier\n          serviceRef: serviceIdentifier\n          variables:\n           - name: asda\n             type: String\n             value: asddad\n          manifests:\n             - manifest:\n                 identifier: manifestEnv\n                 type: Values\n                 spec:\n                   store:\n                     type: Git\n                     spec:\n                       connectorRef: \u003c+input\u003e\n                       gitFetchType: Branch\n                       paths:\n                         - file1\n                       repoName: \u003c+input\u003e\n                       branch: master\n          configFiles:\n             - configFile:\n                 identifier: configFileEnv\n                 spec:\n                   store:\n                     type: Harness\n                     spec:\n                       files:\n                         - account:/Add-ons/svcOverrideTest\n                       secretFiles: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport list of account level service overrides using the env id associated with them\n\n```sh\n$ pulumi import harness:platform/environmentServiceOverrides:EnvironmentServiceOverrides example \u003cenv_id\u003e\n```\n\nImport list of org level service overrides using the env id associated with them\n\n```sh\n$ pulumi import harness:platform/environmentServiceOverrides:EnvironmentServiceOverrides example \u003corg_id\u003e/\u003cenv_id\u003e\n```\n\nImport list of project level service overrides using the env id associated with them\n\n```sh\n$ pulumi import harness:platform/environmentServiceOverrides:EnvironmentServiceOverrides example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cenv_id\u003e\n```\n\n","properties":{"envId":{"type":"string","description":"The env ID to which the overrides associated.\n"},"identifier":{"type":"string","description":"identifier of the service overrides.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceId":{"type":"string","description":"The service ID to which the overrides applies.\n"},"yaml":{"type":"string","description":"Environment Service Overrides YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"required":["envId","identifier","serviceId","yaml"],"inputProperties":{"envId":{"type":"string","description":"The env ID to which the overrides associated.\n"},"identifier":{"type":"string","description":"identifier of the service overrides.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceId":{"type":"string","description":"The service ID to which the overrides applies.\n"},"yaml":{"type":"string","description":"Environment Service Overrides YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"requiredInputs":["envId","serviceId","yaml"],"stateInputs":{"description":"Input properties used for looking up and filtering EnvironmentServiceOverrides resources.\n","properties":{"envId":{"type":"string","description":"The env ID to which the overrides associated.\n"},"identifier":{"type":"string","description":"identifier of the service overrides.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceId":{"type":"string","description":"The service ID to which the overrides applies.\n"},"yaml":{"type":"string","description":"Environment Service Overrides YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"type":"object"}},"harness:platform/featureFlag:FeatureFlag":{"description":"Resource for managing Feature Flags.\n\n","properties":{"archived":{"type":"boolean","description":"Whether or not the flag is archived.\n"},"defaultOffVariation":{"type":"string","description":"Which of the variations to use when the flag is toggled to off state\n"},"defaultOnVariation":{"type":"string","description":"Which of the variations to use when the flag is toggled to on state\n"},"description":{"type":"string","description":"Description of the Feature Flag\n"},"environments":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagEnvironment:FeatureFlagEnvironment"},"description":"Environment Identifier\n"},"identifier":{"type":"string","description":"Identifier of the Feature Flag\n"},"kind":{"type":"string","description":"The type of data the flag represents. Valid values are \u003cspan pulumi-lang-nodejs=\"`boolean`\" pulumi-lang-dotnet=\"`Boolean`\" pulumi-lang-go=\"`boolean`\" pulumi-lang-python=\"`boolean`\" pulumi-lang-yaml=\"`boolean`\" pulumi-lang-java=\"`boolean`\"\u003e`boolean`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e\n"},"name":{"type":"string","description":"Name of the Feature Flag\n"},"orgId":{"type":"string","description":"Organization Identifier\n"},"owner":{"type":"string","description":"The owner of the flag\n"},"permanent":{"type":"boolean","description":"Whether or not the flag is permanent. If it is, it will never be flagged as stale\n"},"projectId":{"type":"string","description":"Project Identifier\n"},"tags":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagTag:FeatureFlagTag"},"description":"The tags for the flag\n"},"variations":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagVariation:FeatureFlagVariation"},"description":"The options available for your flag\n"}},"required":["defaultOffVariation","defaultOnVariation","identifier","kind","name","orgId","permanent","projectId","variations"],"inputProperties":{"archived":{"type":"boolean","description":"Whether or not the flag is archived.\n"},"defaultOffVariation":{"type":"string","description":"Which of the variations to use when the flag is toggled to off state\n"},"defaultOnVariation":{"type":"string","description":"Which of the variations to use when the flag is toggled to on state\n"},"description":{"type":"string","description":"Description of the Feature Flag\n"},"environments":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagEnvironment:FeatureFlagEnvironment"},"description":"Environment Identifier\n"},"identifier":{"type":"string","description":"Identifier of the Feature Flag\n","willReplaceOnChanges":true},"kind":{"type":"string","description":"The type of data the flag represents. Valid values are \u003cspan pulumi-lang-nodejs=\"`boolean`\" pulumi-lang-dotnet=\"`Boolean`\" pulumi-lang-go=\"`boolean`\" pulumi-lang-python=\"`boolean`\" pulumi-lang-yaml=\"`boolean`\" pulumi-lang-java=\"`boolean`\"\u003e`boolean`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the Feature Flag\n"},"orgId":{"type":"string","description":"Organization Identifier\n","willReplaceOnChanges":true},"owner":{"type":"string","description":"The owner of the flag\n"},"permanent":{"type":"boolean","description":"Whether or not the flag is permanent. If it is, it will never be flagged as stale\n"},"projectId":{"type":"string","description":"Project Identifier\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagTag:FeatureFlagTag"},"description":"The tags for the flag\n"},"variations":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagVariation:FeatureFlagVariation"},"description":"The options available for your flag\n"}},"requiredInputs":["defaultOffVariation","defaultOnVariation","identifier","kind","orgId","permanent","projectId","variations"],"stateInputs":{"description":"Input properties used for looking up and filtering FeatureFlag resources.\n","properties":{"archived":{"type":"boolean","description":"Whether or not the flag is archived.\n"},"defaultOffVariation":{"type":"string","description":"Which of the variations to use when the flag is toggled to off state\n"},"defaultOnVariation":{"type":"string","description":"Which of the variations to use when the flag is toggled to on state\n"},"description":{"type":"string","description":"Description of the Feature Flag\n"},"environments":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagEnvironment:FeatureFlagEnvironment"},"description":"Environment Identifier\n"},"identifier":{"type":"string","description":"Identifier of the Feature Flag\n","willReplaceOnChanges":true},"kind":{"type":"string","description":"The type of data the flag represents. Valid values are \u003cspan pulumi-lang-nodejs=\"`boolean`\" pulumi-lang-dotnet=\"`Boolean`\" pulumi-lang-go=\"`boolean`\" pulumi-lang-python=\"`boolean`\" pulumi-lang-yaml=\"`boolean`\" pulumi-lang-java=\"`boolean`\"\u003e`boolean`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`int`\" pulumi-lang-dotnet=\"`Int`\" pulumi-lang-go=\"`int`\" pulumi-lang-python=\"`int`\" pulumi-lang-yaml=\"`int`\" pulumi-lang-java=\"`int`\"\u003e`int`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`string`\" pulumi-lang-dotnet=\"`String`\" pulumi-lang-go=\"`string`\" pulumi-lang-python=\"`string`\" pulumi-lang-yaml=\"`string`\" pulumi-lang-java=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`json`\" pulumi-lang-dotnet=\"`Json`\" pulumi-lang-go=\"`json`\" pulumi-lang-python=\"`json`\" pulumi-lang-yaml=\"`json`\" pulumi-lang-java=\"`json`\"\u003e`json`\u003c/span\u003e\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the Feature Flag\n"},"orgId":{"type":"string","description":"Organization Identifier\n","willReplaceOnChanges":true},"owner":{"type":"string","description":"The owner of the flag\n"},"permanent":{"type":"boolean","description":"Whether or not the flag is permanent. If it is, it will never be flagged as stale\n"},"projectId":{"type":"string","description":"Project Identifier\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagTag:FeatureFlagTag"},"description":"The tags for the flag\n"},"variations":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagVariation:FeatureFlagVariation"},"description":"The options available for your flag\n"}},"type":"object"}},"harness:platform/featureFlagApiKey:FeatureFlagApiKey":{"description":"Resource for creating an environment SDK key for Feature Flags.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst testserverapikey = new harness.platform.FeatureFlagApiKey(\"testserverapikey\", {\n    identifier: \"testserver\",\n    name: \"TestServer\",\n    description: \"this is a server SDK key\",\n    orgId: \"test\",\n    projectId: \"testff\",\n    envId: \"testenv\",\n    expiredAt: 1713729225,\n    type: \"Server\",\n});\nexport const serversdkkey = testserverapikey.apiKey;\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntestserverapikey = harness.platform.FeatureFlagApiKey(\"testserverapikey\",\n    identifier=\"testserver\",\n    name=\"TestServer\",\n    description=\"this is a server SDK key\",\n    org_id=\"test\",\n    project_id=\"testff\",\n    env_id=\"testenv\",\n    expired_at=1713729225,\n    type=\"Server\")\npulumi.export(\"serversdkkey\", testserverapikey.api_key)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var testserverapikey = new Harness.Platform.FeatureFlagApiKey(\"testserverapikey\", new()\n    {\n        Identifier = \"testserver\",\n        Name = \"TestServer\",\n        Description = \"this is a server SDK key\",\n        OrgId = \"test\",\n        ProjectId = \"testff\",\n        EnvId = \"testenv\",\n        ExpiredAt = 1713729225,\n        Type = \"Server\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"serversdkkey\"] = testserverapikey.ApiKey,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttestserverapikey, err := platform.NewFeatureFlagApiKey(ctx, \"testserverapikey\", \u0026platform.FeatureFlagApiKeyArgs{\n\t\t\tIdentifier:  pulumi.String(\"testserver\"),\n\t\t\tName:        pulumi.String(\"TestServer\"),\n\t\t\tDescription: pulumi.String(\"this is a server SDK key\"),\n\t\t\tOrgId:       pulumi.String(\"test\"),\n\t\t\tProjectId:   pulumi.String(\"testff\"),\n\t\t\tEnvId:       pulumi.String(\"testenv\"),\n\t\t\tExpiredAt:   pulumi.Int(1713729225),\n\t\t\tType:        pulumi.String(\"Server\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"serversdkkey\", testserverapikey.ApiKey)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.FeatureFlagApiKey;\nimport com.pulumi.harness.platform.FeatureFlagApiKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var testserverapikey = new FeatureFlagApiKey(\"testserverapikey\", FeatureFlagApiKeyArgs.builder()\n            .identifier(\"testserver\")\n            .name(\"TestServer\")\n            .description(\"this is a server SDK key\")\n            .orgId(\"test\")\n            .projectId(\"testff\")\n            .envId(\"testenv\")\n            .expiredAt(1713729225)\n            .type(\"Server\")\n            .build());\n\n        ctx.export(\"serversdkkey\", testserverapikey.apiKey());\n    }\n}\n```\n```yaml\nresources:\n  testserverapikey:\n    type: harness:platform:FeatureFlagApiKey\n    properties:\n      identifier: testserver\n      name: TestServer\n      description: this is a server SDK key\n      orgId: test\n      projectId: testff\n      envId: testenv\n      expiredAt: 1.713729225e+09\n      type: Server\noutputs:\n  serversdkkey: ${testserverapikey.apiKey}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"apiKey":{"type":"string","description":"The value of the SDK API Key\n","secret":true},"description":{"type":"string","description":"Description of the SDK API Key\n"},"envId":{"type":"string","description":"Environment Identifier\n"},"expiredAt":{"type":"integer","description":"Expiration datetime of the SDK API Key\n"},"identifier":{"type":"string","description":"Identifier of the SDK API Key\n"},"name":{"type":"string","description":"Name of the SDK API Key\n"},"orgId":{"type":"string","description":"Organization Identifier\n"},"projectId":{"type":"string","description":"Project Identifier\n"},"type":{"type":"string","description":"Type of SDK. Valid values are `Server` or `Client`.\n"}},"required":["apiKey","envId","identifier","name","orgId","projectId","type"],"inputProperties":{"description":{"type":"string","description":"Description of the SDK API Key\n","willReplaceOnChanges":true},"envId":{"type":"string","description":"Environment Identifier\n","willReplaceOnChanges":true},"expiredAt":{"type":"integer","description":"Expiration datetime of the SDK API Key\n","willReplaceOnChanges":true},"identifier":{"type":"string","description":"Identifier of the SDK API Key\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the SDK API Key\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Organization Identifier\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier\n","willReplaceOnChanges":true},"type":{"type":"string","description":"Type of SDK. Valid values are `Server` or `Client`.\n","willReplaceOnChanges":true}},"requiredInputs":["envId","identifier","orgId","projectId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering FeatureFlagApiKey resources.\n","properties":{"apiKey":{"type":"string","description":"The value of the SDK API Key\n","secret":true},"description":{"type":"string","description":"Description of the SDK API Key\n","willReplaceOnChanges":true},"envId":{"type":"string","description":"Environment Identifier\n","willReplaceOnChanges":true},"expiredAt":{"type":"integer","description":"Expiration datetime of the SDK API Key\n","willReplaceOnChanges":true},"identifier":{"type":"string","description":"Identifier of the SDK API Key\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the SDK API Key\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Organization Identifier\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier\n","willReplaceOnChanges":true},"type":{"type":"string","description":"Type of SDK. Valid values are `Server` or `Client`.\n","willReplaceOnChanges":true}},"type":"object"}},"harness:platform/featureFlagTarget:FeatureFlagTarget":{"description":"Resource for managing Feature Flag Targets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst target = new harness.platform.FeatureFlagTarget(\"target\", {\n    orgId: \"test\",\n    projectId: \"test\",\n    identifier: \"MY_FEATURE\",\n    environment: \"MY_ENVIRONMENT\",\n    name: \"MY_FEATURE\",\n    accountId: \"MY_ACCOUNT_ID\",\n    attributes: {\n        foo: \"bar\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntarget = harness.platform.FeatureFlagTarget(\"target\",\n    org_id=\"test\",\n    project_id=\"test\",\n    identifier=\"MY_FEATURE\",\n    environment=\"MY_ENVIRONMENT\",\n    name=\"MY_FEATURE\",\n    account_id=\"MY_ACCOUNT_ID\",\n    attributes={\n        \"foo\": \"bar\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var target = new Harness.Platform.FeatureFlagTarget(\"target\", new()\n    {\n        OrgId = \"test\",\n        ProjectId = \"test\",\n        Identifier = \"MY_FEATURE\",\n        Environment = \"MY_ENVIRONMENT\",\n        Name = \"MY_FEATURE\",\n        AccountId = \"MY_ACCOUNT_ID\",\n        Attributes = \n        {\n            { \"foo\", \"bar\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewFeatureFlagTarget(ctx, \"target\", \u0026platform.FeatureFlagTargetArgs{\n\t\t\tOrgId:       pulumi.String(\"test\"),\n\t\t\tProjectId:   pulumi.String(\"test\"),\n\t\t\tIdentifier:  pulumi.String(\"MY_FEATURE\"),\n\t\t\tEnvironment: pulumi.String(\"MY_ENVIRONMENT\"),\n\t\t\tName:        pulumi.String(\"MY_FEATURE\"),\n\t\t\tAccountId:   pulumi.String(\"MY_ACCOUNT_ID\"),\n\t\t\tAttributes: pulumi.StringMap{\n\t\t\t\t\"foo\": pulumi.String(\"bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.FeatureFlagTarget;\nimport com.pulumi.harness.platform.FeatureFlagTargetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var target = new FeatureFlagTarget(\"target\", FeatureFlagTargetArgs.builder()\n            .orgId(\"test\")\n            .projectId(\"test\")\n            .identifier(\"MY_FEATURE\")\n            .environment(\"MY_ENVIRONMENT\")\n            .name(\"MY_FEATURE\")\n            .accountId(\"MY_ACCOUNT_ID\")\n            .attributes(Map.of(\"foo\", \"bar\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  target:\n    type: harness:platform:FeatureFlagTarget\n    properties:\n      orgId: test\n      projectId: test\n      identifier: MY_FEATURE\n      environment: MY_ENVIRONMENT\n      name: MY_FEATURE\n      accountId: MY_ACCOUNT_ID\n      attributes:\n        foo: bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accountId":{"type":"string","description":"Account Identifier\n"},"attributes":{"type":"object","additionalProperties":{"type":"string"},"description":"Attributes\n"},"environment":{"type":"string","description":"Environment Identifier\n"},"identifier":{"type":"string","description":"Identifier of the Feature Flag Target\n"},"name":{"type":"string","description":"Target Name\n"},"orgId":{"type":"string","description":"Organization Identifier\n"},"projectId":{"type":"string","description":"Project Identifier\n"}},"required":["accountId","attributes","environment","identifier","name","orgId","projectId"],"inputProperties":{"accountId":{"type":"string","description":"Account Identifier\n","willReplaceOnChanges":true},"attributes":{"type":"object","additionalProperties":{"type":"string"},"description":"Attributes\n","willReplaceOnChanges":true},"environment":{"type":"string","description":"Environment Identifier\n","willReplaceOnChanges":true},"identifier":{"type":"string","description":"Identifier of the Feature Flag Target\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Target Name\n"},"orgId":{"type":"string","description":"Organization Identifier\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier\n","willReplaceOnChanges":true}},"requiredInputs":["accountId","environment","identifier","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering FeatureFlagTarget resources.\n","properties":{"accountId":{"type":"string","description":"Account Identifier\n","willReplaceOnChanges":true},"attributes":{"type":"object","additionalProperties":{"type":"string"},"description":"Attributes\n","willReplaceOnChanges":true},"environment":{"type":"string","description":"Environment Identifier\n","willReplaceOnChanges":true},"identifier":{"type":"string","description":"Identifier of the Feature Flag Target\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Target Name\n"},"orgId":{"type":"string","description":"Organization Identifier\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier\n","willReplaceOnChanges":true}},"type":"object"}},"harness:platform/featureFlagTargetGroup:FeatureFlagTargetGroup":{"description":"Resource for creating a Harness Feature Flag Target Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst target = new harness.platform.FeatureFlagTargetGroup(\"target\", {\n    orgId: \"test\",\n    projectId: \"test\",\n    identifier: \"MY_FEATURE\",\n    environment: \"MY_ENVIRONMENT\",\n    name: \"MY_FEATURE\",\n    accountId: \"MY_ACCOUNT_ID\",\n    includeds: [\"target_id_1\"],\n    excludeds: [\"target_id_2\"],\n    rules: {\n        attribute: \"MY_ATTRIBUTE\",\n        operator: \"equal\",\n        value: \"MY_VALUE\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntarget = harness.platform.FeatureFlagTargetGroup(\"target\",\n    org_id=\"test\",\n    project_id=\"test\",\n    identifier=\"MY_FEATURE\",\n    environment=\"MY_ENVIRONMENT\",\n    name=\"MY_FEATURE\",\n    account_id=\"MY_ACCOUNT_ID\",\n    includeds=[\"target_id_1\"],\n    excludeds=[\"target_id_2\"],\n    rules={\n        \"attribute\": \"MY_ATTRIBUTE\",\n        \"operator\": \"equal\",\n        \"value\": \"MY_VALUE\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var target = new Harness.Platform.FeatureFlagTargetGroup(\"target\", new()\n    {\n        OrgId = \"test\",\n        ProjectId = \"test\",\n        Identifier = \"MY_FEATURE\",\n        Environment = \"MY_ENVIRONMENT\",\n        Name = \"MY_FEATURE\",\n        AccountId = \"MY_ACCOUNT_ID\",\n        Includeds = new[]\n        {\n            \"target_id_1\",\n        },\n        Excludeds = new[]\n        {\n            \"target_id_2\",\n        },\n        Rules = \n        {\n            { \"attribute\", \"MY_ATTRIBUTE\" },\n            { \"operator\", \"equal\" },\n            { \"value\", \"MY_VALUE\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewFeatureFlagTargetGroup(ctx, \"target\", \u0026platform.FeatureFlagTargetGroupArgs{\n\t\t\tOrgId:       pulumi.String(\"test\"),\n\t\t\tProjectId:   pulumi.String(\"test\"),\n\t\t\tIdentifier:  pulumi.String(\"MY_FEATURE\"),\n\t\t\tEnvironment: pulumi.String(\"MY_ENVIRONMENT\"),\n\t\t\tName:        pulumi.String(\"MY_FEATURE\"),\n\t\t\tAccountId:   pulumi.String(\"MY_ACCOUNT_ID\"),\n\t\t\tIncludeds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"target_id_1\"),\n\t\t\t},\n\t\t\tExcludeds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"target_id_2\"),\n\t\t\t},\n\t\t\tRules: platform.FeatureFlagTargetGroupRuleArray{\n\t\t\t\tAttribute: \"MY_ATTRIBUTE\",\n\t\t\t\tOperator:  \"equal\",\n\t\t\t\tValue:     \"MY_VALUE\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.FeatureFlagTargetGroup;\nimport com.pulumi.harness.platform.FeatureFlagTargetGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var target = new FeatureFlagTargetGroup(\"target\", FeatureFlagTargetGroupArgs.builder()\n            .orgId(\"test\")\n            .projectId(\"test\")\n            .identifier(\"MY_FEATURE\")\n            .environment(\"MY_ENVIRONMENT\")\n            .name(\"MY_FEATURE\")\n            .accountId(\"MY_ACCOUNT_ID\")\n            .includeds(\"target_id_1\")\n            .excludeds(\"target_id_2\")\n            .rules(FeatureFlagTargetGroupRuleArgs.builder()\n                .attribute(\"MY_ATTRIBUTE\")\n                .operator(\"equal\")\n                .value(\"MY_VALUE\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  target:\n    type: harness:platform:FeatureFlagTargetGroup\n    properties:\n      orgId: test\n      projectId: test\n      identifier: MY_FEATURE\n      environment: MY_ENVIRONMENT\n      name: MY_FEATURE\n      accountId: MY_ACCOUNT_ID\n      includeds:\n        - target_id_1\n      excludeds:\n        - target_id_2\n      rules:\n        attribute: MY_ATTRIBUTE\n        operator: equal\n        value: MY_VALUE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"accountId":{"type":"string","description":"Account Identifier\n"},"environment":{"type":"string","description":"Environment Identifier\n"},"excludeds":{"type":"array","items":{"type":"string"},"description":"A list of targets to exclude from the target group\n"},"identifier":{"type":"string","description":"The unique identifier of the feature flag target group.\n"},"includeds":{"type":"array","items":{"type":"string"},"description":"A list of targets to include in the target group\n"},"name":{"type":"string","description":"The name of the feature flag target group.\n"},"orgId":{"type":"string","description":"Organization Identifier\n"},"projectId":{"type":"string","description":"Project Identifier\n"},"rules":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagTargetGroupRule:FeatureFlagTargetGroupRule"},"description":"The list of rules used to include targets in the target group.\n"}},"required":["accountId","environment","excludeds","identifier","includeds","name","orgId","projectId","rules"],"inputProperties":{"accountId":{"type":"string","description":"Account Identifier\n","willReplaceOnChanges":true},"environment":{"type":"string","description":"Environment Identifier\n","willReplaceOnChanges":true},"excludeds":{"type":"array","items":{"type":"string"},"description":"A list of targets to exclude from the target group\n"},"identifier":{"type":"string","description":"The unique identifier of the feature flag target group.\n","willReplaceOnChanges":true},"includeds":{"type":"array","items":{"type":"string"},"description":"A list of targets to include in the target group\n"},"name":{"type":"string","description":"The name of the feature flag target group.\n"},"orgId":{"type":"string","description":"Organization Identifier\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagTargetGroupRule:FeatureFlagTargetGroupRule"},"description":"The list of rules used to include targets in the target group.\n"}},"requiredInputs":["accountId","environment","identifier","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering FeatureFlagTargetGroup resources.\n","properties":{"accountId":{"type":"string","description":"Account Identifier\n","willReplaceOnChanges":true},"environment":{"type":"string","description":"Environment Identifier\n","willReplaceOnChanges":true},"excludeds":{"type":"array","items":{"type":"string"},"description":"A list of targets to exclude from the target group\n"},"identifier":{"type":"string","description":"The unique identifier of the feature flag target group.\n","willReplaceOnChanges":true},"includeds":{"type":"array","items":{"type":"string"},"description":"A list of targets to include in the target group\n"},"name":{"type":"string","description":"The name of the feature flag target group.\n"},"orgId":{"type":"string","description":"Organization Identifier\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier\n","willReplaceOnChanges":true},"rules":{"type":"array","items":{"$ref":"#/types/harness:platform/FeatureFlagTargetGroupRule:FeatureFlagTargetGroupRule"},"description":"The list of rules used to include targets in the target group.\n"}},"type":"object"}},"harness:platform/fileStoreFile:FileStoreFile":{"description":"Resource for creating files in Harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Create file\nconst example = new harness.platform.FileStoreFile(\"example\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"description\",\n    tags: [\n        \"foo:bar\",\n        \"baz:qux\",\n    ],\n    parentIdentifier: \"parent_identifier\",\n    fileContentPath: \"file_content_path\",\n    mimeType: \"mime_type\",\n    fileUsage: \"MANIFEST_FILE|CONFIG|SCRIPT\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Create file\nexample = harness.platform.FileStoreFile(\"example\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"description\",\n    tags=[\n        \"foo:bar\",\n        \"baz:qux\",\n    ],\n    parent_identifier=\"parent_identifier\",\n    file_content_path=\"file_content_path\",\n    mime_type=\"mime_type\",\n    file_usage=\"MANIFEST_FILE|CONFIG|SCRIPT\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create file\n    var example = new Harness.Platform.FileStoreFile(\"example\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"description\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"baz:qux\",\n        },\n        ParentIdentifier = \"parent_identifier\",\n        FileContentPath = \"file_content_path\",\n        MimeType = \"mime_type\",\n        FileUsage = \"MANIFEST_FILE|CONFIG|SCRIPT\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create file\n\t\t_, err := platform.NewFileStoreFile(ctx, \"example\", \u0026platform.FileStoreFileArgs{\n\t\t\tOrgId:       pulumi.String(\"org_id\"),\n\t\t\tProjectId:   pulumi.String(\"project_id\"),\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz:qux\"),\n\t\t\t},\n\t\t\tParentIdentifier: pulumi.String(\"parent_identifier\"),\n\t\t\tFileContentPath:  pulumi.String(\"file_content_path\"),\n\t\t\tMimeType:         pulumi.String(\"mime_type\"),\n\t\t\tFileUsage:        pulumi.String(\"MANIFEST_FILE|CONFIG|SCRIPT\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.FileStoreFile;\nimport com.pulumi.harness.platform.FileStoreFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create file\n        var example = new FileStoreFile(\"example\", FileStoreFileArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"description\")\n            .tags(            \n                \"foo:bar\",\n                \"baz:qux\")\n            .parentIdentifier(\"parent_identifier\")\n            .fileContentPath(\"file_content_path\")\n            .mimeType(\"mime_type\")\n            .fileUsage(\"MANIFEST_FILE|CONFIG|SCRIPT\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create file\n  example:\n    type: harness:platform:FileStoreFile\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      name: name\n      description: description\n      tags:\n        - foo:bar\n        - baz:qux\n      parentIdentifier: parent_identifier\n      fileContentPath: file_content_path\n      mimeType: mime_type\n      fileUsage: MANIFEST_FILE|CONFIG|SCRIPT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level file\n\n```sh\n$ pulumi import harness:platform/fileStoreFile:FileStoreFile example \u003cidentifier\u003e\n```\n\nImport org level file\n\n```sh\n$ pulumi import harness:platform/fileStoreFile:FileStoreFile example \u003corg_id\u003e/\u003cidentifier\u003e\n```\n\nImport org level file\n\n```sh\n$ pulumi import harness:platform/fileStoreFile:FileStoreFile example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cidentifier\u003e\n```\n\n","properties":{"content":{"type":"string","description":"File content stored on Harness File Store\n"},"createdBies":{"type":"array","items":{"$ref":"#/types/harness:platform/FileStoreFileCreatedBy:FileStoreFileCreatedBy"},"description":"Created by\n"},"description":{"type":"string","description":"Description of the resource.\n"},"fileContentPath":{"type":"string","description":"File content path to be upladed on Harness File Store\n"},"fileUsage":{"type":"string","description":"File usage. Valid options are MANIFEST_FILE, CONFIG, SCRIPT\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"lastModifiedAt":{"type":"integer","description":"Last modified at\n"},"lastModifiedBies":{"type":"array","items":{"$ref":"#/types/harness:platform/FileStoreFileLastModifiedBy:FileStoreFileLastModifiedBy"},"description":"Last modified by\n"},"mimeType":{"type":"string","description":"File mime type\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentIdentifier":{"type":"string","description":"File parent identifier on Harness File Store\n"},"path":{"type":"string","description":"Harness File Store file path\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["content","createdBies","fileContentPath","fileUsage","identifier","lastModifiedAt","lastModifiedBies","mimeType","name","parentIdentifier","path"],"inputProperties":{"content":{"type":"string","description":"File content stored on Harness File Store\n"},"description":{"type":"string","description":"Description of the resource.\n"},"fileContentPath":{"type":"string","description":"File content path to be upladed on Harness File Store\n"},"fileUsage":{"type":"string","description":"File usage. Valid options are MANIFEST_FILE, CONFIG, SCRIPT\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"mimeType":{"type":"string","description":"File mime type\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentIdentifier":{"type":"string","description":"File parent identifier on Harness File Store\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier","parentIdentifier"],"stateInputs":{"description":"Input properties used for looking up and filtering FileStoreFile resources.\n","properties":{"content":{"type":"string","description":"File content stored on Harness File Store\n"},"createdBies":{"type":"array","items":{"$ref":"#/types/harness:platform/FileStoreFileCreatedBy:FileStoreFileCreatedBy"},"description":"Created by\n"},"description":{"type":"string","description":"Description of the resource.\n"},"fileContentPath":{"type":"string","description":"File content path to be upladed on Harness File Store\n"},"fileUsage":{"type":"string","description":"File usage. Valid options are MANIFEST_FILE, CONFIG, SCRIPT\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"lastModifiedAt":{"type":"integer","description":"Last modified at\n"},"lastModifiedBies":{"type":"array","items":{"$ref":"#/types/harness:platform/FileStoreFileLastModifiedBy:FileStoreFileLastModifiedBy"},"description":"Last modified by\n"},"mimeType":{"type":"string","description":"File mime type\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentIdentifier":{"type":"string","description":"File parent identifier on Harness File Store\n"},"path":{"type":"string","description":"Harness File Store file path\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/fileStoreFolder:FileStoreFolder":{"description":"Resource for creating folders in Harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Create folder\nconst example = new harness.platform.FileStoreFolder(\"example\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"description\",\n    tags: [\n        \"foo:bar\",\n        \"baz:qux\",\n    ],\n    parentIdentifier: \"parent_identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Create folder\nexample = harness.platform.FileStoreFolder(\"example\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"description\",\n    tags=[\n        \"foo:bar\",\n        \"baz:qux\",\n    ],\n    parent_identifier=\"parent_identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create folder\n    var example = new Harness.Platform.FileStoreFolder(\"example\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"description\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"baz:qux\",\n        },\n        ParentIdentifier = \"parent_identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create folder\n\t\t_, err := platform.NewFileStoreFolder(ctx, \"example\", \u0026platform.FileStoreFolderArgs{\n\t\t\tOrgId:       pulumi.String(\"org_id\"),\n\t\t\tProjectId:   pulumi.String(\"project_id\"),\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz:qux\"),\n\t\t\t},\n\t\t\tParentIdentifier: pulumi.String(\"parent_identifier\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.FileStoreFolder;\nimport com.pulumi.harness.platform.FileStoreFolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create folder\n        var example = new FileStoreFolder(\"example\", FileStoreFolderArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"description\")\n            .tags(            \n                \"foo:bar\",\n                \"baz:qux\")\n            .parentIdentifier(\"parent_identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create folder\n  example:\n    type: harness:platform:FileStoreFolder\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      name: name\n      description: description\n      tags:\n        - foo:bar\n        - baz:qux\n      parentIdentifier: parent_identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level folder\n\n```sh\n$ pulumi import harness:platform/fileStoreFolder:FileStoreFolder example \u003cidentifier\u003e\n```\n\nImport org level folder\n\n```sh\n$ pulumi import harness:platform/fileStoreFolder:FileStoreFolder example \u003corg_id\u003e/\u003cidentifier\u003e\n```\n\nImport org level folder\n\n```sh\n$ pulumi import harness:platform/fileStoreFolder:FileStoreFolder example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cidentifier\u003e\n```\n\n","properties":{"createdBies":{"type":"array","items":{"$ref":"#/types/harness:platform/FileStoreFolderCreatedBy:FileStoreFolderCreatedBy"},"description":"Created by\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"lastModifiedAt":{"type":"integer","description":"Last modified at\n"},"lastModifiedBies":{"type":"array","items":{"$ref":"#/types/harness:platform/FileStoreFolderLastModifiedBy:FileStoreFolderLastModifiedBy"},"description":"Last modified by\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentIdentifier":{"type":"string","description":"Folder parent identifier on Harness File Store\n"},"path":{"type":"string","description":"Harness File Store folder path\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["createdBies","identifier","lastModifiedAt","lastModifiedBies","name","parentIdentifier","path"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentIdentifier":{"type":"string","description":"Folder parent identifier on Harness File Store\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier","parentIdentifier"],"stateInputs":{"description":"Input properties used for looking up and filtering FileStoreFolder resources.\n","properties":{"createdBies":{"type":"array","items":{"$ref":"#/types/harness:platform/FileStoreFolderCreatedBy:FileStoreFolderCreatedBy"},"description":"Created by\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"lastModifiedAt":{"type":"integer","description":"Last modified at\n"},"lastModifiedBies":{"type":"array","items":{"$ref":"#/types/harness:platform/FileStoreFolderLastModifiedBy:FileStoreFolderLastModifiedBy"},"description":"Last modified by\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentIdentifier":{"type":"string","description":"Folder parent identifier on Harness File Store\n"},"path":{"type":"string","description":"Harness File Store folder path\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/filters:Filters":{"description":"Resource for creating a Harness Filter. This resource support filters of types {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.Filters(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    type: \"Connector\",\n    filterProperties: {\n        tags: [\"foo:bar\"],\n        filterType: \"Connector\",\n    },\n    filterVisibility: \"EveryOne\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.Filters(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    type=\"Connector\",\n    filter_properties={\n        \"tags\": [\"foo:bar\"],\n        \"filter_type\": \"Connector\",\n    },\n    filter_visibility=\"EveryOne\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.Filters(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Type = \"Connector\",\n        FilterProperties = new Harness.Platform.Inputs.FiltersFilterPropertiesArgs\n        {\n            Tags = new[]\n            {\n                \"foo:bar\",\n            },\n            FilterType = \"Connector\",\n        },\n        FilterVisibility = \"EveryOne\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewFilters(ctx, \"test\", \u0026platform.FiltersArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tType:       pulumi.String(\"Connector\"),\n\t\t\tFilterProperties: \u0026platform.FiltersFilterPropertiesArgs{\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t},\n\t\t\t\tFilterType: pulumi.String(\"Connector\"),\n\t\t\t},\n\t\t\tFilterVisibility: pulumi.String(\"EveryOne\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Filters;\nimport com.pulumi.harness.platform.FiltersArgs;\nimport com.pulumi.harness.platform.inputs.FiltersFilterPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new Filters(\"test\", FiltersArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .type(\"Connector\")\n            .filterProperties(FiltersFilterPropertiesArgs.builder()\n                .tags(\"foo:bar\")\n                .filterType(\"Connector\")\n                .build())\n            .filterVisibility(\"EveryOne\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:Filters\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      type: Connector\n      filterProperties:\n        tags:\n          - foo:bar\n        filterType: Connector\n      filterVisibility: EveryOne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level filter\n\n```sh\n$ pulumi import harness:platform/filters:Filters example \u003cfilter_id\u003e/\u003ctype\u003e\n```\n\nImport org level filter\n\n```sh\n$ pulumi import harness:platform/filters:Filters example \u003cord_id\u003e/\u003cfilter_id\u003e/\u003ctype\u003e\n```\n\nImport project level filter\n\n```sh\n$ pulumi import harness:platform/filters:Filters example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cfilter_id\u003e/\u003ctype\u003e\n```\n\n","properties":{"filterProperties":{"$ref":"#/types/harness:platform/FiltersFilterProperties:FiltersFilterProperties","description":"Properties of the filter entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filter. By default, everyone can view this filter. Can either be EveryOne or OnlyCreator\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"name":{"type":"string","description":"Name of the Filter\n"},"orgId":{"type":"string","description":"organization Identifier for the Entity\n"},"projectId":{"type":"string","description":"project Identifier for the Entity\n"},"type":{"type":"string","description":"Type of filter. Currently supported types are {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}\n"}},"required":["filterProperties","filterVisibility","identifier","name","type"],"inputProperties":{"filterProperties":{"$ref":"#/types/harness:platform/FiltersFilterProperties:FiltersFilterProperties","description":"Properties of the filter entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filter. By default, everyone can view this filter. Can either be EveryOne or OnlyCreator\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"name":{"type":"string","description":"Name of the Filter\n"},"orgId":{"type":"string","description":"organization Identifier for the Entity\n"},"projectId":{"type":"string","description":"project Identifier for the Entity\n"},"type":{"type":"string","description":"Type of filter. Currently supported types are {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}\n"}},"requiredInputs":["filterProperties","identifier","type"],"stateInputs":{"description":"Input properties used for looking up and filtering Filters resources.\n","properties":{"filterProperties":{"$ref":"#/types/harness:platform/FiltersFilterProperties:FiltersFilterProperties","description":"Properties of the filter entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filter. By default, everyone can view this filter. Can either be EveryOne or OnlyCreator\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"name":{"type":"string","description":"Name of the Filter\n"},"orgId":{"type":"string","description":"organization Identifier for the Entity\n"},"projectId":{"type":"string","description":"project Identifier for the Entity\n"},"type":{"type":"string","description":"Type of filter. Currently supported types are {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}\n"}},"type":"object"}},"harness:platform/gcpCloudCostConnector:GcpCloudCostConnector":{"description":"Resource for creating a GCP Cloud Cost connector in Harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.GcpCloudCostConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    featuresEnableds: [\n        \"BILLING\",\n        \"VISIBILITY\",\n        \"OPTIMIZATION\",\n        \"GOVERNANCE\",\n    ],\n    gcpProjectId: \"gcp_project_id\",\n    serviceAccountEmail: \"service_account_email\",\n    billingExportSpec: {\n        dataSetId: \"data_set_id\",\n        tableId: \"table_id\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.GcpCloudCostConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    features_enableds=[\n        \"BILLING\",\n        \"VISIBILITY\",\n        \"OPTIMIZATION\",\n        \"GOVERNANCE\",\n    ],\n    gcp_project_id=\"gcp_project_id\",\n    service_account_email=\"service_account_email\",\n    billing_export_spec={\n        \"data_set_id\": \"data_set_id\",\n        \"table_id\": \"table_id\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.GcpCloudCostConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        FeaturesEnableds = new[]\n        {\n            \"BILLING\",\n            \"VISIBILITY\",\n            \"OPTIMIZATION\",\n            \"GOVERNANCE\",\n        },\n        GcpProjectId = \"gcp_project_id\",\n        ServiceAccountEmail = \"service_account_email\",\n        BillingExportSpec = new Harness.Platform.Inputs.GcpCloudCostConnectorBillingExportSpecArgs\n        {\n            DataSetId = \"data_set_id\",\n            TableId = \"table_id\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewGcpCloudCostConnector(ctx, \"test\", \u0026platform.GcpCloudCostConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tFeaturesEnableds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"BILLING\"),\n\t\t\t\tpulumi.String(\"VISIBILITY\"),\n\t\t\t\tpulumi.String(\"OPTIMIZATION\"),\n\t\t\t\tpulumi.String(\"GOVERNANCE\"),\n\t\t\t},\n\t\t\tGcpProjectId:        pulumi.String(\"gcp_project_id\"),\n\t\t\tServiceAccountEmail: pulumi.String(\"service_account_email\"),\n\t\t\tBillingExportSpec: \u0026platform.GcpCloudCostConnectorBillingExportSpecArgs{\n\t\t\t\tDataSetId: pulumi.String(\"data_set_id\"),\n\t\t\t\tTableId:   pulumi.String(\"table_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.GcpCloudCostConnector;\nimport com.pulumi.harness.platform.GcpCloudCostConnectorArgs;\nimport com.pulumi.harness.platform.inputs.GcpCloudCostConnectorBillingExportSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new GcpCloudCostConnector(\"test\", GcpCloudCostConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .featuresEnableds(            \n                \"BILLING\",\n                \"VISIBILITY\",\n                \"OPTIMIZATION\",\n                \"GOVERNANCE\")\n            .gcpProjectId(\"gcp_project_id\")\n            .serviceAccountEmail(\"service_account_email\")\n            .billingExportSpec(GcpCloudCostConnectorBillingExportSpecArgs.builder()\n                .dataSetId(\"data_set_id\")\n                .tableId(\"table_id\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:GcpCloudCostConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      featuresEnableds:\n        - BILLING\n        - VISIBILITY\n        - OPTIMIZATION\n        - GOVERNANCE\n      gcpProjectId: gcp_project_id\n      serviceAccountEmail: service_account_email\n      billingExportSpec:\n        dataSetId: data_set_id\n        tableId: table_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level gcp cloud cost connector\n\n```sh\n$ pulumi import harness:platform/gcpCloudCostConnector:GcpCloudCostConnector example \u003cconnector_id\u003e\n```\n\nImport org level gcp cloud cost connector\n\n```sh\n$ pulumi import harness:platform/gcpCloudCostConnector:GcpCloudCostConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level gcp cloud cost connector\n\n```sh\n$ pulumi import harness:platform/gcpCloudCostConnector:GcpCloudCostConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"billingExportSpec":{"$ref":"#/types/harness:platform/GcpCloudCostConnectorBillingExportSpec:GcpCloudCostConnectorBillingExportSpec","description":"Returns billing details.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"Indicates which features to enable among Billing, Optimization, Visibility and Governance.\n"},"gcpProjectId":{"type":"string","description":"GCP Project Id.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceAccountEmail":{"type":"string","description":"Email corresponding to the Service Account.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["featuresEnableds","gcpProjectId","identifier","name","serviceAccountEmail"],"inputProperties":{"billingExportSpec":{"$ref":"#/types/harness:platform/GcpCloudCostConnectorBillingExportSpec:GcpCloudCostConnectorBillingExportSpec","description":"Returns billing details.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"Indicates which features to enable among Billing, Optimization, Visibility and Governance.\n"},"gcpProjectId":{"type":"string","description":"GCP Project Id.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceAccountEmail":{"type":"string","description":"Email corresponding to the Service Account.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["featuresEnableds","gcpProjectId","identifier","serviceAccountEmail"],"stateInputs":{"description":"Input properties used for looking up and filtering GcpCloudCostConnector resources.\n","properties":{"billingExportSpec":{"$ref":"#/types/harness:platform/GcpCloudCostConnectorBillingExportSpec:GcpCloudCostConnectorBillingExportSpec","description":"Returns billing details.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"Indicates which features to enable among Billing, Optimization, Visibility and Governance.\n"},"gcpProjectId":{"type":"string","description":"GCP Project Id.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceAccountEmail":{"type":"string","description":"Email corresponding to the Service Account.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/gcpConnector:GcpConnector":{"description":"Resource for creating a Gcp connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level gcp connector\n\n```sh\n$ pulumi import harness:platform/gcpConnector:GcpConnector example \u003cconnector_id\u003e\n```\n\nImport org level gcp connector\n\n```sh\n$ pulumi import harness:platform/gcpConnector:GcpConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level gcp connector\n\n```sh\n$ pulumi import harness:platform/gcpConnector:GcpConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on Delegate\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"inheritFromDelegates":{"type":"array","items":{"$ref":"#/types/harness:platform/GcpConnectorInheritFromDelegate:GcpConnectorInheritFromDelegate"},"description":"Inherit configuration from delegate.\n"},"manual":{"$ref":"#/types/harness:platform/GcpConnectorManual:GcpConnectorManual","description":"Manual credential configuration.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/GcpConnectorOidcAuthentication:GcpConnectorOidcAuthentication"},"description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["executeOnDelegate","forceDelete","identifier","name"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on Delegate\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"inheritFromDelegates":{"type":"array","items":{"$ref":"#/types/harness:platform/GcpConnectorInheritFromDelegate:GcpConnectorInheritFromDelegate"},"description":"Inherit configuration from delegate.\n"},"manual":{"$ref":"#/types/harness:platform/GcpConnectorManual:GcpConnectorManual","description":"Manual credential configuration.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/GcpConnectorOidcAuthentication:GcpConnectorOidcAuthentication"},"description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering GcpConnector resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on Delegate\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"inheritFromDelegates":{"type":"array","items":{"$ref":"#/types/harness:platform/GcpConnectorInheritFromDelegate:GcpConnectorInheritFromDelegate"},"description":"Inherit configuration from delegate.\n"},"manual":{"$ref":"#/types/harness:platform/GcpConnectorManual:GcpConnectorManual","description":"Manual credential configuration.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/GcpConnectorOidcAuthentication:GcpConnectorOidcAuthentication"},"description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/gcpSecretManagerConnector:GcpSecretManagerConnector":{"description":"Resource for creating a GCP Secret Manager connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst gcpSmManual = new harness.platform.GcpSecretManagerConnector(\"gcp_sm_manual\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    delegateSelectors: [\"harness-delegate\"],\n    credentialsRef: `account.${test.id}`,\n});\nconst gcpSmInherit = new harness.platform.GcpSecretManagerConnector(\"gcp_sm_inherit\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    delegateSelectors: [\"harness-delegate\"],\n    inheritFromDelegate: true,\n});\nconst gcpSmOidcPlatform = new harness.platform.GcpSecretManagerConnector(\"gcp_sm_oidc_platform\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    executeOnDelegate: false,\n    oidcAuthentications: [{\n        workloadPoolId: \"harness-pool-test\",\n        providerId: \"harness\",\n        gcpProjectId: \"1234567\",\n        serviceAccountEmail: \"harness.sample@iam.gserviceaccount.com\",\n    }],\n});\nconst gcpSmOidcDelegate = new harness.platform.GcpSecretManagerConnector(\"gcp_sm_oidc_delegate\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    \"default\": true,\n    delegateSelectors: [\"harness-delegate\"],\n    oidcAuthentications: [{\n        workloadPoolId: \"harness-pool-test\",\n        providerId: \"harness\",\n        gcpProjectId: \"1234567\",\n        serviceAccountEmail: \"harness.sample@iam.gserviceaccount.com\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ngcp_sm_manual = harness.platform.GcpSecretManagerConnector(\"gcp_sm_manual\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    delegate_selectors=[\"harness-delegate\"],\n    credentials_ref=f\"account.{test['id']}\")\ngcp_sm_inherit = harness.platform.GcpSecretManagerConnector(\"gcp_sm_inherit\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    delegate_selectors=[\"harness-delegate\"],\n    inherit_from_delegate=True)\ngcp_sm_oidc_platform = harness.platform.GcpSecretManagerConnector(\"gcp_sm_oidc_platform\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    execute_on_delegate=False,\n    oidc_authentications=[{\n        \"workload_pool_id\": \"harness-pool-test\",\n        \"provider_id\": \"harness\",\n        \"gcp_project_id\": \"1234567\",\n        \"service_account_email\": \"harness.sample@iam.gserviceaccount.com\",\n    }])\ngcp_sm_oidc_delegate = harness.platform.GcpSecretManagerConnector(\"gcp_sm_oidc_delegate\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    default=True,\n    delegate_selectors=[\"harness-delegate\"],\n    oidc_authentications=[{\n        \"workload_pool_id\": \"harness-pool-test\",\n        \"provider_id\": \"harness\",\n        \"gcp_project_id\": \"1234567\",\n        \"service_account_email\": \"harness.sample@iam.gserviceaccount.com\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var gcpSmManual = new Harness.Platform.GcpSecretManagerConnector(\"gcp_sm_manual\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        CredentialsRef = $\"account.{test.Id}\",\n    });\n\n    var gcpSmInherit = new Harness.Platform.GcpSecretManagerConnector(\"gcp_sm_inherit\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        InheritFromDelegate = true,\n    });\n\n    var gcpSmOidcPlatform = new Harness.Platform.GcpSecretManagerConnector(\"gcp_sm_oidc_platform\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        ExecuteOnDelegate = false,\n        OidcAuthentications = new[]\n        {\n            new Harness.Platform.Inputs.GcpSecretManagerConnectorOidcAuthenticationArgs\n            {\n                WorkloadPoolId = \"harness-pool-test\",\n                ProviderId = \"harness\",\n                GcpProjectId = \"1234567\",\n                ServiceAccountEmail = \"harness.sample@iam.gserviceaccount.com\",\n            },\n        },\n    });\n\n    var gcpSmOidcDelegate = new Harness.Platform.GcpSecretManagerConnector(\"gcp_sm_oidc_delegate\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Default = true,\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        OidcAuthentications = new[]\n        {\n            new Harness.Platform.Inputs.GcpSecretManagerConnectorOidcAuthenticationArgs\n            {\n                WorkloadPoolId = \"harness-pool-test\",\n                ProviderId = \"harness\",\n                GcpProjectId = \"1234567\",\n                ServiceAccountEmail = \"harness.sample@iam.gserviceaccount.com\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewGcpSecretManagerConnector(ctx, \"gcp_sm_manual\", \u0026platform.GcpSecretManagerConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tCredentialsRef: pulumi.Sprintf(\"account.%v\", test.Id),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewGcpSecretManagerConnector(ctx, \"gcp_sm_inherit\", \u0026platform.GcpSecretManagerConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tInheritFromDelegate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewGcpSecretManagerConnector(ctx, \"gcp_sm_oidc_platform\", \u0026platform.GcpSecretManagerConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tExecuteOnDelegate: pulumi.Bool(false),\n\t\t\tOidcAuthentications: platform.GcpSecretManagerConnectorOidcAuthenticationArray{\n\t\t\t\t\u0026platform.GcpSecretManagerConnectorOidcAuthenticationArgs{\n\t\t\t\t\tWorkloadPoolId:      pulumi.String(\"harness-pool-test\"),\n\t\t\t\t\tProviderId:          pulumi.String(\"harness\"),\n\t\t\t\t\tGcpProjectId:        pulumi.String(\"1234567\"),\n\t\t\t\t\tServiceAccountEmail: pulumi.String(\"harness.sample@iam.gserviceaccount.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewGcpSecretManagerConnector(ctx, \"gcp_sm_oidc_delegate\", \u0026platform.GcpSecretManagerConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tDefault: true,\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tOidcAuthentications: platform.GcpSecretManagerConnectorOidcAuthenticationArray{\n\t\t\t\t\u0026platform.GcpSecretManagerConnectorOidcAuthenticationArgs{\n\t\t\t\t\tWorkloadPoolId:      pulumi.String(\"harness-pool-test\"),\n\t\t\t\t\tProviderId:          pulumi.String(\"harness\"),\n\t\t\t\t\tGcpProjectId:        pulumi.String(\"1234567\"),\n\t\t\t\t\tServiceAccountEmail: pulumi.String(\"harness.sample@iam.gserviceaccount.com\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.GcpSecretManagerConnector;\nimport com.pulumi.harness.platform.GcpSecretManagerConnectorArgs;\nimport com.pulumi.harness.platform.inputs.GcpSecretManagerConnectorOidcAuthenticationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var gcpSmManual = new GcpSecretManagerConnector(\"gcpSmManual\", GcpSecretManagerConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .delegateSelectors(\"harness-delegate\")\n            .credentialsRef(String.format(\"account.%s\", test.id()))\n            .build());\n\n        var gcpSmInherit = new GcpSecretManagerConnector(\"gcpSmInherit\", GcpSecretManagerConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .delegateSelectors(\"harness-delegate\")\n            .inheritFromDelegate(true)\n            .build());\n\n        var gcpSmOidcPlatform = new GcpSecretManagerConnector(\"gcpSmOidcPlatform\", GcpSecretManagerConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .executeOnDelegate(false)\n            .oidcAuthentications(GcpSecretManagerConnectorOidcAuthenticationArgs.builder()\n                .workloadPoolId(\"harness-pool-test\")\n                .providerId(\"harness\")\n                .gcpProjectId(\"1234567\")\n                .serviceAccountEmail(\"harness.sample@iam.gserviceaccount.com\")\n                .build())\n            .build());\n\n        var gcpSmOidcDelegate = new GcpSecretManagerConnector(\"gcpSmOidcDelegate\", GcpSecretManagerConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .default_(true)\n            .delegateSelectors(\"harness-delegate\")\n            .oidcAuthentications(GcpSecretManagerConnectorOidcAuthenticationArgs.builder()\n                .workloadPoolId(\"harness-pool-test\")\n                .providerId(\"harness\")\n                .gcpProjectId(\"1234567\")\n                .serviceAccountEmail(\"harness.sample@iam.gserviceaccount.com\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  gcpSmManual:\n    type: harness:platform:GcpSecretManagerConnector\n    name: gcp_sm_manual\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      delegateSelectors:\n        - harness-delegate\n      credentialsRef: account.${test.id}\n  gcpSmInherit:\n    type: harness:platform:GcpSecretManagerConnector\n    name: gcp_sm_inherit\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      delegateSelectors:\n        - harness-delegate\n      inheritFromDelegate: true\n  gcpSmOidcPlatform:\n    type: harness:platform:GcpSecretManagerConnector\n    name: gcp_sm_oidc_platform\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      executeOnDelegate: false\n      oidcAuthentications:\n        - workloadPoolId: harness-pool-test\n          providerId: harness\n          gcpProjectId: '1234567'\n          serviceAccountEmail: harness.sample@iam.gserviceaccount.com\n  gcpSmOidcDelegate:\n    type: harness:platform:GcpSecretManagerConnector\n    name: gcp_sm_oidc_delegate\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      default: true\n      delegateSelectors:\n        - harness-delegate\n      oidcAuthentications:\n        - workloadPoolId: harness-pool-test\n          providerId: harness\n          gcpProjectId: '1234567'\n          serviceAccountEmail: harness.sample@iam.gserviceaccount.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level gcp secret manager connector\n\n```sh\n$ pulumi import harness:platform/gcpSecretManagerConnector:GcpSecretManagerConnector example \u003cconnector_id\u003e\n```\n\nImport org level gcp secret manager connector\n\n```sh\n$ pulumi import harness:platform/gcpSecretManagerConnector:GcpSecretManagerConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level gcp secret manager connector\n\n```sh\n$ pulumi import harness:platform/gcpSecretManagerConnector:GcpSecretManagerConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"credentialsRef":{"type":"string","description":"Reference to the secret containing credentials of IAM service account for Google Secret Manager. 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"inheritFromDelegate":{"type":"boolean","description":"Inherit configuration from delegate.\n"},"isDefault":{"type":"boolean","description":"Set this flag to set this secret manager as default secret manager.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/GcpSecretManagerConnectorOidcAuthentication:GcpSecretManagerConnectorOidcAuthentication"},"description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["identifier","name"],"inputProperties":{"credentialsRef":{"type":"string","description":"Reference to the secret containing credentials of IAM service account for Google Secret Manager. 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"inheritFromDelegate":{"type":"boolean","description":"Inherit configuration from delegate.\n"},"isDefault":{"type":"boolean","description":"Set this flag to set this secret manager as default secret manager.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/GcpSecretManagerConnectorOidcAuthentication:GcpSecretManagerConnectorOidcAuthentication"},"description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering GcpSecretManagerConnector resources.\n","properties":{"credentialsRef":{"type":"string","description":"Reference to the secret containing credentials of IAM service account for Google Secret Manager. 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"The delegates to inherit the credentials from.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"inheritFromDelegate":{"type":"boolean","description":"Inherit configuration from delegate.\n"},"isDefault":{"type":"boolean","description":"Set this flag to set this secret manager as default secret manager.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"oidcAuthentications":{"type":"array","items":{"$ref":"#/types/harness:platform/GcpSecretManagerConnectorOidcAuthentication:GcpSecretManagerConnectorOidcAuthentication"},"description":"Authentication using harness oidc.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/gitConnector:GitConnector":{"description":"Resource for creating a Git connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level git connector\n\n```sh\n$ pulumi import harness:platform/gitConnector:GitConnector example \u003cconnector_id\u003e\n```\n\nImport org level git connector\n\n```sh\n$ pulumi import harness:platform/gitConnector:GitConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level git connector\n\n```sh\n$ pulumi import harness:platform/gitConnector:GitConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"connectionType":{"type":"string","description":"Whether the connection we're making is to a git repository or a git account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/GitConnectorCredentials:GitConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the git repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"required":["connectionType","credentials","identifier","name","url"],"inputProperties":{"connectionType":{"type":"string","description":"Whether the connection we're making is to a git repository or a git account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/GitConnectorCredentials:GitConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the git repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"requiredInputs":["connectionType","credentials","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering GitConnector resources.\n","properties":{"connectionType":{"type":"string","description":"Whether the connection we're making is to a git repository or a git account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/GitConnectorCredentials:GitConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the git repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"type":"object"}},"harness:platform/gitOpsAgent:GitOpsAgent":{"description":"Resource for managing a Harness GitOps Agent.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.GitOpsAgent(\"example\", {\n    identifier: \"identifier\",\n    accountId: \"account_id\",\n    projectId: \"project_id\",\n    orgId: \"org_id\",\n    name: \"name\",\n    type: \"MANAGED_ARGO_PROVIDER\",\n    metadatas: [{\n        namespace: \"namespace\",\n        highAvailability: true,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.GitOpsAgent(\"example\",\n    identifier=\"identifier\",\n    account_id=\"account_id\",\n    project_id=\"project_id\",\n    org_id=\"org_id\",\n    name=\"name\",\n    type=\"MANAGED_ARGO_PROVIDER\",\n    metadatas=[{\n        \"namespace\": \"namespace\",\n        \"high_availability\": True,\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.GitOpsAgent(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        AccountId = \"account_id\",\n        ProjectId = \"project_id\",\n        OrgId = \"org_id\",\n        Name = \"name\",\n        Type = \"MANAGED_ARGO_PROVIDER\",\n        Metadatas = new[]\n        {\n            new Harness.Platform.Inputs.GitOpsAgentMetadataArgs\n            {\n                Namespace = \"namespace\",\n                HighAvailability = true,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewGitOpsAgent(ctx, \"example\", \u0026platform.GitOpsAgentArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tAccountId:  pulumi.String(\"account_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tType:       pulumi.String(\"MANAGED_ARGO_PROVIDER\"),\n\t\t\tMetadatas: platform.GitOpsAgentMetadataArray{\n\t\t\t\t\u0026platform.GitOpsAgentMetadataArgs{\n\t\t\t\t\tNamespace:        pulumi.String(\"namespace\"),\n\t\t\t\t\tHighAvailability: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.GitOpsAgent;\nimport com.pulumi.harness.platform.GitOpsAgentArgs;\nimport com.pulumi.harness.platform.inputs.GitOpsAgentMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new GitOpsAgent(\"example\", GitOpsAgentArgs.builder()\n            .identifier(\"identifier\")\n            .accountId(\"account_id\")\n            .projectId(\"project_id\")\n            .orgId(\"org_id\")\n            .name(\"name\")\n            .type(\"MANAGED_ARGO_PROVIDER\")\n            .metadatas(GitOpsAgentMetadataArgs.builder()\n                .namespace(\"namespace\")\n                .highAvailability(true)\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:GitOpsAgent\n    properties:\n      identifier: identifier\n      accountId: account_id\n      projectId: project_id\n      orgId: org_id\n      name: name\n      type: MANAGED_ARGO_PROVIDER\n      metadatas:\n        - namespace: namespace\n          highAvailability: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport an Account level Gitops Agent\n\n```sh\n$ pulumi import harness:platform/gitOpsAgent:GitOpsAgent example \u003cagent_id\u003e\n```\n\nImport an Org level Gitops Agent\n\n```sh\n$ pulumi import harness:platform/gitOpsAgent:GitOpsAgent example \u003corganization_id\u003e/\u003cagent_id\u003e\n```\n\nImport a Project level Gitops Agent\n\n```sh\n$ pulumi import harness:platform/gitOpsAgent:GitOpsAgent example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps agent.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentToken":{"type":"string","description":"Agent token to be used for authentication of the agent with Harness.\n"},"description":{"type":"string","description":"Description of the GitOps agent.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps agent.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsAgentMetadata:GitOpsAgentMetadata"},"description":"Metadata of the agent.\n"},"name":{"type":"string","description":"Name of the GitOps agent.\n"},"operator":{"type":"string","description":"The Operator to use for the Harness GitOps agent. Enum: \"ARGO\" \"FLAMINGO\"\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps agent.\n"},"prefixedIdentifier":{"type":"string","description":"Prefixed identifier of the GitOps agent. Agent identifier prefixed with scope of the agent\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps agent.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags for the GitOps agents. These can be used to search or filter the GitOps agents.\n"},"type":{"type":"string","description":"Default: \"AGENT*TYPE*UNSET\"\nEnum: \"AGENT*TYPE*UNSET\" \"CONNECTED*ARGO*PROVIDER\" \"MANAGED*ARGO*PROVIDER\"\n"}},"required":["accountId","agentToken","identifier","name","prefixedIdentifier","type"],"inputProperties":{"accountId":{"type":"string","description":"Account identifier of the GitOps agent.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"description":{"type":"string","description":"Description of the GitOps agent.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps agent.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsAgentMetadata:GitOpsAgentMetadata"},"description":"Metadata of the agent.\n"},"name":{"type":"string","description":"Name of the GitOps agent.\n"},"operator":{"type":"string","description":"The Operator to use for the Harness GitOps agent. Enum: \"ARGO\" \"FLAMINGO\"\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps agent.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps agent.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags for the GitOps agents. These can be used to search or filter the GitOps agents.\n"},"type":{"type":"string","description":"Default: \"AGENT*TYPE*UNSET\"\nEnum: \"AGENT*TYPE*UNSET\" \"CONNECTED*ARGO*PROVIDER\" \"MANAGED*ARGO*PROVIDER\"\n"}},"requiredInputs":["identifier","type"],"stateInputs":{"description":"Input properties used for looking up and filtering GitOpsAgent resources.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps agent.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentToken":{"type":"string","description":"Agent token to be used for authentication of the agent with Harness.\n"},"description":{"type":"string","description":"Description of the GitOps agent.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps agent.\n"},"metadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsAgentMetadata:GitOpsAgentMetadata"},"description":"Metadata of the agent.\n"},"name":{"type":"string","description":"Name of the GitOps agent.\n"},"operator":{"type":"string","description":"The Operator to use for the Harness GitOps agent. Enum: \"ARGO\" \"FLAMINGO\"\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps agent.\n"},"prefixedIdentifier":{"type":"string","description":"Prefixed identifier of the GitOps agent. Agent identifier prefixed with scope of the agent\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps agent.\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Tags for the GitOps agents. These can be used to search or filter the GitOps agents.\n"},"type":{"type":"string","description":"Default: \"AGENT*TYPE*UNSET\"\nEnum: \"AGENT*TYPE*UNSET\" \"CONNECTED*ARGO*PROVIDER\" \"MANAGED*ARGO*PROVIDER\"\n"}},"type":"object"}},"harness:platform/gitOpsApplications:GitOpsApplications":{"description":"Resource for managing a Harness Gitops Application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.GitOpsApplications(\"example\", {\n    applications: [{\n        metadatas: [{\n            annotations: {},\n            labels: {\n                \"harness.io/serviceRef\": \"service_id\",\n                \"harness.io/envRef\": \"env_id\",\n            },\n            name: \"appname123\",\n        }],\n        specs: [{\n            syncPolicies: [{\n                syncOptions: [\n                    \"PrunePropagationPolicy=undefined\",\n                    \"CreateNamespace=false\",\n                    \"Validate=false\",\n                    \"skipSchemaValidations=false\",\n                    \"autoCreateNamespace=false\",\n                    \"pruneLast=false\",\n                    \"applyOutofSyncOnly=false\",\n                    \"Replace=false\",\n                    \"retry=false\",\n                ],\n            }],\n            sources: [{\n                targetRevision: \"master\",\n                repoUrl: \"https://github.com/willycoll/argocd-example-apps.git\",\n                path: \"helm-guestbook\",\n            }],\n            destinations: [{\n                namespace: \"namespace-123\",\n                server: \"https://1.3.4.5\",\n            }],\n        }],\n    }],\n    projectId: \"project_id\",\n    orgId: \"org_id\",\n    accountId: \"account_id\",\n    identifier: \"identifier\",\n    clusterId: \"cluster_id\",\n    repoId: \"repo_id\",\n    agentId: \"agent_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.GitOpsApplications(\"example\",\n    applications=[{\n        \"metadatas\": [{\n            \"annotations\": {},\n            \"labels\": {\n                \"harness.io/serviceRef\": \"service_id\",\n                \"harness.io/envRef\": \"env_id\",\n            },\n            \"name\": \"appname123\",\n        }],\n        \"specs\": [{\n            \"sync_policies\": [{\n                \"sync_options\": [\n                    \"PrunePropagationPolicy=undefined\",\n                    \"CreateNamespace=false\",\n                    \"Validate=false\",\n                    \"skipSchemaValidations=false\",\n                    \"autoCreateNamespace=false\",\n                    \"pruneLast=false\",\n                    \"applyOutofSyncOnly=false\",\n                    \"Replace=false\",\n                    \"retry=false\",\n                ],\n            }],\n            \"sources\": [{\n                \"target_revision\": \"master\",\n                \"repo_url\": \"https://github.com/willycoll/argocd-example-apps.git\",\n                \"path\": \"helm-guestbook\",\n            }],\n            \"destinations\": [{\n                \"namespace\": \"namespace-123\",\n                \"server\": \"https://1.3.4.5\",\n            }],\n        }],\n    }],\n    project_id=\"project_id\",\n    org_id=\"org_id\",\n    account_id=\"account_id\",\n    identifier=\"identifier\",\n    cluster_id=\"cluster_id\",\n    repo_id=\"repo_id\",\n    agent_id=\"agent_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.GitOpsApplications(\"example\", new()\n    {\n        Applications = new[]\n        {\n            new Harness.Platform.Inputs.GitOpsApplicationsApplicationArgs\n            {\n                Metadatas = new[]\n                {\n                    new Harness.Platform.Inputs.GitOpsApplicationsApplicationMetadataArgs\n                    {\n                        Annotations = null,\n                        Labels = \n                        {\n                            { \"harness.io/serviceRef\", \"service_id\" },\n                            { \"harness.io/envRef\", \"env_id\" },\n                        },\n                        Name = \"appname123\",\n                    },\n                },\n                Specs = new[]\n                {\n                    new Harness.Platform.Inputs.GitOpsApplicationsApplicationSpecArgs\n                    {\n                        SyncPolicies = new[]\n                        {\n                            new Harness.Platform.Inputs.GitOpsApplicationsApplicationSpecSyncPolicyArgs\n                            {\n                                SyncOptions = new[]\n                                {\n                                    \"PrunePropagationPolicy=undefined\",\n                                    \"CreateNamespace=false\",\n                                    \"Validate=false\",\n                                    \"skipSchemaValidations=false\",\n                                    \"autoCreateNamespace=false\",\n                                    \"pruneLast=false\",\n                                    \"applyOutofSyncOnly=false\",\n                                    \"Replace=false\",\n                                    \"retry=false\",\n                                },\n                            },\n                        },\n                        Sources = new[]\n                        {\n                            new Harness.Platform.Inputs.GitOpsApplicationsApplicationSpecSourceArgs\n                            {\n                                TargetRevision = \"master\",\n                                RepoUrl = \"https://github.com/willycoll/argocd-example-apps.git\",\n                                Path = \"helm-guestbook\",\n                            },\n                        },\n                        Destinations = new[]\n                        {\n                            new Harness.Platform.Inputs.GitOpsApplicationsApplicationSpecDestinationArgs\n                            {\n                                Namespace = \"namespace-123\",\n                                Server = \"https://1.3.4.5\",\n                            },\n                        },\n                    },\n                },\n            },\n        },\n        ProjectId = \"project_id\",\n        OrgId = \"org_id\",\n        AccountId = \"account_id\",\n        Identifier = \"identifier\",\n        ClusterId = \"cluster_id\",\n        RepoId = \"repo_id\",\n        AgentId = \"agent_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewGitOpsApplications(ctx, \"example\", \u0026platform.GitOpsApplicationsArgs{\n\t\t\tApplications: platform.GitOpsApplicationsApplicationArray{\n\t\t\t\t\u0026platform.GitOpsApplicationsApplicationArgs{\n\t\t\t\t\tMetadatas: platform.GitOpsApplicationsApplicationMetadataArray{\n\t\t\t\t\t\t\u0026platform.GitOpsApplicationsApplicationMetadataArgs{\n\t\t\t\t\t\t\tAnnotations: pulumi.StringMap{},\n\t\t\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"harness.io/serviceRef\": pulumi.String(\"service_id\"),\n\t\t\t\t\t\t\t\t\"harness.io/envRef\":     pulumi.String(\"env_id\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tName: pulumi.String(\"appname123\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tSpecs: platform.GitOpsApplicationsApplicationSpecArray{\n\t\t\t\t\t\t\u0026platform.GitOpsApplicationsApplicationSpecArgs{\n\t\t\t\t\t\t\tSyncPolicies: platform.GitOpsApplicationsApplicationSpecSyncPolicyArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitOpsApplicationsApplicationSpecSyncPolicyArgs{\n\t\t\t\t\t\t\t\t\tSyncOptions: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"PrunePropagationPolicy=undefined\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"CreateNamespace=false\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"Validate=false\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"skipSchemaValidations=false\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"autoCreateNamespace=false\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"pruneLast=false\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"applyOutofSyncOnly=false\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"Replace=false\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"retry=false\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tSources: platform.GitOpsApplicationsApplicationSpecSourceArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitOpsApplicationsApplicationSpecSourceArgs{\n\t\t\t\t\t\t\t\t\tTargetRevision: pulumi.String(\"master\"),\n\t\t\t\t\t\t\t\t\tRepoUrl:        pulumi.String(\"https://github.com/willycoll/argocd-example-apps.git\"),\n\t\t\t\t\t\t\t\t\tPath:           pulumi.String(\"helm-guestbook\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDestinations: platform.GitOpsApplicationsApplicationSpecDestinationArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitOpsApplicationsApplicationSpecDestinationArgs{\n\t\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"namespace-123\"),\n\t\t\t\t\t\t\t\t\tServer:    pulumi.String(\"https://1.3.4.5\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tAccountId:  pulumi.String(\"account_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tClusterId:  pulumi.String(\"cluster_id\"),\n\t\t\tRepoId:     pulumi.String(\"repo_id\"),\n\t\t\tAgentId:    pulumi.String(\"agent_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.GitOpsApplications;\nimport com.pulumi.harness.platform.GitOpsApplicationsArgs;\nimport com.pulumi.harness.platform.inputs.GitOpsApplicationsApplicationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new GitOpsApplications(\"example\", GitOpsApplicationsArgs.builder()\n            .applications(GitOpsApplicationsApplicationArgs.builder()\n                .metadatas(GitOpsApplicationsApplicationMetadataArgs.builder()\n                    .annotations(Map.ofEntries(\n                    ))\n                    .labels(Map.ofEntries(\n                        Map.entry(\"harness.io/serviceRef\", \"service_id\"),\n                        Map.entry(\"harness.io/envRef\", \"env_id\")\n                    ))\n                    .name(\"appname123\")\n                    .build())\n                .specs(GitOpsApplicationsApplicationSpecArgs.builder()\n                    .syncPolicies(GitOpsApplicationsApplicationSpecSyncPolicyArgs.builder()\n                        .syncOptions(                        \n                            \"PrunePropagationPolicy=undefined\",\n                            \"CreateNamespace=false\",\n                            \"Validate=false\",\n                            \"skipSchemaValidations=false\",\n                            \"autoCreateNamespace=false\",\n                            \"pruneLast=false\",\n                            \"applyOutofSyncOnly=false\",\n                            \"Replace=false\",\n                            \"retry=false\")\n                        .build())\n                    .sources(GitOpsApplicationsApplicationSpecSourceArgs.builder()\n                        .targetRevision(\"master\")\n                        .repoUrl(\"https://github.com/willycoll/argocd-example-apps.git\")\n                        .path(\"helm-guestbook\")\n                        .build())\n                    .destinations(GitOpsApplicationsApplicationSpecDestinationArgs.builder()\n                        .namespace(\"namespace-123\")\n                        .server(\"https://1.3.4.5\")\n                        .build())\n                    .build())\n                .build())\n            .projectId(\"project_id\")\n            .orgId(\"org_id\")\n            .accountId(\"account_id\")\n            .identifier(\"identifier\")\n            .clusterId(\"cluster_id\")\n            .repoId(\"repo_id\")\n            .agentId(\"agent_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:GitOpsApplications\n    properties:\n      applications:\n        - metadatas:\n            - annotations: {}\n              labels:\n                harness.io/serviceRef: service_id\n                harness.io/envRef: env_id\n              name: appname123\n          specs:\n            - syncPolicies:\n                - syncOptions:\n                    - PrunePropagationPolicy=undefined\n                    - CreateNamespace=false\n                    - Validate=false\n                    - skipSchemaValidations=false\n                    - autoCreateNamespace=false\n                    - pruneLast=false\n                    - applyOutofSyncOnly=false\n                    - Replace=false\n                    - retry=false\n              sources:\n                - targetRevision: master\n                  repoUrl: https://github.com/willycoll/argocd-example-apps.git\n                  path: helm-guestbook\n              destinations:\n                - namespace: namespace-123\n                  server: https://1.3.4.5\n      projectId: project_id\n      orgId: org_id\n      accountId: account_id\n      identifier: identifier\n      clusterId: cluster_id\n      repoId: repo_id\n      agentId: agent_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport a Project level Gitops Application\n\n```sh\n$ pulumi import harness:platform/gitOpsApplications:GitOpsApplications example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e/\u003capp_name\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps application.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps application.\n"},"applications":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplication:GitOpsApplicationsApplication"},"description":"Definition of the GitOps application resource.\n"},"clusterId":{"type":"string","description":"Cluster identifier of the GitOps application.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps application.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"kind":{"type":"string","description":"Kind of the GitOps application.\n"},"name":{"type":"string","description":"Name of the GitOps application.\n"},"optionsRemoveExistingFinalizers":{"type":"boolean","description":"Options to remove existing finalizers to delete the GitOps application.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps application.\n"},"project":{"type":"string","description":"The ArgoCD project name corresponding to this GitOps application. An empty string means that the GitOps application belongs to the default project created by Harness.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps application.\n"},"repoId":{"type":"string","description":"Repository identifier of the GitOps application. When using skipRepoValidation, this field is not required.\n"},"repoIds":{"type":"array","items":{"type":"string"},"description":"List of repository identifiers of the GitOps for Multi-Source application. Not required if skipRepoValidation is set to true.\n"},"requestCascade":{"type":"boolean","description":"Request cascade to delete the GitOps application.\n"},"requestPropagationPolicy":{"type":"string","description":"Request propagation policy to delete the GitOps application.\n"},"skipRepoValidation":{"type":"boolean","description":"Indicates if the GitOps application should skip validate repository definition exists.\n"},"upsert":{"type":"boolean","description":"Indicates if the GitOps application should be updated if existing and inserted if not.\n"},"validate":{"type":"boolean","description":"Indicates if the GitOps application yaml has to be validated.\n"}},"required":["accountId","agentId","applications","clusterId","name","orgId","project","projectId"],"inputProperties":{"accountId":{"type":"string","description":"Account identifier of the GitOps application.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps application.\n"},"applications":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplication:GitOpsApplicationsApplication"},"description":"Definition of the GitOps application resource.\n"},"clusterId":{"type":"string","description":"Cluster identifier of the GitOps application.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps application.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"kind":{"type":"string","description":"Kind of the GitOps application.\n"},"name":{"type":"string","description":"Name of the GitOps application.\n"},"optionsRemoveExistingFinalizers":{"type":"boolean","description":"Options to remove existing finalizers to delete the GitOps application.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps application.\n"},"project":{"type":"string","description":"The ArgoCD project name corresponding to this GitOps application. An empty string means that the GitOps application belongs to the default project created by Harness.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps application.\n"},"repoId":{"type":"string","description":"Repository identifier of the GitOps application. When using skipRepoValidation, this field is not required.\n"},"repoIds":{"type":"array","items":{"type":"string"},"description":"List of repository identifiers of the GitOps for Multi-Source application. Not required if skipRepoValidation is set to true.\n"},"requestCascade":{"type":"boolean","description":"Request cascade to delete the GitOps application.\n"},"requestPropagationPolicy":{"type":"string","description":"Request propagation policy to delete the GitOps application.\n"},"skipRepoValidation":{"type":"boolean","description":"Indicates if the GitOps application should skip validate repository definition exists.\n"},"upsert":{"type":"boolean","description":"Indicates if the GitOps application should be updated if existing and inserted if not.\n"},"validate":{"type":"boolean","description":"Indicates if the GitOps application yaml has to be validated.\n"}},"requiredInputs":["agentId","applications","clusterId","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering GitOpsApplications resources.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps application.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps application.\n"},"applications":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsApplicationsApplication:GitOpsApplicationsApplication"},"description":"Definition of the GitOps application resource.\n"},"clusterId":{"type":"string","description":"Cluster identifier of the GitOps application.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps application.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"kind":{"type":"string","description":"Kind of the GitOps application.\n"},"name":{"type":"string","description":"Name of the GitOps application.\n"},"optionsRemoveExistingFinalizers":{"type":"boolean","description":"Options to remove existing finalizers to delete the GitOps application.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps application.\n"},"project":{"type":"string","description":"The ArgoCD project name corresponding to this GitOps application. An empty string means that the GitOps application belongs to the default project created by Harness.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps application.\n"},"repoId":{"type":"string","description":"Repository identifier of the GitOps application. When using skipRepoValidation, this field is not required.\n"},"repoIds":{"type":"array","items":{"type":"string"},"description":"List of repository identifiers of the GitOps for Multi-Source application. Not required if skipRepoValidation is set to true.\n"},"requestCascade":{"type":"boolean","description":"Request cascade to delete the GitOps application.\n"},"requestPropagationPolicy":{"type":"string","description":"Request propagation policy to delete the GitOps application.\n"},"skipRepoValidation":{"type":"boolean","description":"Indicates if the GitOps application should skip validate repository definition exists.\n"},"upsert":{"type":"boolean","description":"Indicates if the GitOps application should be updated if existing and inserted if not.\n"},"validate":{"type":"boolean","description":"Indicates if the GitOps application yaml has to be validated.\n"}},"type":"object"}},"harness:platform/gitOpsCluster:GitOpsCluster":{"description":"Resource for managing a Harness Gitops Cluster.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport an Account level Gitops Cluster\n\n```sh\n$ pulumi import harness:platform/gitOpsCluster:GitOpsCluster example \u003cagent_id\u003e/\u003ccluster_id\u003e\n```\n\nImport an Org level Gitops Cluster\n\n```sh\n$ pulumi import harness:platform/gitOpsCluster:GitOpsCluster example \u003corganization_id\u003e/\u003cagent_id\u003e/\u003ccluster_id\u003e\n```\n\nImport a Project level Gitops Cluster\n\n```sh\n$ pulumi import harness:platform/gitOpsCluster:GitOpsCluster example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e/\u003ccluster_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps cluster.","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps cluster. (include scope prefix)"},"forceDelete":{"type":"boolean","description":"Indicates if the cluster should be deleted forcefully, regardless of existing applications using that cluster."},"forceUpdate":{"type":"boolean","description":"Indicates if the cluster should be updated forcefully, regardless of existing applications using that cluster."},"identifier":{"type":"string","description":"Identifier of the GitOps cluster."},"orgId":{"type":"string","description":"Organization identifier of the cluster."},"projectId":{"type":"string","description":"Project identifier of the GitOps cluster."},"requests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequest:GitOpsClusterRequest"},"description":"Cluster create or update request."}},"required":["accountId","agentId","identifier"],"inputProperties":{"accountId":{"type":"string","description":"Account identifier of the GitOps cluster.","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps cluster. (include scope prefix)","willReplaceOnChanges":true},"forceDelete":{"type":"boolean","description":"Indicates if the cluster should be deleted forcefully, regardless of existing applications using that cluster."},"forceUpdate":{"type":"boolean","description":"Indicates if the cluster should be updated forcefully, regardless of existing applications using that cluster."},"identifier":{"type":"string","description":"Identifier of the GitOps cluster.","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Organization identifier of the cluster.","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the GitOps cluster.","willReplaceOnChanges":true},"requests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequest:GitOpsClusterRequest"},"description":"Cluster create or update request."}},"requiredInputs":["agentId","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering GitOpsCluster resources.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps cluster.","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps cluster. (include scope prefix)","willReplaceOnChanges":true},"forceDelete":{"type":"boolean","description":"Indicates if the cluster should be deleted forcefully, regardless of existing applications using that cluster."},"forceUpdate":{"type":"boolean","description":"Indicates if the cluster should be updated forcefully, regardless of existing applications using that cluster."},"identifier":{"type":"string","description":"Identifier of the GitOps cluster.","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Organization identifier of the cluster.","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the GitOps cluster.","willReplaceOnChanges":true},"requests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsClusterRequest:GitOpsClusterRequest"},"description":"Cluster create or update request."}},"type":"object"}},"harness:platform/gitOpsGnupg:GitOpsGnupg":{"description":"Resource for managing Harness GitOps GPG public key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.GitOpsGnupg(\"example\", {\n    accountId: \"account_id\",\n    agentId: \"agent_id\",\n    requests: [{\n        upsert: true,\n        publickeys: [{\n            keyData: \"-----BEGIN PGP PUBLIC KEY BLOCK-----XXXXXX-----END PGP PUBLIC KEY BLOCK-----\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.GitOpsGnupg(\"example\",\n    account_id=\"account_id\",\n    agent_id=\"agent_id\",\n    requests=[{\n        \"upsert\": True,\n        \"publickeys\": [{\n            \"key_data\": \"-----BEGIN PGP PUBLIC KEY BLOCK-----XXXXXX-----END PGP PUBLIC KEY BLOCK-----\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.GitOpsGnupg(\"example\", new()\n    {\n        AccountId = \"account_id\",\n        AgentId = \"agent_id\",\n        Requests = new[]\n        {\n            new Harness.Platform.Inputs.GitOpsGnupgRequestArgs\n            {\n                Upsert = true,\n                Publickeys = new[]\n                {\n                    new Harness.Platform.Inputs.GitOpsGnupgRequestPublickeyArgs\n                    {\n                        KeyData = \"-----BEGIN PGP PUBLIC KEY BLOCK-----XXXXXX-----END PGP PUBLIC KEY BLOCK-----\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewGitOpsGnupg(ctx, \"example\", \u0026platform.GitOpsGnupgArgs{\n\t\t\tAccountId: pulumi.String(\"account_id\"),\n\t\t\tAgentId:   pulumi.String(\"agent_id\"),\n\t\t\tRequests: platform.GitOpsGnupgRequestArray{\n\t\t\t\t\u0026platform.GitOpsGnupgRequestArgs{\n\t\t\t\t\tUpsert: pulumi.Bool(true),\n\t\t\t\t\tPublickeys: platform.GitOpsGnupgRequestPublickeyArray{\n\t\t\t\t\t\t\u0026platform.GitOpsGnupgRequestPublickeyArgs{\n\t\t\t\t\t\t\tKeyData: pulumi.String(\"-----BEGIN PGP PUBLIC KEY BLOCK-----XXXXXX-----END PGP PUBLIC KEY BLOCK-----\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.GitOpsGnupg;\nimport com.pulumi.harness.platform.GitOpsGnupgArgs;\nimport com.pulumi.harness.platform.inputs.GitOpsGnupgRequestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new GitOpsGnupg(\"example\", GitOpsGnupgArgs.builder()\n            .accountId(\"account_id\")\n            .agentId(\"agent_id\")\n            .requests(GitOpsGnupgRequestArgs.builder()\n                .upsert(true)\n                .publickeys(GitOpsGnupgRequestPublickeyArgs.builder()\n                    .keyData(\"-----BEGIN PGP PUBLIC KEY BLOCK-----XXXXXX-----END PGP PUBLIC KEY BLOCK-----\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:GitOpsGnupg\n    properties:\n      accountId: account_id\n      agentId: agent_id\n      requests:\n        - upsert: true\n          publickeys:\n            - keyData: '-----BEGIN PGP PUBLIC KEY BLOCK-----XXXXXX-----END PGP PUBLIC KEY BLOCK-----'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport an Account level Gitops GnuPG Key\n\n```sh\n$ pulumi import harness:platform/gitOpsGnupg:GitOpsGnupg example \u003cagent_id\u003e/\u003ckey_id\u003e\n```\n\nImport an Org level Gitops GnuPG Key\n\n```sh\n$ pulumi import harness:platform/gitOpsGnupg:GitOpsGnupg example \u003corganization_id\u003e/\u003cagent_id\u003e/\u003ckey_id\u003e\n```\n\nImport a Project level Gitops GnuPG Key\n\n```sh\n$ pulumi import harness:platform/gitOpsGnupg:GitOpsGnupg example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e/\u003ckey_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the GnuPG Key.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier for the GnuPG Key.\n"},"identifier":{"type":"string","description":"Identifier for the GnuPG Key.\n"},"orgId":{"type":"string","description":"Organization Identifier for the GnuPG Key.\n"},"projectId":{"type":"string","description":"Project Identifier for the GnuPG Key.\n"},"requests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsGnupgRequest:GitOpsGnupgRequest"},"description":"GnuPGPublicKey is a representation of a GnuPG public key\n"}},"required":["accountId","agentId","identifier","requests"],"inputProperties":{"accountId":{"type":"string","description":"Account Identifier for the GnuPG Key.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier for the GnuPG Key.\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Organization Identifier for the GnuPG Key.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier for the GnuPG Key.\n","willReplaceOnChanges":true},"requests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsGnupgRequest:GitOpsGnupgRequest"},"description":"GnuPGPublicKey is a representation of a GnuPG public key\n"}},"requiredInputs":["agentId","requests"],"stateInputs":{"description":"Input properties used for looking up and filtering GitOpsGnupg resources.\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the GnuPG Key.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier for the GnuPG Key.\n","willReplaceOnChanges":true},"identifier":{"type":"string","description":"Identifier for the GnuPG Key.\n"},"orgId":{"type":"string","description":"Organization Identifier for the GnuPG Key.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier for the GnuPG Key.\n","willReplaceOnChanges":true},"requests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsGnupgRequest:GitOpsGnupgRequest"},"description":"GnuPGPublicKey is a representation of a GnuPG public key\n"}},"type":"object"}},"harness:platform/gitOpsRepoCert:GitOpsRepoCert":{"description":"Resource for managing a Harness Gitops Repository Certificate. You can only create 1 instance per agent which has all the certificates of this resource.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.GitOpsRepoCert(\"example\", {\n    requests: [{\n        certificates: [{\n            metadatas: [{}],\n            items: [{\n                serverName: \"github.com\",\n                certType: \"ssh\",\n                certSubType: \"ecdsa-sha2-nistp256\",\n                certData: \"QUFBQUUyVmpaSE5oTFhOb1lUSXRibWx6ZEhBeU5UWUFBQUFJYm1semRIQXlOVFlBQUFCQkJFbUtTRU5qUUVlek9teGtaTXk3b3BLZ3dGQjlua3Q1WVJyWU1qTnVHNU44N3VSZ2c2Q0xyYm81d0FkVC95NnYwbUtWMFUydzBXWjJZQi8rK1Rwb2NrZz0=\",\n            }],\n        }],\n        upsert: true,\n    }],\n    accountId: \"account_id\",\n    agentId: \"agent_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.GitOpsRepoCert(\"example\",\n    requests=[{\n        \"certificates\": [{\n            \"metadatas\": [{}],\n            \"items\": [{\n                \"server_name\": \"github.com\",\n                \"cert_type\": \"ssh\",\n                \"cert_sub_type\": \"ecdsa-sha2-nistp256\",\n                \"cert_data\": \"QUFBQUUyVmpaSE5oTFhOb1lUSXRibWx6ZEhBeU5UWUFBQUFJYm1semRIQXlOVFlBQUFCQkJFbUtTRU5qUUVlek9teGtaTXk3b3BLZ3dGQjlua3Q1WVJyWU1qTnVHNU44N3VSZ2c2Q0xyYm81d0FkVC95NnYwbUtWMFUydzBXWjJZQi8rK1Rwb2NrZz0=\",\n            }],\n        }],\n        \"upsert\": True,\n    }],\n    account_id=\"account_id\",\n    agent_id=\"agent_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.GitOpsRepoCert(\"example\", new()\n    {\n        Requests = new[]\n        {\n            new Harness.Platform.Inputs.GitOpsRepoCertRequestArgs\n            {\n                Certificates = new[]\n                {\n                    new Harness.Platform.Inputs.GitOpsRepoCertRequestCertificateArgs\n                    {\n                        Metadatas = new[]\n                        {\n                            null,\n                        },\n                        Items = new[]\n                        {\n                            new Harness.Platform.Inputs.GitOpsRepoCertRequestCertificateItemArgs\n                            {\n                                ServerName = \"github.com\",\n                                CertType = \"ssh\",\n                                CertSubType = \"ecdsa-sha2-nistp256\",\n                                CertData = \"QUFBQUUyVmpaSE5oTFhOb1lUSXRibWx6ZEhBeU5UWUFBQUFJYm1semRIQXlOVFlBQUFCQkJFbUtTRU5qUUVlek9teGtaTXk3b3BLZ3dGQjlua3Q1WVJyWU1qTnVHNU44N3VSZ2c2Q0xyYm81d0FkVC95NnYwbUtWMFUydzBXWjJZQi8rK1Rwb2NrZz0=\",\n                            },\n                        },\n                    },\n                },\n                Upsert = true,\n            },\n        },\n        AccountId = \"account_id\",\n        AgentId = \"agent_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewGitOpsRepoCert(ctx, \"example\", \u0026platform.GitOpsRepoCertArgs{\n\t\t\tRequests: platform.GitOpsRepoCertRequestArray{\n\t\t\t\t\u0026platform.GitOpsRepoCertRequestArgs{\n\t\t\t\t\tCertificates: platform.GitOpsRepoCertRequestCertificateArray{\n\t\t\t\t\t\t\u0026platform.GitOpsRepoCertRequestCertificateArgs{\n\t\t\t\t\t\t\tMetadatas: platform.GitOpsRepoCertRequestCertificateMetadataArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitOpsRepoCertRequestCertificateMetadataArgs{},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tItems: platform.GitOpsRepoCertRequestCertificateItemArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitOpsRepoCertRequestCertificateItemArgs{\n\t\t\t\t\t\t\t\t\tServerName:  pulumi.String(\"github.com\"),\n\t\t\t\t\t\t\t\t\tCertType:    pulumi.String(\"ssh\"),\n\t\t\t\t\t\t\t\t\tCertSubType: pulumi.String(\"ecdsa-sha2-nistp256\"),\n\t\t\t\t\t\t\t\t\tCertData:    pulumi.String(\"QUFBQUUyVmpaSE5oTFhOb1lUSXRibWx6ZEhBeU5UWUFBQUFJYm1semRIQXlOVFlBQUFCQkJFbUtTRU5qUUVlek9teGtaTXk3b3BLZ3dGQjlua3Q1WVJyWU1qTnVHNU44N3VSZ2c2Q0xyYm81d0FkVC95NnYwbUtWMFUydzBXWjJZQi8rK1Rwb2NrZz0=\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tUpsert: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t},\n\t\t\tAccountId: pulumi.String(\"account_id\"),\n\t\t\tAgentId:   pulumi.String(\"agent_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.GitOpsRepoCert;\nimport com.pulumi.harness.platform.GitOpsRepoCertArgs;\nimport com.pulumi.harness.platform.inputs.GitOpsRepoCertRequestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new GitOpsRepoCert(\"example\", GitOpsRepoCertArgs.builder()\n            .requests(GitOpsRepoCertRequestArgs.builder()\n                .certificates(GitOpsRepoCertRequestCertificateArgs.builder()\n                    .metadatas(GitOpsRepoCertRequestCertificateMetadataArgs.builder()\n                        .build())\n                    .items(GitOpsRepoCertRequestCertificateItemArgs.builder()\n                        .serverName(\"github.com\")\n                        .certType(\"ssh\")\n                        .certSubType(\"ecdsa-sha2-nistp256\")\n                        .certData(\"QUFBQUUyVmpaSE5oTFhOb1lUSXRibWx6ZEhBeU5UWUFBQUFJYm1semRIQXlOVFlBQUFCQkJFbUtTRU5qUUVlek9teGtaTXk3b3BLZ3dGQjlua3Q1WVJyWU1qTnVHNU44N3VSZ2c2Q0xyYm81d0FkVC95NnYwbUtWMFUydzBXWjJZQi8rK1Rwb2NrZz0=\")\n                        .build())\n                    .build())\n                .upsert(true)\n                .build())\n            .accountId(\"account_id\")\n            .agentId(\"agent_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:GitOpsRepoCert\n    properties:\n      requests:\n        - certificates:\n            - metadatas:\n                - {}\n              items:\n                - serverName: github.com\n                  certType: ssh\n                  certSubType: ecdsa-sha2-nistp256\n                  certData: QUFBQUUyVmpaSE5oTFhOb1lUSXRibWx6ZEhBeU5UWUFBQUFJYm1semRIQXlOVFlBQUFCQkJFbUtTRU5qUUVlek9teGtaTXk3b3BLZ3dGQjlua3Q1WVJyWU1qTnVHNU44N3VSZ2c2Q0xyYm81d0FkVC95NnYwbUtWMFUydzBXWjJZQi8rK1Rwb2NrZz0=\n          upsert: true\n      accountId: account_id\n      agentId: agent_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport an Account level Gitops Repository Certificate\n\n```sh\n$ pulumi import harness:platform/gitOpsRepoCert:GitOpsRepoCert example \u003crepocert_id\u003e\n```\n\nImport an Org level Gitops Repository Certificate\n\n```sh\n$ pulumi import harness:platform/gitOpsRepoCert:GitOpsRepoCert example \u003corganization_id\u003e/\u003crepocert_id\u003e\n```\n\nImport a Project level Gitops Repository Certificate\n\n```sh\n$ pulumi import harness:platform/gitOpsRepoCert:GitOpsRepoCert example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003crepocert_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps repository certificate.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps repository certificate.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps repository certificate.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps repository certificate.\n"},"requests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepoCertRequest:GitOpsRepoCertRequest"},"description":"Repository Certificate create/update request.\n"}},"required":["accountId","agentId","requests"],"inputProperties":{"accountId":{"type":"string","description":"Account identifier of the GitOps repository certificate.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps repository certificate.\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Organization identifier of the GitOps repository certificate.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the GitOps repository certificate.\n","willReplaceOnChanges":true},"requests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepoCertRequest:GitOpsRepoCertRequest"},"description":"Repository Certificate create/update request.\n"}},"requiredInputs":["agentId","requests"],"stateInputs":{"description":"Input properties used for looking up and filtering GitOpsRepoCert resources.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps repository certificate.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps repository certificate.\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Organization identifier of the GitOps repository certificate.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the GitOps repository certificate.\n","willReplaceOnChanges":true},"requests":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepoCertRequest:GitOpsRepoCertRequest"},"description":"Repository Certificate create/update request.\n"}},"type":"object"}},"harness:platform/gitOpsRepoCred:GitOpsRepoCred":{"description":"Resource for managing a Harness Gitops Repository Credentials.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.GitOpsRepoCred(\"test\", {\n    identifier: \"identifier\",\n    accountId: \"account_id\",\n    agentId: \"agent_id\",\n    projectId: \"project_id\",\n    orgId: \"org_id\",\n    creds: [{\n        type: \"git\",\n        url: \"git@github.com:yourorg\",\n        sshPrivateKey: `----- BEGIN OPENSSH PRIVATE KEY-----\nXXXXX\nXXXXX\nXXXXX\n-----END OPENSSH PRIVATE KEY -----\n`,\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.GitOpsRepoCred(\"test\",\n    identifier=\"identifier\",\n    account_id=\"account_id\",\n    agent_id=\"agent_id\",\n    project_id=\"project_id\",\n    org_id=\"org_id\",\n    creds=[{\n        \"type\": \"git\",\n        \"url\": \"git@github.com:yourorg\",\n        \"ssh_private_key\": \"\"\"----- BEGIN OPENSSH PRIVATE KEY-----\nXXXXX\nXXXXX\nXXXXX\n-----END OPENSSH PRIVATE KEY -----\n\"\"\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.GitOpsRepoCred(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        AccountId = \"account_id\",\n        AgentId = \"agent_id\",\n        ProjectId = \"project_id\",\n        OrgId = \"org_id\",\n        Creds = new[]\n        {\n            new Harness.Platform.Inputs.GitOpsRepoCredCredArgs\n            {\n                Type = \"git\",\n                Url = \"git@github.com:yourorg\",\n                SshPrivateKey = @\"----- BEGIN OPENSSH PRIVATE KEY-----\nXXXXX\nXXXXX\nXXXXX\n-----END OPENSSH PRIVATE KEY -----\n\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewGitOpsRepoCred(ctx, \"test\", \u0026platform.GitOpsRepoCredArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tAccountId:  pulumi.String(\"account_id\"),\n\t\t\tAgentId:    pulumi.String(\"agent_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tCreds: platform.GitOpsRepoCredCredArray{\n\t\t\t\t\u0026platform.GitOpsRepoCredCredArgs{\n\t\t\t\t\tType: pulumi.String(\"git\"),\n\t\t\t\t\tUrl:  pulumi.String(\"git@github.com:yourorg\"),\n\t\t\t\t\tSshPrivateKey: pulumi.String(`----- BEGIN OPENSSH PRIVATE KEY-----\nXXXXX\nXXXXX\nXXXXX\n-----END OPENSSH PRIVATE KEY -----\n`),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.GitOpsRepoCred;\nimport com.pulumi.harness.platform.GitOpsRepoCredArgs;\nimport com.pulumi.harness.platform.inputs.GitOpsRepoCredCredArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new GitOpsRepoCred(\"test\", GitOpsRepoCredArgs.builder()\n            .identifier(\"identifier\")\n            .accountId(\"account_id\")\n            .agentId(\"agent_id\")\n            .projectId(\"project_id\")\n            .orgId(\"org_id\")\n            .creds(GitOpsRepoCredCredArgs.builder()\n                .type(\"git\")\n                .url(\"git@github.com:yourorg\")\n                .sshPrivateKey(\"\"\"\n----- BEGIN OPENSSH PRIVATE KEY-----\nXXXXX\nXXXXX\nXXXXX\n-----END OPENSSH PRIVATE KEY -----\n                \"\"\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:GitOpsRepoCred\n    properties:\n      identifier: identifier\n      accountId: account_id\n      agentId: agent_id\n      projectId: project_id\n      orgId: org_id\n      creds:\n        - type: git\n          url: git@github.com:yourorg\n          sshPrivateKey: |\n            ----- BEGIN OPENSSH PRIVATE KEY-----\n            XXXXX\n            XXXXX\n            XXXXX\n            -----END OPENSSH PRIVATE KEY -----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport an Account level Gitops Repository Credentials\n\n```sh\n$ pulumi import harness:platform/gitOpsRepoCred:GitOpsRepoCred example \u003cagent_id\u003e/\u003crepocred_id\u003e\n```\n\nImport an Org level Gitops Repository Credentials\n\n```sh\n$ pulumi import harness:platform/gitOpsRepoCred:GitOpsRepoCred example \u003corganization_id\u003e/\u003cagent_id\u003e/\u003crepocred_id\u003e\n```\n\nImport a Project level Gitops Repository Credentials\n\n```sh\n$ pulumi import harness:platform/gitOpsRepoCred:GitOpsRepoCred example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e/\u003crepocred_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account identifier of the Repository Credentials.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the Repository Credentials.\n"},"creds":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepoCredCred:GitOpsRepoCredCred"},"description":"credential details.\n"},"identifier":{"type":"string","description":"Identifier of the Repository Credentials.\n"},"orgId":{"type":"string","description":"Organization identifier of the Repository Credentials.\n"},"projectId":{"type":"string","description":"Project identifier of the Repository Credentials.\n"},"upsert":{"type":"boolean","description":"Indicates if the GitOps repository credential should be updated if existing and inserted if not.\n"}},"required":["accountId","agentId","creds","identifier"],"inputProperties":{"accountId":{"type":"string","description":"Account identifier of the Repository Credentials.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the Repository Credentials.\n","willReplaceOnChanges":true},"creds":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepoCredCred:GitOpsRepoCredCred"},"description":"credential details.\n"},"identifier":{"type":"string","description":"Identifier of the Repository Credentials.\n"},"orgId":{"type":"string","description":"Organization identifier of the Repository Credentials.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the Repository Credentials.\n","willReplaceOnChanges":true},"upsert":{"type":"boolean","description":"Indicates if the GitOps repository credential should be updated if existing and inserted if not.\n"}},"requiredInputs":["agentId","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering GitOpsRepoCred resources.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the Repository Credentials.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the Repository Credentials.\n","willReplaceOnChanges":true},"creds":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepoCredCred:GitOpsRepoCredCred"},"description":"credential details.\n"},"identifier":{"type":"string","description":"Identifier of the Repository Credentials.\n"},"orgId":{"type":"string","description":"Organization identifier of the Repository Credentials.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the Repository Credentials.\n","willReplaceOnChanges":true},"upsert":{"type":"boolean","description":"Indicates if the GitOps repository credential should be updated if existing and inserted if not.\n"}},"type":"object"}},"harness:platform/gitOpsRepository:GitOpsRepository":{"description":"Resource for managing Harness Gitops Repository.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport an Account level Gitops Repository\n\n```sh\n$ pulumi import harness:platform/gitOpsRepository:GitOpsRepository example \u003cagent_id\u003e/\u003crespository_id\u003e\n```\n\nImport an Org level Gitops Repository\n\n```sh\n$ pulumi import harness:platform/gitOpsRepository:GitOpsRepository example \u003corganization_id\u003e/\u003cagent_id\u003e/\u003crespository_id\u003e\n```\n\nImport a Project level Gitops Repository\n\n```sh\n$ pulumi import harness:platform/gitOpsRepository:GitOpsRepository example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e/\u003crespository_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps repository.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps repository.\n"},"credsOnly":{"type":"boolean","description":"Indicates if to operate on credential set instead of repository.\n"},"ecrGen":{"$ref":"#/types/harness:platform/GitOpsRepositoryEcrGen:GitOpsRepositoryEcrGen","description":"ECR access token generator specific configuration.\n"},"forceDelete":{"type":"boolean","description":"Indicates if the repository should be deleted forcefully, regardless of existing applications using that repo.\n"},"gcrGen":{"$ref":"#/types/harness:platform/GitOpsRepositoryGcrGen:GitOpsRepositoryGcrGen","description":"GCR access token generator specific configuration.\n"},"genType":{"type":"string","description":"Default: \"UNSET\"\nEnum: \"UNSET\" \"AWS*ECR\" \"GOOGLE*GCR\"\n"},"identifier":{"type":"string","description":"Identifier of the GitOps repository.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps repository.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps repository.\n"},"refreshInterval":{"type":"string","description":"For OCI repos, this is the interval to refresh the token to access the registry.\n"},"repos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepositoryRepo:GitOpsRepositoryRepo"},"description":"Repo details holding application configurations.\n"},"updateMasks":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepositoryUpdateMask:GitOpsRepositoryUpdateMask"},"description":"Update mask of the repository.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"upsert":{"type":"boolean","description":"Indicates if the GitOps repository should be updated if existing and inserted if not.\n"}},"required":["accountId","agentId","identifier","repos"],"inputProperties":{"accountId":{"type":"string","description":"Account identifier of the GitOps repository.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps repository.\n","willReplaceOnChanges":true},"credsOnly":{"type":"boolean","description":"Indicates if to operate on credential set instead of repository.\n"},"ecrGen":{"$ref":"#/types/harness:platform/GitOpsRepositoryEcrGen:GitOpsRepositoryEcrGen","description":"ECR access token generator specific configuration.\n"},"forceDelete":{"type":"boolean","description":"Indicates if the repository should be deleted forcefully, regardless of existing applications using that repo.\n"},"gcrGen":{"$ref":"#/types/harness:platform/GitOpsRepositoryGcrGen:GitOpsRepositoryGcrGen","description":"GCR access token generator specific configuration.\n"},"genType":{"type":"string","description":"Default: \"UNSET\"\nEnum: \"UNSET\" \"AWS*ECR\" \"GOOGLE*GCR\"\n"},"identifier":{"type":"string","description":"Identifier of the GitOps repository.\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Organization identifier of the GitOps repository.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the GitOps repository.\n","willReplaceOnChanges":true},"refreshInterval":{"type":"string","description":"For OCI repos, this is the interval to refresh the token to access the registry.\n"},"repos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepositoryRepo:GitOpsRepositoryRepo"},"description":"Repo details holding application configurations.\n"},"updateMasks":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepositoryUpdateMask:GitOpsRepositoryUpdateMask"},"description":"Update mask of the repository.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"upsert":{"type":"boolean","description":"Indicates if the GitOps repository should be updated if existing and inserted if not.\n"}},"requiredInputs":["agentId","identifier","repos"],"stateInputs":{"description":"Input properties used for looking up and filtering GitOpsRepository resources.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps repository.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps repository.\n","willReplaceOnChanges":true},"credsOnly":{"type":"boolean","description":"Indicates if to operate on credential set instead of repository.\n"},"ecrGen":{"$ref":"#/types/harness:platform/GitOpsRepositoryEcrGen:GitOpsRepositoryEcrGen","description":"ECR access token generator specific configuration.\n"},"forceDelete":{"type":"boolean","description":"Indicates if the repository should be deleted forcefully, regardless of existing applications using that repo.\n"},"gcrGen":{"$ref":"#/types/harness:platform/GitOpsRepositoryGcrGen:GitOpsRepositoryGcrGen","description":"GCR access token generator specific configuration.\n"},"genType":{"type":"string","description":"Default: \"UNSET\"\nEnum: \"UNSET\" \"AWS*ECR\" \"GOOGLE*GCR\"\n"},"identifier":{"type":"string","description":"Identifier of the GitOps repository.\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Organization identifier of the GitOps repository.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the GitOps repository.\n","willReplaceOnChanges":true},"refreshInterval":{"type":"string","description":"For OCI repos, this is the interval to refresh the token to access the registry.\n"},"repos":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepositoryRepo:GitOpsRepositoryRepo"},"description":"Repo details holding application configurations.\n"},"updateMasks":{"type":"array","items":{"$ref":"#/types/harness:platform/GitOpsRepositoryUpdateMask:GitOpsRepositoryUpdateMask"},"description":"Update mask of the repository.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"upsert":{"type":"boolean","description":"Indicates if the GitOps repository should be updated if existing and inserted if not.\n"}},"type":"object"}},"harness:platform/githubConnector:GithubConnector":{"description":"Resource for creating a Github connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level github connector\n\n```sh\n$ pulumi import harness:platform/githubConnector:GithubConnector example \u003cconnector_id\u003e\n```\n\nImport org level github connector\n\n```sh\n$ pulumi import harness:platform/githubConnector:GithubConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level github connector\n\n```sh\n$ pulumi import harness:platform/githubConnector:GithubConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"apiAuthentication":{"$ref":"#/types/harness:platform/GithubConnectorApiAuthentication:GithubConnectorApiAuthentication","description":"Configuration for using the github api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a github repository or a github account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/GithubConnectorCredentials:GithubConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of service\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Github repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"required":["connectionType","credentials","forceDelete","identifier","name","url"],"inputProperties":{"apiAuthentication":{"$ref":"#/types/harness:platform/GithubConnectorApiAuthentication:GithubConnectorApiAuthentication","description":"Configuration for using the github api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a github repository or a github account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/GithubConnectorCredentials:GithubConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of service\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Github repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"requiredInputs":["connectionType","credentials","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering GithubConnector resources.\n","properties":{"apiAuthentication":{"$ref":"#/types/harness:platform/GithubConnectorApiAuthentication:GithubConnectorApiAuthentication","description":"Configuration for using the github api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a github repository or a github account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/GithubConnectorCredentials:GithubConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of service\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Github repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"type":"object"}},"harness:platform/gitlabConnector:GitlabConnector":{"description":"Resource for creating a Gitlab connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level gitlab connector\n\n```sh\n$ pulumi import harness:platform/gitlabConnector:GitlabConnector example \u003cconnector_id\u003e\n```\n\nImport org level gitlab connector\n\n```sh\n$ pulumi import harness:platform/gitlabConnector:GitlabConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level gitlab connector\n\n```sh\n$ pulumi import harness:platform/gitlabConnector:GitlabConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"apiAuthentication":{"$ref":"#/types/harness:platform/GitlabConnectorApiAuthentication:GitlabConnectorApiAuthentication","description":"Configuration for using the gitlab api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a gitlab repository or a gitlab account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/GitlabConnectorCredentials:GitlabConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the gitlab repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"required":["connectionType","credentials","identifier","name","url"],"inputProperties":{"apiAuthentication":{"$ref":"#/types/harness:platform/GitlabConnectorApiAuthentication:GitlabConnectorApiAuthentication","description":"Configuration for using the gitlab api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a gitlab repository or a gitlab account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/GitlabConnectorCredentials:GitlabConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the gitlab repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"requiredInputs":["connectionType","credentials","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering GitlabConnector resources.\n","properties":{"apiAuthentication":{"$ref":"#/types/harness:platform/GitlabConnectorApiAuthentication:GitlabConnectorApiAuthentication","description":"Configuration for using the gitlab api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n"},"connectionType":{"type":"string","description":"Whether the connection we're making is to a gitlab repository or a gitlab account. Valid values are Account, Repo.\n"},"credentials":{"$ref":"#/types/harness:platform/GitlabConnectorCredentials:GitlabConnectorCredentials","description":"Credentials to use for the connection.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the gitlab repository or account.\n"},"validationRepo":{"type":"string","description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n"}},"type":"object"}},"harness:platform/gitopsAppProject:GitopsAppProject":{"description":"## Example Usage\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport gitOps project with account level agent\n\n```sh\n$ pulumi import harness:platform/gitopsAppProject:GitopsAppProject example \u003cagent_id\u003e/\u003capp_proj_name\u003e\n```\n\nImport gitOps project with org level agent\n\n```sh\n$ pulumi import harness:platform/gitopsAppProject:GitopsAppProject example \u003corganization_id\u003e/\u003cagent_id\u003e/\u003capp_proj_name\u003e\n```\n\nImport gitOps project with project level agent\n\n```sh\n$ pulumi import harness:platform/gitopsAppProject:GitopsAppProject example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e/\u003capp_proj_name\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps Agent where argo project will exist.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the agent where argo project will exist (include scope prefix)\n"},"orgId":{"type":"string","description":"Org identifier of the GitOps Agent where argo project is to be created.\n"},"projectId":{"type":"string","description":"Project identifier of the Gitops Agent where argo project is to be created.\n"},"projects":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProject:GitopsAppProjectProject"},"description":"GitOps project configuration.\n"},"queryName":{"type":"string","description":"Identifier for the GitOps Argo project.\n"},"upsert":{"type":"boolean","description":"Indicates if the argo project should be updated if existing and inserted if not.\n"}},"required":["accountId","agentId","projects","queryName"],"inputProperties":{"accountId":{"type":"string","description":"Account identifier of the GitOps Agent where argo project will exist.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the agent where argo project will exist (include scope prefix)\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Org identifier of the GitOps Agent where argo project is to be created.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the Gitops Agent where argo project is to be created.\n","willReplaceOnChanges":true},"projects":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProject:GitopsAppProjectProject"},"description":"GitOps project configuration.\n"},"queryName":{"type":"string","description":"Identifier for the GitOps Argo project.\n"},"upsert":{"type":"boolean","description":"Indicates if the argo project should be updated if existing and inserted if not.\n"}},"requiredInputs":["agentId","projects"],"stateInputs":{"description":"Input properties used for looking up and filtering GitopsAppProject resources.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps Agent where argo project will exist.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the agent where argo project will exist (include scope prefix)\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Org identifier of the GitOps Agent where argo project is to be created.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the Gitops Agent where argo project is to be created.\n","willReplaceOnChanges":true},"projects":{"type":"array","items":{"$ref":"#/types/harness:platform/GitopsAppProjectProject:GitopsAppProjectProject"},"description":"GitOps project configuration.\n"},"queryName":{"type":"string","description":"Identifier for the GitOps Argo project.\n"},"upsert":{"type":"boolean","description":"Indicates if the argo project should be updated if existing and inserted if not.\n"}},"type":"object"}},"harness:platform/gitopsAppProjectMapping:GitopsAppProjectMapping":{"description":"Resource for managing Harness GitOps Application Project Mappings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.GitopsAppProjectMapping(\"example\", {\n    accountId: \"account_id\",\n    orgId: \"organization_id\",\n    projectId: \"project_id\",\n    agentId: \"agent_id\",\n    argoProjectName: \"argoProjectName\",\n    autoCreateServiceEnv: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.GitopsAppProjectMapping(\"example\",\n    account_id=\"account_id\",\n    org_id=\"organization_id\",\n    project_id=\"project_id\",\n    agent_id=\"agent_id\",\n    argo_project_name=\"argoProjectName\",\n    auto_create_service_env=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.GitopsAppProjectMapping(\"example\", new()\n    {\n        AccountId = \"account_id\",\n        OrgId = \"organization_id\",\n        ProjectId = \"project_id\",\n        AgentId = \"agent_id\",\n        ArgoProjectName = \"argoProjectName\",\n        AutoCreateServiceEnv = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewGitopsAppProjectMapping(ctx, \"example\", \u0026platform.GitopsAppProjectMappingArgs{\n\t\t\tAccountId:            pulumi.String(\"account_id\"),\n\t\t\tOrgId:                pulumi.String(\"organization_id\"),\n\t\t\tProjectId:            pulumi.String(\"project_id\"),\n\t\t\tAgentId:              pulumi.String(\"agent_id\"),\n\t\t\tArgoProjectName:      pulumi.String(\"argoProjectName\"),\n\t\t\tAutoCreateServiceEnv: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.GitopsAppProjectMapping;\nimport com.pulumi.harness.platform.GitopsAppProjectMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new GitopsAppProjectMapping(\"example\", GitopsAppProjectMappingArgs.builder()\n            .accountId(\"account_id\")\n            .orgId(\"organization_id\")\n            .projectId(\"project_id\")\n            .agentId(\"agent_id\")\n            .argoProjectName(\"argoProjectName\")\n            .autoCreateServiceEnv(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:GitopsAppProjectMapping\n    properties:\n      accountId: account_id\n      orgId: organization_id\n      projectId: project_id\n      agentId: agent_id\n      argoProjectName: argoProjectName\n      autoCreateServiceEnv: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport a GitOps agent app project mapping\n\n```sh\n$ pulumi import harness:platform/gitopsAppProjectMapping:GitopsAppProjectMapping example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e/\u003cappproject_name\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps agent's Application Project.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier for which the ArgoCD and Harness project mapping is to be created.\n"},"argoProjectName":{"type":"string","description":"ArgoCD Project name which is to be mapped to the Harness project.\n"},"autoCreateServiceEnv":{"type":"boolean","description":"Enable automated creation of service, environment and cluster-env link. Defaults to false.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps Application Project.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps agent's Application Project.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps agent's Application Project.\n"}},"required":["accountId","agentId","argoProjectName","identifier","orgId","projectId"],"inputProperties":{"accountId":{"type":"string","description":"Account identifier of the GitOps agent's Application Project.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier for which the ArgoCD and Harness project mapping is to be created.\n","willReplaceOnChanges":true},"argoProjectName":{"type":"string","description":"ArgoCD Project name which is to be mapped to the Harness project.\n","willReplaceOnChanges":true},"autoCreateServiceEnv":{"type":"boolean","description":"Enable automated creation of service, environment and cluster-env link. Defaults to false.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps agent's Application Project.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps agent's Application Project.\n"}},"requiredInputs":["agentId","argoProjectName","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering GitopsAppProjectMapping resources.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps agent's Application Project.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier for which the ArgoCD and Harness project mapping is to be created.\n","willReplaceOnChanges":true},"argoProjectName":{"type":"string","description":"ArgoCD Project name which is to be mapped to the Harness project.\n","willReplaceOnChanges":true},"autoCreateServiceEnv":{"type":"boolean","description":"Enable automated creation of service, environment and cluster-env link. Defaults to false.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps Application Project.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps agent's Application Project.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps agent's Application Project.\n"}},"type":"object"}},"harness:platform/gitopsApplicationset:GitopsApplicationset":{"description":"Resource for managing a Harness Gitops Applicationset. Please note this resource is in an alpha/experimental state and is subject to change.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Example 1: Cluster Generator\nconst clusterGenerator = new harness.platform.GitopsApplicationset(\"cluster_generator\", {\n    orgId: \"default\",\n    projectId: \"projectId\",\n    agentId: \"account.agentuseast1\",\n    upsert: true,\n    applicationset: {\n        metadata: {\n            name: \"cluster-appset\",\n            namespace: \"argocd\",\n        },\n        spec: {\n            goTemplate: true,\n            goTemplateOptions: [\"missingkey=error\"],\n            generators: [{\n                clusters: [{\n                    enabled: true,\n                }],\n            }],\n            template: {\n                metadata: {\n                    name: \"{{.name}}-guestbook\",\n                    labels: {\n                        env: \"dev\",\n                    },\n                },\n                spec: {\n                    project: \"default\",\n                    sources: [{\n                        repoUrl: \"https://github.com/argoproj/argocd-example-apps.git\",\n                        path: \"helm-guestbook\",\n                        targetRevision: \"HEAD\",\n                    }],\n                    destination: {\n                        server: \"{{.url}}\",\n                        namespace: \"app-ns-{{.name}}\",\n                    },\n                },\n            },\n        },\n    },\n});\n// Example 2: List Generator\nconst listGenerator = new harness.platform.GitopsApplicationset(\"list_generator\", {\n    orgId: \"default\",\n    projectId: \"projectId\",\n    agentId: \"account.agentuseast1\",\n    upsert: true,\n    applicationset: {\n        metadata: {\n            name: \"list-appset\",\n        },\n        spec: {\n            goTemplate: true,\n            goTemplateOptions: [\"missingkey=error\"],\n            generators: [{\n                lists: [{\n                    elements: [\n                        {\n                            cluster: \"engineering-dev\",\n                            url: \"https://kubernetes.default.svc\",\n                        },\n                        {\n                            cluster: \"engineering-prod\",\n                            url: \"https://kubernetes.prod.svc\",\n                        },\n                    ],\n                }],\n            }],\n            template: {\n                metadata: {\n                    name: \"{{.cluster}}-guestbook\",\n                },\n                spec: {\n                    project: \"default\",\n                    sources: [{\n                        repoUrl: \"https://github.com/argoproj/argocd-example-apps.git\",\n                        path: \"helm-guestbook\",\n                        targetRevision: \"HEAD\",\n                    }],\n                    destination: {\n                        server: \"{{.url}}\",\n                        namespace: \"default\",\n                    },\n                },\n            },\n        },\n    },\n});\n// Example 3: Git Generator with Files\nconst gitFiles = new harness.platform.GitopsApplicationset(\"git_files\", {\n    orgId: \"default\",\n    projectId: \"projectId\",\n    agentId: \"account.agentuseast1\",\n    upsert: true,\n    applicationset: {\n        metadata: {\n            name: \"git-files-appset\",\n        },\n        spec: {\n            generators: [{\n                gits: [{\n                    repoUrl: \"https://github.com/example/config-repo\",\n                    revision: \"main\",\n                    files: [{\n                        path: \"apps/*/config.json\",\n                    }],\n                }],\n            }],\n            template: {\n                metadata: {\n                    name: \"{{.path.basename}}-app\",\n                },\n                spec: {\n                    project: \"default\",\n                    sources: [{\n                        repoUrl: \"https://github.com/example/app-repo\",\n                        path: \"{{.path.path}}\",\n                        targetRevision: \"main\",\n                    }],\n                    destination: {\n                        server: \"https://kubernetes.default.svc\",\n                        namespace: \"{{.path.basename}}\",\n                    },\n                },\n            },\n        },\n    },\n});\n// Example 4: Git Generator with Directories\nconst gitDirectories = new harness.platform.GitopsApplicationset(\"git_directories\", {\n    orgId: \"default\",\n    projectId: \"projectId\",\n    agentId: \"account.agentuseast1\",\n    upsert: true,\n    applicationset: {\n        metadata: {\n            name: \"git-directories-appset\",\n        },\n        spec: {\n            generators: [{\n                gits: [{\n                    repoUrl: \"https://github.com/argoproj/argo-cd.git\",\n                    revision: \"HEAD\",\n                    directories: [{\n                        path: \"applicationset/examples/git-generator-directory/cluster-addons/*\",\n                        exclude: false,\n                    }],\n                }],\n            }],\n            template: {\n                metadata: {\n                    name: \"{{.path.basename}}-addon\",\n                },\n                spec: {\n                    project: \"default\",\n                    sources: [{\n                        repoUrl: \"https://github.com/argoproj/argo-cd.git\",\n                        path: \"{{.path.path}}\",\n                        targetRevision: \"HEAD\",\n                    }],\n                    destination: {\n                        server: \"https://kubernetes.default.svc\",\n                        namespace: \"{{.path.basename}}\",\n                    },\n                    syncPolicy: {\n                        automated: {\n                            prune: true,\n                            selfHeal: true,\n                        },\n                    },\n                },\n            },\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Example 1: Cluster Generator\ncluster_generator = harness.platform.GitopsApplicationset(\"cluster_generator\",\n    org_id=\"default\",\n    project_id=\"projectId\",\n    agent_id=\"account.agentuseast1\",\n    upsert=True,\n    applicationset={\n        \"metadata\": {\n            \"name\": \"cluster-appset\",\n            \"namespace\": \"argocd\",\n        },\n        \"spec\": {\n            \"go_template\": True,\n            \"go_template_options\": [\"missingkey=error\"],\n            \"generators\": [{\n                \"clusters\": [{\n                    \"enabled\": True,\n                }],\n            }],\n            \"template\": {\n                \"metadata\": {\n                    \"name\": \"{{.name}}-guestbook\",\n                    \"labels\": {\n                        \"env\": \"dev\",\n                    },\n                },\n                \"spec\": {\n                    \"project\": \"default\",\n                    \"sources\": [{\n                        \"repo_url\": \"https://github.com/argoproj/argocd-example-apps.git\",\n                        \"path\": \"helm-guestbook\",\n                        \"target_revision\": \"HEAD\",\n                    }],\n                    \"destination\": {\n                        \"server\": \"{{.url}}\",\n                        \"namespace\": \"app-ns-{{.name}}\",\n                    },\n                },\n            },\n        },\n    })\n# Example 2: List Generator\nlist_generator = harness.platform.GitopsApplicationset(\"list_generator\",\n    org_id=\"default\",\n    project_id=\"projectId\",\n    agent_id=\"account.agentuseast1\",\n    upsert=True,\n    applicationset={\n        \"metadata\": {\n            \"name\": \"list-appset\",\n        },\n        \"spec\": {\n            \"go_template\": True,\n            \"go_template_options\": [\"missingkey=error\"],\n            \"generators\": [{\n                \"lists\": [{\n                    \"elements\": [\n                        {\n                            \"cluster\": \"engineering-dev\",\n                            \"url\": \"https://kubernetes.default.svc\",\n                        },\n                        {\n                            \"cluster\": \"engineering-prod\",\n                            \"url\": \"https://kubernetes.prod.svc\",\n                        },\n                    ],\n                }],\n            }],\n            \"template\": {\n                \"metadata\": {\n                    \"name\": \"{{.cluster}}-guestbook\",\n                },\n                \"spec\": {\n                    \"project\": \"default\",\n                    \"sources\": [{\n                        \"repo_url\": \"https://github.com/argoproj/argocd-example-apps.git\",\n                        \"path\": \"helm-guestbook\",\n                        \"target_revision\": \"HEAD\",\n                    }],\n                    \"destination\": {\n                        \"server\": \"{{.url}}\",\n                        \"namespace\": \"default\",\n                    },\n                },\n            },\n        },\n    })\n# Example 3: Git Generator with Files\ngit_files = harness.platform.GitopsApplicationset(\"git_files\",\n    org_id=\"default\",\n    project_id=\"projectId\",\n    agent_id=\"account.agentuseast1\",\n    upsert=True,\n    applicationset={\n        \"metadata\": {\n            \"name\": \"git-files-appset\",\n        },\n        \"spec\": {\n            \"generators\": [{\n                \"gits\": [{\n                    \"repo_url\": \"https://github.com/example/config-repo\",\n                    \"revision\": \"main\",\n                    \"files\": [{\n                        \"path\": \"apps/*/config.json\",\n                    }],\n                }],\n            }],\n            \"template\": {\n                \"metadata\": {\n                    \"name\": \"{{.path.basename}}-app\",\n                },\n                \"spec\": {\n                    \"project\": \"default\",\n                    \"sources\": [{\n                        \"repo_url\": \"https://github.com/example/app-repo\",\n                        \"path\": \"{{.path.path}}\",\n                        \"target_revision\": \"main\",\n                    }],\n                    \"destination\": {\n                        \"server\": \"https://kubernetes.default.svc\",\n                        \"namespace\": \"{{.path.basename}}\",\n                    },\n                },\n            },\n        },\n    })\n# Example 4: Git Generator with Directories\ngit_directories = harness.platform.GitopsApplicationset(\"git_directories\",\n    org_id=\"default\",\n    project_id=\"projectId\",\n    agent_id=\"account.agentuseast1\",\n    upsert=True,\n    applicationset={\n        \"metadata\": {\n            \"name\": \"git-directories-appset\",\n        },\n        \"spec\": {\n            \"generators\": [{\n                \"gits\": [{\n                    \"repo_url\": \"https://github.com/argoproj/argo-cd.git\",\n                    \"revision\": \"HEAD\",\n                    \"directories\": [{\n                        \"path\": \"applicationset/examples/git-generator-directory/cluster-addons/*\",\n                        \"exclude\": False,\n                    }],\n                }],\n            }],\n            \"template\": {\n                \"metadata\": {\n                    \"name\": \"{{.path.basename}}-addon\",\n                },\n                \"spec\": {\n                    \"project\": \"default\",\n                    \"sources\": [{\n                        \"repo_url\": \"https://github.com/argoproj/argo-cd.git\",\n                        \"path\": \"{{.path.path}}\",\n                        \"target_revision\": \"HEAD\",\n                    }],\n                    \"destination\": {\n                        \"server\": \"https://kubernetes.default.svc\",\n                        \"namespace\": \"{{.path.basename}}\",\n                    },\n                    \"sync_policy\": {\n                        \"automated\": {\n                            \"prune\": True,\n                            \"self_heal\": True,\n                        },\n                    },\n                },\n            },\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Example 1: Cluster Generator\n    var clusterGenerator = new Harness.Platform.GitopsApplicationset(\"cluster_generator\", new()\n    {\n        OrgId = \"default\",\n        ProjectId = \"projectId\",\n        AgentId = \"account.agentuseast1\",\n        Upsert = true,\n        Applicationset = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetArgs\n        {\n            Metadata = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetMetadataArgs\n            {\n                Name = \"cluster-appset\",\n                Namespace = \"argocd\",\n            },\n            Spec = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecArgs\n            {\n                GoTemplate = true,\n                GoTemplateOptions = new[]\n                {\n                    \"missingkey=error\",\n                },\n                Generators = new[]\n                {\n                    new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecGeneratorArgs\n                    {\n                        Clusters = new[]\n                        {\n                            new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecGeneratorClusterArgs\n                            {\n                                Enabled = true,\n                            },\n                        },\n                    },\n                },\n                Template = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateArgs\n                {\n                    Metadata = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs\n                    {\n                        Name = \"{{.name}}-guestbook\",\n                        Labels = \n                        {\n                            { \"env\", \"dev\" },\n                        },\n                    },\n                    Spec = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecArgs\n                    {\n                        Project = \"default\",\n                        Sources = new[]\n                        {\n                            new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs\n                            {\n                                RepoUrl = \"https://github.com/argoproj/argocd-example-apps.git\",\n                                Path = \"helm-guestbook\",\n                                TargetRevision = \"HEAD\",\n                            },\n                        },\n                        Destination = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs\n                        {\n                            Server = \"{{.url}}\",\n                            Namespace = \"app-ns-{{.name}}\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n    // Example 2: List Generator\n    var listGenerator = new Harness.Platform.GitopsApplicationset(\"list_generator\", new()\n    {\n        OrgId = \"default\",\n        ProjectId = \"projectId\",\n        AgentId = \"account.agentuseast1\",\n        Upsert = true,\n        Applicationset = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetArgs\n        {\n            Metadata = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetMetadataArgs\n            {\n                Name = \"list-appset\",\n            },\n            Spec = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecArgs\n            {\n                GoTemplate = true,\n                GoTemplateOptions = new[]\n                {\n                    \"missingkey=error\",\n                },\n                Generators = new[]\n                {\n                    new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecGeneratorArgs\n                    {\n                        Lists = new[]\n                        {\n                            new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecGeneratorListArgs\n                            {\n                                Elements = new[]\n                                {\n                                    \n                                    {\n                                        { \"cluster\", \"engineering-dev\" },\n                                        { \"url\", \"https://kubernetes.default.svc\" },\n                                    },\n                                    \n                                    {\n                                        { \"cluster\", \"engineering-prod\" },\n                                        { \"url\", \"https://kubernetes.prod.svc\" },\n                                    },\n                                },\n                            },\n                        },\n                    },\n                },\n                Template = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateArgs\n                {\n                    Metadata = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs\n                    {\n                        Name = \"{{.cluster}}-guestbook\",\n                    },\n                    Spec = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecArgs\n                    {\n                        Project = \"default\",\n                        Sources = new[]\n                        {\n                            new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs\n                            {\n                                RepoUrl = \"https://github.com/argoproj/argocd-example-apps.git\",\n                                Path = \"helm-guestbook\",\n                                TargetRevision = \"HEAD\",\n                            },\n                        },\n                        Destination = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs\n                        {\n                            Server = \"{{.url}}\",\n                            Namespace = \"default\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n    // Example 3: Git Generator with Files\n    var gitFiles = new Harness.Platform.GitopsApplicationset(\"git_files\", new()\n    {\n        OrgId = \"default\",\n        ProjectId = \"projectId\",\n        AgentId = \"account.agentuseast1\",\n        Upsert = true,\n        Applicationset = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetArgs\n        {\n            Metadata = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetMetadataArgs\n            {\n                Name = \"git-files-appset\",\n            },\n            Spec = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecArgs\n            {\n                Generators = new[]\n                {\n                    new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecGeneratorArgs\n                    {\n                        Gits = new[]\n                        {\n                            new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecGeneratorGitArgs\n                            {\n                                RepoUrl = \"https://github.com/example/config-repo\",\n                                Revision = \"main\",\n                                Files = new[]\n                                {\n                                    new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecGeneratorGitFileArgs\n                                    {\n                                        Path = \"apps/*/config.json\",\n                                    },\n                                },\n                            },\n                        },\n                    },\n                },\n                Template = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateArgs\n                {\n                    Metadata = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs\n                    {\n                        Name = \"{{.path.basename}}-app\",\n                    },\n                    Spec = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecArgs\n                    {\n                        Project = \"default\",\n                        Sources = new[]\n                        {\n                            new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs\n                            {\n                                RepoUrl = \"https://github.com/example/app-repo\",\n                                Path = \"{{.path.path}}\",\n                                TargetRevision = \"main\",\n                            },\n                        },\n                        Destination = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs\n                        {\n                            Server = \"https://kubernetes.default.svc\",\n                            Namespace = \"{{.path.basename}}\",\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n    // Example 4: Git Generator with Directories\n    var gitDirectories = new Harness.Platform.GitopsApplicationset(\"git_directories\", new()\n    {\n        OrgId = \"default\",\n        ProjectId = \"projectId\",\n        AgentId = \"account.agentuseast1\",\n        Upsert = true,\n        Applicationset = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetArgs\n        {\n            Metadata = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetMetadataArgs\n            {\n                Name = \"git-directories-appset\",\n            },\n            Spec = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecArgs\n            {\n                Generators = new[]\n                {\n                    new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecGeneratorArgs\n                    {\n                        Gits = new[]\n                        {\n                            new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecGeneratorGitArgs\n                            {\n                                RepoUrl = \"https://github.com/argoproj/argo-cd.git\",\n                                Revision = \"HEAD\",\n                                Directories = new[]\n                                {\n                                    new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecGeneratorGitDirectoryArgs\n                                    {\n                                        Path = \"applicationset/examples/git-generator-directory/cluster-addons/*\",\n                                        Exclude = false,\n                                    },\n                                },\n                            },\n                        },\n                    },\n                },\n                Template = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateArgs\n                {\n                    Metadata = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs\n                    {\n                        Name = \"{{.path.basename}}-addon\",\n                    },\n                    Spec = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecArgs\n                    {\n                        Project = \"default\",\n                        Sources = new[]\n                        {\n                            new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs\n                            {\n                                RepoUrl = \"https://github.com/argoproj/argo-cd.git\",\n                                Path = \"{{.path.path}}\",\n                                TargetRevision = \"HEAD\",\n                            },\n                        },\n                        Destination = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs\n                        {\n                            Server = \"https://kubernetes.default.svc\",\n                            Namespace = \"{{.path.basename}}\",\n                        },\n                        SyncPolicy = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyArgs\n                        {\n                            Automated = new Harness.Platform.Inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyAutomatedArgs\n                            {\n                                Prune = true,\n                                SelfHeal = true,\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example 1: Cluster Generator\n\t\t_, err := platform.NewGitopsApplicationset(ctx, \"cluster_generator\", \u0026platform.GitopsApplicationsetArgs{\n\t\t\tOrgId:     pulumi.String(\"default\"),\n\t\t\tProjectId: pulumi.String(\"projectId\"),\n\t\t\tAgentId:   pulumi.String(\"account.agentuseast1\"),\n\t\t\tUpsert:    pulumi.Bool(true),\n\t\t\tApplicationset: \u0026platform.GitopsApplicationsetApplicationsetArgs{\n\t\t\t\tMetadata: \u0026platform.GitopsApplicationsetApplicationsetMetadataArgs{\n\t\t\t\t\tName:      pulumi.String(\"cluster-appset\"),\n\t\t\t\t\tNamespace: pulumi.String(\"argocd\"),\n\t\t\t\t},\n\t\t\t\tSpec: \u0026platform.GitopsApplicationsetApplicationsetSpecArgs{\n\t\t\t\t\tGoTemplate: pulumi.Bool(true),\n\t\t\t\t\tGoTemplateOptions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"missingkey=error\"),\n\t\t\t\t\t},\n\t\t\t\t\tGenerators: platform.GitopsApplicationsetApplicationsetSpecGeneratorArray{\n\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecGeneratorArgs{\n\t\t\t\t\t\t\tClusters: platform.GitopsApplicationsetApplicationsetSpecGeneratorClusterArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecGeneratorClusterArgs{\n\t\t\t\t\t\t\t\t\tEnabled: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTemplate: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateArgs{\n\t\t\t\t\t\tMetadata: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"{{.name}}-guestbook\"),\n\t\t\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"env\": pulumi.String(\"dev\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSpec: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecArgs{\n\t\t\t\t\t\t\tProject: pulumi.String(\"default\"),\n\t\t\t\t\t\t\tSources: platform.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs{\n\t\t\t\t\t\t\t\t\tRepoUrl:        pulumi.String(\"https://github.com/argoproj/argocd-example-apps.git\"),\n\t\t\t\t\t\t\t\t\tPath:           pulumi.String(\"helm-guestbook\"),\n\t\t\t\t\t\t\t\t\tTargetRevision: pulumi.String(\"HEAD\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDestination: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs{\n\t\t\t\t\t\t\t\tServer:    pulumi.String(\"{{.url}}\"),\n\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"app-ns-{{.name}}\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example 2: List Generator\n\t\t_, err = platform.NewGitopsApplicationset(ctx, \"list_generator\", \u0026platform.GitopsApplicationsetArgs{\n\t\t\tOrgId:     pulumi.String(\"default\"),\n\t\t\tProjectId: pulumi.String(\"projectId\"),\n\t\t\tAgentId:   pulumi.String(\"account.agentuseast1\"),\n\t\t\tUpsert:    pulumi.Bool(true),\n\t\t\tApplicationset: \u0026platform.GitopsApplicationsetApplicationsetArgs{\n\t\t\t\tMetadata: \u0026platform.GitopsApplicationsetApplicationsetMetadataArgs{\n\t\t\t\t\tName: pulumi.String(\"list-appset\"),\n\t\t\t\t},\n\t\t\t\tSpec: \u0026platform.GitopsApplicationsetApplicationsetSpecArgs{\n\t\t\t\t\tGoTemplate: pulumi.Bool(true),\n\t\t\t\t\tGoTemplateOptions: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"missingkey=error\"),\n\t\t\t\t\t},\n\t\t\t\t\tGenerators: platform.GitopsApplicationsetApplicationsetSpecGeneratorArray{\n\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecGeneratorArgs{\n\t\t\t\t\t\t\tLists: platform.GitopsApplicationsetApplicationsetSpecGeneratorListArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecGeneratorListArgs{\n\t\t\t\t\t\t\t\t\tElements: pulumi.StringMapArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.StringMap{\n\t\t\t\t\t\t\t\t\t\t\t\"cluster\": pulumi.String(\"engineering-dev\"),\n\t\t\t\t\t\t\t\t\t\t\t\"url\":     pulumi.String(\"https://kubernetes.default.svc\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t\tpulumi.StringMap{\n\t\t\t\t\t\t\t\t\t\t\t\"cluster\": pulumi.String(\"engineering-prod\"),\n\t\t\t\t\t\t\t\t\t\t\t\"url\":     pulumi.String(\"https://kubernetes.prod.svc\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTemplate: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateArgs{\n\t\t\t\t\t\tMetadata: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"{{.cluster}}-guestbook\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSpec: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecArgs{\n\t\t\t\t\t\t\tProject: pulumi.String(\"default\"),\n\t\t\t\t\t\t\tSources: platform.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs{\n\t\t\t\t\t\t\t\t\tRepoUrl:        pulumi.String(\"https://github.com/argoproj/argocd-example-apps.git\"),\n\t\t\t\t\t\t\t\t\tPath:           pulumi.String(\"helm-guestbook\"),\n\t\t\t\t\t\t\t\t\tTargetRevision: pulumi.String(\"HEAD\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDestination: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs{\n\t\t\t\t\t\t\t\tServer:    pulumi.String(\"{{.url}}\"),\n\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"default\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example 3: Git Generator with Files\n\t\t_, err = platform.NewGitopsApplicationset(ctx, \"git_files\", \u0026platform.GitopsApplicationsetArgs{\n\t\t\tOrgId:     pulumi.String(\"default\"),\n\t\t\tProjectId: pulumi.String(\"projectId\"),\n\t\t\tAgentId:   pulumi.String(\"account.agentuseast1\"),\n\t\t\tUpsert:    pulumi.Bool(true),\n\t\t\tApplicationset: \u0026platform.GitopsApplicationsetApplicationsetArgs{\n\t\t\t\tMetadata: \u0026platform.GitopsApplicationsetApplicationsetMetadataArgs{\n\t\t\t\t\tName: pulumi.String(\"git-files-appset\"),\n\t\t\t\t},\n\t\t\t\tSpec: \u0026platform.GitopsApplicationsetApplicationsetSpecArgs{\n\t\t\t\t\tGenerators: platform.GitopsApplicationsetApplicationsetSpecGeneratorArray{\n\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecGeneratorArgs{\n\t\t\t\t\t\t\tGits: platform.GitopsApplicationsetApplicationsetSpecGeneratorGitArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecGeneratorGitArgs{\n\t\t\t\t\t\t\t\t\tRepoUrl:  pulumi.String(\"https://github.com/example/config-repo\"),\n\t\t\t\t\t\t\t\t\tRevision: pulumi.String(\"main\"),\n\t\t\t\t\t\t\t\t\tFiles: platform.GitopsApplicationsetApplicationsetSpecGeneratorGitFileArray{\n\t\t\t\t\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecGeneratorGitFileArgs{\n\t\t\t\t\t\t\t\t\t\t\tPath: pulumi.String(\"apps/*/config.json\"),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTemplate: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateArgs{\n\t\t\t\t\t\tMetadata: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"{{.path.basename}}-app\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSpec: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecArgs{\n\t\t\t\t\t\t\tProject: pulumi.String(\"default\"),\n\t\t\t\t\t\t\tSources: platform.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs{\n\t\t\t\t\t\t\t\t\tRepoUrl:        pulumi.String(\"https://github.com/example/app-repo\"),\n\t\t\t\t\t\t\t\t\tPath:           pulumi.String(\"{{.path.path}}\"),\n\t\t\t\t\t\t\t\t\tTargetRevision: pulumi.String(\"main\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDestination: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs{\n\t\t\t\t\t\t\t\tServer:    pulumi.String(\"https://kubernetes.default.svc\"),\n\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"{{.path.basename}}\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example 4: Git Generator with Directories\n\t\t_, err = platform.NewGitopsApplicationset(ctx, \"git_directories\", \u0026platform.GitopsApplicationsetArgs{\n\t\t\tOrgId:     pulumi.String(\"default\"),\n\t\t\tProjectId: pulumi.String(\"projectId\"),\n\t\t\tAgentId:   pulumi.String(\"account.agentuseast1\"),\n\t\t\tUpsert:    pulumi.Bool(true),\n\t\t\tApplicationset: \u0026platform.GitopsApplicationsetApplicationsetArgs{\n\t\t\t\tMetadata: \u0026platform.GitopsApplicationsetApplicationsetMetadataArgs{\n\t\t\t\t\tName: pulumi.String(\"git-directories-appset\"),\n\t\t\t\t},\n\t\t\t\tSpec: \u0026platform.GitopsApplicationsetApplicationsetSpecArgs{\n\t\t\t\t\tGenerators: platform.GitopsApplicationsetApplicationsetSpecGeneratorArray{\n\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecGeneratorArgs{\n\t\t\t\t\t\t\tGits: platform.GitopsApplicationsetApplicationsetSpecGeneratorGitArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecGeneratorGitArgs{\n\t\t\t\t\t\t\t\t\tRepoUrl:  pulumi.String(\"https://github.com/argoproj/argo-cd.git\"),\n\t\t\t\t\t\t\t\t\tRevision: pulumi.String(\"HEAD\"),\n\t\t\t\t\t\t\t\t\tDirectories: platform.GitopsApplicationsetApplicationsetSpecGeneratorGitDirectoryArray{\n\t\t\t\t\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecGeneratorGitDirectoryArgs{\n\t\t\t\t\t\t\t\t\t\t\tPath:    pulumi.String(\"applicationset/examples/git-generator-directory/cluster-addons/*\"),\n\t\t\t\t\t\t\t\t\t\t\tExclude: pulumi.Bool(false),\n\t\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tTemplate: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateArgs{\n\t\t\t\t\t\tMetadata: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs{\n\t\t\t\t\t\t\tName: pulumi.String(\"{{.path.basename}}-addon\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tSpec: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecArgs{\n\t\t\t\t\t\t\tProject: pulumi.String(\"default\"),\n\t\t\t\t\t\t\tSources: platform.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArray{\n\t\t\t\t\t\t\t\t\u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs{\n\t\t\t\t\t\t\t\t\tRepoUrl:        pulumi.String(\"https://github.com/argoproj/argo-cd.git\"),\n\t\t\t\t\t\t\t\t\tPath:           pulumi.String(\"{{.path.path}}\"),\n\t\t\t\t\t\t\t\t\tTargetRevision: pulumi.String(\"HEAD\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tDestination: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs{\n\t\t\t\t\t\t\t\tServer:    pulumi.String(\"https://kubernetes.default.svc\"),\n\t\t\t\t\t\t\t\tNamespace: pulumi.String(\"{{.path.basename}}\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tSyncPolicy: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyArgs{\n\t\t\t\t\t\t\t\tAutomated: \u0026platform.GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyAutomatedArgs{\n\t\t\t\t\t\t\t\t\tPrune:    pulumi.Bool(true),\n\t\t\t\t\t\t\t\t\tSelfHeal: pulumi.Bool(true),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.GitopsApplicationset;\nimport com.pulumi.harness.platform.GitopsApplicationsetArgs;\nimport com.pulumi.harness.platform.inputs.GitopsApplicationsetApplicationsetArgs;\nimport com.pulumi.harness.platform.inputs.GitopsApplicationsetApplicationsetMetadataArgs;\nimport com.pulumi.harness.platform.inputs.GitopsApplicationsetApplicationsetSpecArgs;\nimport com.pulumi.harness.platform.inputs.GitopsApplicationsetApplicationsetSpecTemplateArgs;\nimport com.pulumi.harness.platform.inputs.GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs;\nimport com.pulumi.harness.platform.inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecArgs;\nimport com.pulumi.harness.platform.inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs;\nimport com.pulumi.harness.platform.inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyArgs;\nimport com.pulumi.harness.platform.inputs.GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyAutomatedArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Example 1: Cluster Generator\n        var clusterGenerator = new GitopsApplicationset(\"clusterGenerator\", GitopsApplicationsetArgs.builder()\n            .orgId(\"default\")\n            .projectId(\"projectId\")\n            .agentId(\"account.agentuseast1\")\n            .upsert(true)\n            .applicationset(GitopsApplicationsetApplicationsetArgs.builder()\n                .metadata(GitopsApplicationsetApplicationsetMetadataArgs.builder()\n                    .name(\"cluster-appset\")\n                    .namespace(\"argocd\")\n                    .build())\n                .spec(GitopsApplicationsetApplicationsetSpecArgs.builder()\n                    .goTemplate(true)\n                    .goTemplateOptions(\"missingkey=error\")\n                    .generators(GitopsApplicationsetApplicationsetSpecGeneratorArgs.builder()\n                        .clusters(GitopsApplicationsetApplicationsetSpecGeneratorClusterArgs.builder()\n                            .enabled(true)\n                            .build())\n                        .build())\n                    .template(GitopsApplicationsetApplicationsetSpecTemplateArgs.builder()\n                        .metadata(GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs.builder()\n                            .name(\"{{.name}}-guestbook\")\n                            .labels(Map.of(\"env\", \"dev\"))\n                            .build())\n                        .spec(GitopsApplicationsetApplicationsetSpecTemplateSpecArgs.builder()\n                            .project(\"default\")\n                            .sources(GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs.builder()\n                                .repoUrl(\"https://github.com/argoproj/argocd-example-apps.git\")\n                                .path(\"helm-guestbook\")\n                                .targetRevision(\"HEAD\")\n                                .build())\n                            .destination(GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs.builder()\n                                .server(\"{{.url}}\")\n                                .namespace(\"app-ns-{{.name}}\")\n                                .build())\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n        // Example 2: List Generator\n        var listGenerator = new GitopsApplicationset(\"listGenerator\", GitopsApplicationsetArgs.builder()\n            .orgId(\"default\")\n            .projectId(\"projectId\")\n            .agentId(\"account.agentuseast1\")\n            .upsert(true)\n            .applicationset(GitopsApplicationsetApplicationsetArgs.builder()\n                .metadata(GitopsApplicationsetApplicationsetMetadataArgs.builder()\n                    .name(\"list-appset\")\n                    .build())\n                .spec(GitopsApplicationsetApplicationsetSpecArgs.builder()\n                    .goTemplate(true)\n                    .goTemplateOptions(\"missingkey=error\")\n                    .generators(GitopsApplicationsetApplicationsetSpecGeneratorArgs.builder()\n                        .lists(GitopsApplicationsetApplicationsetSpecGeneratorListArgs.builder()\n                            .elements(                            \n                                Map.ofEntries(\n                                    Map.entry(\"cluster\", \"engineering-dev\"),\n                                    Map.entry(\"url\", \"https://kubernetes.default.svc\")\n                                ),\n                                Map.ofEntries(\n                                    Map.entry(\"cluster\", \"engineering-prod\"),\n                                    Map.entry(\"url\", \"https://kubernetes.prod.svc\")\n                                ))\n                            .build())\n                        .build())\n                    .template(GitopsApplicationsetApplicationsetSpecTemplateArgs.builder()\n                        .metadata(GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs.builder()\n                            .name(\"{{.cluster}}-guestbook\")\n                            .build())\n                        .spec(GitopsApplicationsetApplicationsetSpecTemplateSpecArgs.builder()\n                            .project(\"default\")\n                            .sources(GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs.builder()\n                                .repoUrl(\"https://github.com/argoproj/argocd-example-apps.git\")\n                                .path(\"helm-guestbook\")\n                                .targetRevision(\"HEAD\")\n                                .build())\n                            .destination(GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs.builder()\n                                .server(\"{{.url}}\")\n                                .namespace(\"default\")\n                                .build())\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n        // Example 3: Git Generator with Files\n        var gitFiles = new GitopsApplicationset(\"gitFiles\", GitopsApplicationsetArgs.builder()\n            .orgId(\"default\")\n            .projectId(\"projectId\")\n            .agentId(\"account.agentuseast1\")\n            .upsert(true)\n            .applicationset(GitopsApplicationsetApplicationsetArgs.builder()\n                .metadata(GitopsApplicationsetApplicationsetMetadataArgs.builder()\n                    .name(\"git-files-appset\")\n                    .build())\n                .spec(GitopsApplicationsetApplicationsetSpecArgs.builder()\n                    .generators(GitopsApplicationsetApplicationsetSpecGeneratorArgs.builder()\n                        .gits(GitopsApplicationsetApplicationsetSpecGeneratorGitArgs.builder()\n                            .repoUrl(\"https://github.com/example/config-repo\")\n                            .revision(\"main\")\n                            .files(GitopsApplicationsetApplicationsetSpecGeneratorGitFileArgs.builder()\n                                .path(\"apps/*/config.json\")\n                                .build())\n                            .build())\n                        .build())\n                    .template(GitopsApplicationsetApplicationsetSpecTemplateArgs.builder()\n                        .metadata(GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs.builder()\n                            .name(\"{{.path.basename}}-app\")\n                            .build())\n                        .spec(GitopsApplicationsetApplicationsetSpecTemplateSpecArgs.builder()\n                            .project(\"default\")\n                            .sources(GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs.builder()\n                                .repoUrl(\"https://github.com/example/app-repo\")\n                                .path(\"{{.path.path}}\")\n                                .targetRevision(\"main\")\n                                .build())\n                            .destination(GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs.builder()\n                                .server(\"https://kubernetes.default.svc\")\n                                .namespace(\"{{.path.basename}}\")\n                                .build())\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n        // Example 4: Git Generator with Directories\n        var gitDirectories = new GitopsApplicationset(\"gitDirectories\", GitopsApplicationsetArgs.builder()\n            .orgId(\"default\")\n            .projectId(\"projectId\")\n            .agentId(\"account.agentuseast1\")\n            .upsert(true)\n            .applicationset(GitopsApplicationsetApplicationsetArgs.builder()\n                .metadata(GitopsApplicationsetApplicationsetMetadataArgs.builder()\n                    .name(\"git-directories-appset\")\n                    .build())\n                .spec(GitopsApplicationsetApplicationsetSpecArgs.builder()\n                    .generators(GitopsApplicationsetApplicationsetSpecGeneratorArgs.builder()\n                        .gits(GitopsApplicationsetApplicationsetSpecGeneratorGitArgs.builder()\n                            .repoUrl(\"https://github.com/argoproj/argo-cd.git\")\n                            .revision(\"HEAD\")\n                            .directories(GitopsApplicationsetApplicationsetSpecGeneratorGitDirectoryArgs.builder()\n                                .path(\"applicationset/examples/git-generator-directory/cluster-addons/*\")\n                                .exclude(false)\n                                .build())\n                            .build())\n                        .build())\n                    .template(GitopsApplicationsetApplicationsetSpecTemplateArgs.builder()\n                        .metadata(GitopsApplicationsetApplicationsetSpecTemplateMetadataArgs.builder()\n                            .name(\"{{.path.basename}}-addon\")\n                            .build())\n                        .spec(GitopsApplicationsetApplicationsetSpecTemplateSpecArgs.builder()\n                            .project(\"default\")\n                            .sources(GitopsApplicationsetApplicationsetSpecTemplateSpecSourceArgs.builder()\n                                .repoUrl(\"https://github.com/argoproj/argo-cd.git\")\n                                .path(\"{{.path.path}}\")\n                                .targetRevision(\"HEAD\")\n                                .build())\n                            .destination(GitopsApplicationsetApplicationsetSpecTemplateSpecDestinationArgs.builder()\n                                .server(\"https://kubernetes.default.svc\")\n                                .namespace(\"{{.path.basename}}\")\n                                .build())\n                            .syncPolicy(GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyArgs.builder()\n                                .automated(GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicyAutomatedArgs.builder()\n                                    .prune(true)\n                                    .selfHeal(true)\n                                    .build())\n                                .build())\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Example 1: Cluster Generator\n  clusterGenerator:\n    type: harness:platform:GitopsApplicationset\n    name: cluster_generator\n    properties:\n      orgId: default\n      projectId: projectId\n      agentId: account.agentuseast1\n      upsert: true\n      applicationset:\n        metadata:\n          name: cluster-appset\n          namespace: argocd\n        spec:\n          goTemplate: true\n          goTemplateOptions:\n            - missingkey=error\n          generators:\n            - clusters:\n                - enabled: true\n          template:\n            metadata:\n              name: '{{.name}}-guestbook'\n              labels:\n                env: dev\n            spec:\n              project: default\n              sources:\n                - repoUrl: https://github.com/argoproj/argocd-example-apps.git\n                  path: helm-guestbook\n                  targetRevision: HEAD\n              destination:\n                server: '{{.url}}'\n                namespace: app-ns-{{.name}}\n  # Example 2: List Generator\n  listGenerator:\n    type: harness:platform:GitopsApplicationset\n    name: list_generator\n    properties:\n      orgId: default\n      projectId: projectId\n      agentId: account.agentuseast1\n      upsert: true\n      applicationset:\n        metadata:\n          name: list-appset\n        spec:\n          goTemplate: true\n          goTemplateOptions:\n            - missingkey=error\n          generators:\n            - lists:\n                - elements:\n                    - cluster: engineering-dev\n                      url: https://kubernetes.default.svc\n                    - cluster: engineering-prod\n                      url: https://kubernetes.prod.svc\n          template:\n            metadata:\n              name: '{{.cluster}}-guestbook'\n            spec:\n              project: default\n              sources:\n                - repoUrl: https://github.com/argoproj/argocd-example-apps.git\n                  path: helm-guestbook\n                  targetRevision: HEAD\n              destination:\n                server: '{{.url}}'\n                namespace: default\n  # Example 3: Git Generator with Files\n  gitFiles:\n    type: harness:platform:GitopsApplicationset\n    name: git_files\n    properties:\n      orgId: default\n      projectId: projectId\n      agentId: account.agentuseast1\n      upsert: true\n      applicationset:\n        metadata:\n          name: git-files-appset\n        spec:\n          generators:\n            - gits:\n                - repoUrl: https://github.com/example/config-repo\n                  revision: main\n                  files:\n                    - path: apps/*/config.json\n          template:\n            metadata:\n              name: '{{.path.basename}}-app'\n            spec:\n              project: default\n              sources:\n                - repoUrl: https://github.com/example/app-repo\n                  path: '{{.path.path}}'\n                  targetRevision: main\n              destination:\n                server: https://kubernetes.default.svc\n                namespace: '{{.path.basename}}'\n  # Example 4: Git Generator with Directories\n  gitDirectories:\n    type: harness:platform:GitopsApplicationset\n    name: git_directories\n    properties:\n      orgId: default\n      projectId: projectId\n      agentId: account.agentuseast1\n      upsert: true\n      applicationset:\n        metadata:\n          name: git-directories-appset\n        spec:\n          generators:\n            - gits:\n                - repoUrl: https://github.com/argoproj/argo-cd.git\n                  revision: HEAD\n                  directories:\n                    - path: applicationset/examples/git-generator-directory/cluster-addons/*\n                      exclude: false\n          template:\n            metadata:\n              name: '{{.path.basename}}-addon'\n            spec:\n              project: default\n              sources:\n                - repoUrl: https://github.com/argoproj/argo-cd.git\n                  path: '{{.path.path}}'\n                  targetRevision: HEAD\n              destination:\n                server: https://kubernetes.default.svc\n                namespace: '{{.path.basename}}'\n              syncPolicy:\n                automated:\n                  prune: true\n                  selfHeal: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport gitOps applicationset with account level agent, agent id has account prefix #\n\n```sh\n$ pulumi import harness:platform/gitopsApplicationset:GitopsApplicationset example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e/\u003cidentifier\u003e\n```\n\nImport gitOps applicationset with org level agent, agent id has org prefix #\n\n```sh\n$ pulumi import harness:platform/gitopsApplicationset:GitopsApplicationset example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e/\u003cidentifier\u003e\n```\n\nImport gitOps applicationset with project level agent #\n\n```sh\n$ pulumi import harness:platform/gitopsApplicationset:GitopsApplicationset example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cagent_id\u003e/\u003cidentifier\u003e\n```\n\n","properties":{"agentId":{"type":"string","description":"Agent identifier of the GitOps applicationset.\n"},"applicationset":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationset:GitopsApplicationsetApplicationset","description":"Definition of the GitOps applicationset resource.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps applicationset. This is a unique identifier for the applicationset generated automatically.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps applicationset.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps applicationset.\n"},"upsert":{"type":"boolean","description":"Indicates if the GitOps application should be updated if existing and inserted if not.\n"}},"required":["agentId","applicationset","identifier","orgId","projectId"],"inputProperties":{"agentId":{"type":"string","description":"Agent identifier of the GitOps applicationset.\n"},"applicationset":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationset:GitopsApplicationsetApplicationset","description":"Definition of the GitOps applicationset resource.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps applicationset.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps applicationset.\n"},"upsert":{"type":"boolean","description":"Indicates if the GitOps application should be updated if existing and inserted if not.\n"}},"requiredInputs":["agentId","applicationset","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering GitopsApplicationset resources.\n","properties":{"agentId":{"type":"string","description":"Agent identifier of the GitOps applicationset.\n"},"applicationset":{"$ref":"#/types/harness:platform/GitopsApplicationsetApplicationset:GitopsApplicationsetApplicationset","description":"Definition of the GitOps applicationset resource.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps applicationset. This is a unique identifier for the applicationset generated automatically.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps applicationset.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps applicationset.\n"},"upsert":{"type":"boolean","description":"Indicates if the GitOps application should be updated if existing and inserted if not.\n"}},"type":"object"}},"harness:platform/gitopsFilters:GitopsFilters":{"description":"Resource for creating Harness GitOps Filters.\n","properties":{"filterProperties":{"type":"string","description":"Properties of the filters entity defined in Harness as a JSON string. All values should be arrays of strings. Example: jsonencode({\"healthStatus\": [\"Healthy\", \"Degraded\"], \"syncStatus\": [\"Synced\"]})\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filters, by default it is Everyone.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the GitOps filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of GitOps filters.\n"}},"required":["filterProperties","identifier","name","orgId","projectId","type"],"inputProperties":{"filterProperties":{"type":"string","description":"Properties of the filters entity defined in Harness as a JSON string. All values should be arrays of strings. Example: jsonencode({\"healthStatus\": [\"Healthy\", \"Degraded\"], \"syncStatus\": [\"Synced\"]})\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filters, by default it is Everyone.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the GitOps filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of GitOps filters.\n"}},"requiredInputs":["filterProperties","identifier","orgId","projectId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering GitopsFilters resources.\n","properties":{"filterProperties":{"type":"string","description":"Properties of the filters entity defined in Harness as a JSON string. All values should be arrays of strings. Example: jsonencode({\"healthStatus\": [\"Healthy\", \"Degraded\"], \"syncStatus\": [\"Synced\"]})\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filters, by default it is Everyone.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the GitOps filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of GitOps filters.\n"}},"type":"object"}},"harness:platform/gitxWebhook:GitxWebhook":{"description":"Resource for creating a Harness GitX Webhook.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport an Account level Webhook\n\n```sh\n$ pulumi import harness:platform/gitxWebhook:GitxWebhook example \u003cwebhook_identifier\u003e\n```\n\nImport an Org level Webhook\n\n```sh\n$ pulumi import harness:platform/gitxWebhook:GitxWebhook example \u003cwebhook_identifier\u003e/\u003corg_id\u003e/\n```\n\nImport a Project level Webhook\n\n```sh\n$ pulumi import harness:platform/gitxWebhook:GitxWebhook example \u003cwebhook_identifier\u003e/\u003corg_id\u003e/\u003cproject_id\u003e\n```\n\n","properties":{"connectorRef":{"type":"string","description":"ConnectorRef to be used to create Gitx webhook.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"folderPaths":{"type":"array","items":{"type":"string"},"description":"Folder Paths\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"isEnabled":{"type":"boolean","description":"Flag to enable the webhook\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoName":{"type":"string","description":"Repo Identifier for Gitx webhook.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["connectorRef","identifier","name","repoName"],"inputProperties":{"connectorRef":{"type":"string","description":"ConnectorRef to be used to create Gitx webhook.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"folderPaths":{"type":"array","items":{"type":"string"},"description":"Folder Paths\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"isEnabled":{"type":"boolean","description":"Flag to enable the webhook\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoName":{"type":"string","description":"Repo Identifier for Gitx webhook.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["connectorRef","identifier","repoName"],"stateInputs":{"description":"Input properties used for looking up and filtering GitxWebhook resources.\n","properties":{"connectorRef":{"type":"string","description":"ConnectorRef to be used to create Gitx webhook.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"folderPaths":{"type":"array","items":{"type":"string"},"description":"Folder Paths\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"isEnabled":{"type":"boolean","description":"Flag to enable the webhook\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoName":{"type":"string","description":"Repo Identifier for Gitx webhook.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/harRegistry:HarRegistry":{"description":"Resource for creating and managing Harness Registries.\n\n**Note:**\n\u003e In Harness Artifact Registry, a **Virtual** registry is functionally equivalent to what is commonly referred to as a **Local** registry in other systems.\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Example of a Virtual Registry\nconst virtualRegistry = new harness.platform.HarRegistry(\"virtual_registry\", {\n    identifier: \"virtual_docker_registry\",\n    description: \"Virtual Docker Registry\",\n    spaceRef: \"accountId/orgId/projectId\",\n    packageType: \"DOCKER\",\n    configs: [{\n        type: \"VIRTUAL\",\n        upstreamProxies: [\n            \"registry1\",\n            \"registry2\",\n        ],\n    }],\n    parentRef: \"accountId/orgId/projectId\",\n});\n// Example of an Upstream Registry with Authentication\nconst upstreamRegistry = new harness.platform.HarRegistry(\"upstream_registry\", {\n    identifier: \"upstream_helm_registry\",\n    description: \"Upstream Helm Registry\",\n    spaceRef: \"accountId/orgId/projectId\",\n    packageType: \"HELM\",\n    configs: [{\n        type: \"UPSTREAM\",\n        source: \"CUSTOM\",\n        url: \"https://helm.sh\",\n        auths: [{\n            authType: \"UserPassword\",\n            userName: \"registry_user\",\n            secretIdentifier: \"registry_password\",\n            secretSpacePath: \"accountId/orgId/projectId\",\n        }],\n    }],\n    parentRef: \"accountId/orgId/projectId\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Example of a Virtual Registry\nvirtual_registry = harness.platform.HarRegistry(\"virtual_registry\",\n    identifier=\"virtual_docker_registry\",\n    description=\"Virtual Docker Registry\",\n    space_ref=\"accountId/orgId/projectId\",\n    package_type=\"DOCKER\",\n    configs=[{\n        \"type\": \"VIRTUAL\",\n        \"upstream_proxies\": [\n            \"registry1\",\n            \"registry2\",\n        ],\n    }],\n    parent_ref=\"accountId/orgId/projectId\")\n# Example of an Upstream Registry with Authentication\nupstream_registry = harness.platform.HarRegistry(\"upstream_registry\",\n    identifier=\"upstream_helm_registry\",\n    description=\"Upstream Helm Registry\",\n    space_ref=\"accountId/orgId/projectId\",\n    package_type=\"HELM\",\n    configs=[{\n        \"type\": \"UPSTREAM\",\n        \"source\": \"CUSTOM\",\n        \"url\": \"https://helm.sh\",\n        \"auths\": [{\n            \"auth_type\": \"UserPassword\",\n            \"user_name\": \"registry_user\",\n            \"secret_identifier\": \"registry_password\",\n            \"secret_space_path\": \"accountId/orgId/projectId\",\n        }],\n    }],\n    parent_ref=\"accountId/orgId/projectId\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Example of a Virtual Registry\n    var virtualRegistry = new Harness.Platform.HarRegistry(\"virtual_registry\", new()\n    {\n        Identifier = \"virtual_docker_registry\",\n        Description = \"Virtual Docker Registry\",\n        SpaceRef = \"accountId/orgId/projectId\",\n        PackageType = \"DOCKER\",\n        Configs = new[]\n        {\n            new Harness.Platform.Inputs.HarRegistryConfigArgs\n            {\n                Type = \"VIRTUAL\",\n                UpstreamProxies = new[]\n                {\n                    \"registry1\",\n                    \"registry2\",\n                },\n            },\n        },\n        ParentRef = \"accountId/orgId/projectId\",\n    });\n\n    // Example of an Upstream Registry with Authentication\n    var upstreamRegistry = new Harness.Platform.HarRegistry(\"upstream_registry\", new()\n    {\n        Identifier = \"upstream_helm_registry\",\n        Description = \"Upstream Helm Registry\",\n        SpaceRef = \"accountId/orgId/projectId\",\n        PackageType = \"HELM\",\n        Configs = new[]\n        {\n            new Harness.Platform.Inputs.HarRegistryConfigArgs\n            {\n                Type = \"UPSTREAM\",\n                Source = \"CUSTOM\",\n                Url = \"https://helm.sh\",\n                Auths = new[]\n                {\n                    new Harness.Platform.Inputs.HarRegistryConfigAuthArgs\n                    {\n                        AuthType = \"UserPassword\",\n                        UserName = \"registry_user\",\n                        SecretIdentifier = \"registry_password\",\n                        SecretSpacePath = \"accountId/orgId/projectId\",\n                    },\n                },\n            },\n        },\n        ParentRef = \"accountId/orgId/projectId\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example of a Virtual Registry\n\t\t_, err := platform.NewHarRegistry(ctx, \"virtual_registry\", \u0026platform.HarRegistryArgs{\n\t\t\tIdentifier:  pulumi.String(\"virtual_docker_registry\"),\n\t\t\tDescription: pulumi.String(\"Virtual Docker Registry\"),\n\t\t\tSpaceRef:    pulumi.String(\"accountId/orgId/projectId\"),\n\t\t\tPackageType: pulumi.String(\"DOCKER\"),\n\t\t\tConfigs: platform.HarRegistryConfigArray{\n\t\t\t\t\u0026platform.HarRegistryConfigArgs{\n\t\t\t\t\tType: pulumi.String(\"VIRTUAL\"),\n\t\t\t\t\tUpstreamProxies: pulumi.StringArray{\n\t\t\t\t\t\tpulumi.String(\"registry1\"),\n\t\t\t\t\t\tpulumi.String(\"registry2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tParentRef: pulumi.String(\"accountId/orgId/projectId\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example of an Upstream Registry with Authentication\n\t\t_, err = platform.NewHarRegistry(ctx, \"upstream_registry\", \u0026platform.HarRegistryArgs{\n\t\t\tIdentifier:  pulumi.String(\"upstream_helm_registry\"),\n\t\t\tDescription: pulumi.String(\"Upstream Helm Registry\"),\n\t\t\tSpaceRef:    pulumi.String(\"accountId/orgId/projectId\"),\n\t\t\tPackageType: pulumi.String(\"HELM\"),\n\t\t\tConfigs: platform.HarRegistryConfigArray{\n\t\t\t\t\u0026platform.HarRegistryConfigArgs{\n\t\t\t\t\tType:   pulumi.String(\"UPSTREAM\"),\n\t\t\t\t\tSource: pulumi.String(\"CUSTOM\"),\n\t\t\t\t\tUrl:    pulumi.String(\"https://helm.sh\"),\n\t\t\t\t\tAuths: platform.HarRegistryConfigAuthArray{\n\t\t\t\t\t\t\u0026platform.HarRegistryConfigAuthArgs{\n\t\t\t\t\t\t\tAuthType:         pulumi.String(\"UserPassword\"),\n\t\t\t\t\t\t\tUserName:         pulumi.String(\"registry_user\"),\n\t\t\t\t\t\t\tSecretIdentifier: pulumi.String(\"registry_password\"),\n\t\t\t\t\t\t\tSecretSpacePath:  pulumi.String(\"accountId/orgId/projectId\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tParentRef: pulumi.String(\"accountId/orgId/projectId\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.HarRegistry;\nimport com.pulumi.harness.platform.HarRegistryArgs;\nimport com.pulumi.harness.platform.inputs.HarRegistryConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Example of a Virtual Registry\n        var virtualRegistry = new HarRegistry(\"virtualRegistry\", HarRegistryArgs.builder()\n            .identifier(\"virtual_docker_registry\")\n            .description(\"Virtual Docker Registry\")\n            .spaceRef(\"accountId/orgId/projectId\")\n            .packageType(\"DOCKER\")\n            .configs(HarRegistryConfigArgs.builder()\n                .type(\"VIRTUAL\")\n                .upstreamProxies(                \n                    \"registry1\",\n                    \"registry2\")\n                .build())\n            .parentRef(\"accountId/orgId/projectId\")\n            .build());\n\n        // Example of an Upstream Registry with Authentication\n        var upstreamRegistry = new HarRegistry(\"upstreamRegistry\", HarRegistryArgs.builder()\n            .identifier(\"upstream_helm_registry\")\n            .description(\"Upstream Helm Registry\")\n            .spaceRef(\"accountId/orgId/projectId\")\n            .packageType(\"HELM\")\n            .configs(HarRegistryConfigArgs.builder()\n                .type(\"UPSTREAM\")\n                .source(\"CUSTOM\")\n                .url(\"https://helm.sh\")\n                .auths(HarRegistryConfigAuthArgs.builder()\n                    .authType(\"UserPassword\")\n                    .userName(\"registry_user\")\n                    .secretIdentifier(\"registry_password\")\n                    .secretSpacePath(\"accountId/orgId/projectId\")\n                    .build())\n                .build())\n            .parentRef(\"accountId/orgId/projectId\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Example of a Virtual Registry\n  virtualRegistry:\n    type: harness:platform:HarRegistry\n    name: virtual_registry\n    properties:\n      identifier: virtual_docker_registry\n      description: Virtual Docker Registry\n      spaceRef: accountId/orgId/projectId\n      packageType: DOCKER\n      configs:\n        - type: VIRTUAL\n          upstreamProxies:\n            - registry1\n            - registry2\n      parentRef: accountId/orgId/projectId\n  # Example of an Upstream Registry with Authentication\n  upstreamRegistry:\n    type: harness:platform:HarRegistry\n    name: upstream_registry\n    properties:\n      identifier: upstream_helm_registry\n      description: Upstream Helm Registry\n      spaceRef: accountId/orgId/projectId\n      packageType: HELM\n      configs:\n        - type: UPSTREAM\n          source: CUSTOM\n          url: https://helm.sh\n          auths:\n            - authType: UserPassword\n              userName: registry_user\n              secretIdentifier: registry_password\n              secretSpacePath: accountId/orgId/projectId\n      parentRef: accountId/orgId/projectId\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\n### Import Format\n\nThe import ID format is: `\u003cspace_ref\u003e/\u003cidentifier\u003e`\n\nWhere:\n- \u003cspan pulumi-lang-nodejs=\"`spaceRef`\" pulumi-lang-dotnet=\"`SpaceRef`\" pulumi-lang-go=\"`spaceRef`\" pulumi-lang-python=\"`space_ref`\" pulumi-lang-yaml=\"`spaceRef`\" pulumi-lang-java=\"`spaceRef`\"\u003e`space_ref`\u003c/span\u003e defines the scope: account, org, or project level\n- \u003cspan pulumi-lang-nodejs=\"`identifier`\" pulumi-lang-dotnet=\"`Identifier`\" pulumi-lang-go=\"`identifier`\" pulumi-lang-python=\"`identifier`\" pulumi-lang-yaml=\"`identifier`\" pulumi-lang-java=\"`identifier`\"\u003e`identifier`\u003c/span\u003e is the unique registry identifier\n\n### Import Examples\n\n```bash\n# Account level: \u003caccount_id\u003e/\u003cregistry_identifier\u003e\n# Org level: \u003caccount_id\u003e/\u003corg_id\u003e/\u003cregistry_identifier\u003e\n# Project level: \u003caccount_id\u003e/\u003corg_id\u003e/\u003cproject_id\u003e/\u003cregistry_identifier\u003e\nterraform import harness_platform_har_registry.example \u003cspace_ref\u003e/\u003cregistry_identifier\u003e\n```\n\n### After Import\n\n```bash\npulumi preview\npulumi up\n```\n\n","properties":{"allowedPatterns":{"type":"array","items":{"type":"string"},"description":"Allowed artifact patterns\n"},"blockedPatterns":{"type":"array","items":{"type":"string"},"description":"Blocked artifact patterns\n"},"configs":{"type":"array","items":{"$ref":"#/types/harness:platform/HarRegistryConfig:HarRegistryConfig"},"description":"Configuration for the registry\n"},"createdAt":{"type":"string","description":"Creation timestamp\n"},"description":{"type":"string","description":"Description of the registry\n"},"identifier":{"type":"string","description":"Unique identifier of the registry\n"},"packageType":{"type":"string","description":"Type of package (DOCKER, HELM, MAVEN, etc.)\n"},"parentRef":{"type":"string","description":"Parent reference for the registry (required for creation)\n"},"spaceRef":{"type":"string","description":"Space reference for the registry (required for creation)\n"},"url":{"type":"string","description":"URL of the registry\n"}},"required":["createdAt","identifier","packageType","parentRef","spaceRef","url"],"inputProperties":{"allowedPatterns":{"type":"array","items":{"type":"string"},"description":"Allowed artifact patterns\n"},"blockedPatterns":{"type":"array","items":{"type":"string"},"description":"Blocked artifact patterns\n"},"configs":{"type":"array","items":{"$ref":"#/types/harness:platform/HarRegistryConfig:HarRegistryConfig"},"description":"Configuration for the registry\n"},"description":{"type":"string","description":"Description of the registry\n"},"identifier":{"type":"string","description":"Unique identifier of the registry\n","willReplaceOnChanges":true},"packageType":{"type":"string","description":"Type of package (DOCKER, HELM, MAVEN, etc.)\n"},"parentRef":{"type":"string","description":"Parent reference for the registry (required for creation)\n"},"spaceRef":{"type":"string","description":"Space reference for the registry (required for creation)\n"}},"requiredInputs":["identifier","packageType","parentRef","spaceRef"],"stateInputs":{"description":"Input properties used for looking up and filtering HarRegistry resources.\n","properties":{"allowedPatterns":{"type":"array","items":{"type":"string"},"description":"Allowed artifact patterns\n"},"blockedPatterns":{"type":"array","items":{"type":"string"},"description":"Blocked artifact patterns\n"},"configs":{"type":"array","items":{"$ref":"#/types/harness:platform/HarRegistryConfig:HarRegistryConfig"},"description":"Configuration for the registry\n"},"createdAt":{"type":"string","description":"Creation timestamp\n"},"description":{"type":"string","description":"Description of the registry\n"},"identifier":{"type":"string","description":"Unique identifier of the registry\n","willReplaceOnChanges":true},"packageType":{"type":"string","description":"Type of package (DOCKER, HELM, MAVEN, etc.)\n"},"parentRef":{"type":"string","description":"Parent reference for the registry (required for creation)\n"},"spaceRef":{"type":"string","description":"Space reference for the registry (required for creation)\n"},"url":{"type":"string","description":"URL of the registry\n"}},"type":"object"}},"harness:platform/helmConnector:HelmConnector":{"description":"Resource for creating a HTTP Helm connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level helm connector\n\n```sh\n$ pulumi import harness:platform/helmConnector:HelmConnector example \u003cconnector_id\u003e\n```\n\nImport org level helm connector\n\n```sh\n$ pulumi import harness:platform/helmConnector:HelmConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level helm connector\n\n```sh\n$ pulumi import harness:platform/helmConnector:HelmConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"credentials":{"$ref":"#/types/harness:platform/HelmConnectorCredentials:HelmConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the helm server.\n"}},"required":["forceDelete","identifier","name","url"],"inputProperties":{"credentials":{"$ref":"#/types/harness:platform/HelmConnectorCredentials:HelmConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the helm server.\n"}},"requiredInputs":["identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering HelmConnector resources.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/HelmConnectorCredentials:HelmConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the helm server.\n"}},"type":"object"}},"harness:platform/iacmDefaultPipeline:IacmDefaultPipeline":{"description":"Resource for managing IAC default pipelines\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.IacmDefaultPipeline(\"example\", {\n    orgId: test.id,\n    projectId: testHarnessPlatformProject.id,\n    provisionerType: \"terraform\",\n    operation: \"plan\",\n    pipeline: \"pipeline1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.IacmDefaultPipeline(\"example\",\n    org_id=test[\"id\"],\n    project_id=test_harness_platform_project[\"id\"],\n    provisioner_type=\"terraform\",\n    operation=\"plan\",\n    pipeline=\"pipeline1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.IacmDefaultPipeline(\"example\", new()\n    {\n        OrgId = test.Id,\n        ProjectId = testHarnessPlatformProject.Id,\n        ProvisionerType = \"terraform\",\n        Operation = \"plan\",\n        Pipeline = \"pipeline1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewIacmDefaultPipeline(ctx, \"example\", \u0026platform.IacmDefaultPipelineArgs{\n\t\t\tOrgId:           pulumi.Any(test.Id),\n\t\t\tProjectId:       pulumi.Any(testHarnessPlatformProject.Id),\n\t\t\tProvisionerType: pulumi.String(\"terraform\"),\n\t\t\tOperation:       pulumi.String(\"plan\"),\n\t\t\tPipeline:        pulumi.String(\"pipeline1\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.IacmDefaultPipeline;\nimport com.pulumi.harness.platform.IacmDefaultPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new IacmDefaultPipeline(\"example\", IacmDefaultPipelineArgs.builder()\n            .orgId(test.id())\n            .projectId(testHarnessPlatformProject.id())\n            .provisionerType(\"terraform\")\n            .operation(\"plan\")\n            .pipeline(\"pipeline1\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:IacmDefaultPipeline\n    properties:\n      orgId: ${test.id}\n      projectId: ${testHarnessPlatformProject.id}\n      provisionerType: terraform\n      operation: plan\n      pipeline: pipeline1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"operation":{"type":"string","description":"The operation associated with this default.\n"},"orgId":{"type":"string","description":"Organization identifier of the organization the default pipelines resides in.\n"},"pipeline":{"type":"string","description":"The pipeline associated with this default.\n"},"projectId":{"type":"string","description":"Project identifier of the project the default pipelines resides in.\n"},"provisionerType":{"type":"string","description":"The provisioner associated with this default.\n"}},"required":["operation","orgId","pipeline","projectId","provisionerType"],"inputProperties":{"operation":{"type":"string","description":"The operation associated with this default.\n"},"orgId":{"type":"string","description":"Organization identifier of the organization the default pipelines resides in.\n","willReplaceOnChanges":true},"pipeline":{"type":"string","description":"The pipeline associated with this default.\n"},"projectId":{"type":"string","description":"Project identifier of the project the default pipelines resides in.\n","willReplaceOnChanges":true},"provisionerType":{"type":"string","description":"The provisioner associated with this default.\n"}},"requiredInputs":["operation","orgId","pipeline","projectId","provisionerType"],"stateInputs":{"description":"Input properties used for looking up and filtering IacmDefaultPipeline resources.\n","properties":{"operation":{"type":"string","description":"The operation associated with this default.\n"},"orgId":{"type":"string","description":"Organization identifier of the organization the default pipelines resides in.\n","willReplaceOnChanges":true},"pipeline":{"type":"string","description":"The pipeline associated with this default.\n"},"projectId":{"type":"string","description":"Project identifier of the project the default pipelines resides in.\n","willReplaceOnChanges":true},"provisionerType":{"type":"string","description":"The provisioner associated with this default.\n"}},"type":"object"}},"harness:platform/idpCatalogEntity:IdpCatalogEntity":{"description":"Resource for creating IDP catalog entities.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level entity\n\n```sh\n$ pulumi import harness:platform/idpCatalogEntity:IdpCatalogEntity example \u003centity_id\u003e\n```\n\nImport org level entity\n\n```sh\n$ pulumi import harness:platform/idpCatalogEntity:IdpCatalogEntity example \u003corg_id\u003e/\u003centity_id\u003e\n```\n\nImport project level entity\n\n```sh\n$ pulumi import harness:platform/idpCatalogEntity:IdpCatalogEntity example \u003corg_id\u003e/\u003cproject_id\u003e/\u003centity_id\u003e\n```\n\n","properties":{"gitDetails":{"$ref":"#/types/harness:platform/IdpCatalogEntityGitDetails:IdpCatalogEntityGitDetails","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"kind":{"type":"string","description":"Kind of the catalog entity\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"yaml":{"type":"string","description":"YAML definition of the catalog entity\n"}},"required":["gitDetails","identifier","importFromGit","kind","yaml"],"inputProperties":{"gitDetails":{"$ref":"#/types/harness:platform/IdpCatalogEntityGitDetails:IdpCatalogEntityGitDetails","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"kind":{"type":"string","description":"Kind of the catalog entity\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"yaml":{"type":"string","description":"YAML definition of the catalog entity\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering IdpCatalogEntity resources.\n","properties":{"gitDetails":{"$ref":"#/types/harness:platform/IdpCatalogEntityGitDetails:IdpCatalogEntityGitDetails","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"kind":{"type":"string","description":"Kind of the catalog entity\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"yaml":{"type":"string","description":"YAML definition of the catalog entity\n"}},"type":"object"}},"harness:platform/idpEnvironment:IdpEnvironment":{"description":"Resource for creating IDP environments.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.IdpEnvironment(\"test\", {\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    name: \"test\",\n    owner: \"group:account/_account_all_users\",\n    blueprintIdentifier: \"blueprint_identifier\",\n    blueprintVersion: \"v1.0.0\",\n    targetState: \"running\",\n    basedOn: \"org_id.project_id/environment_identifier\",\n    overrides: `config: {}\nentities: {}\n`,\n    inputs: \"ttl: 1h30m\\n\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.IdpEnvironment(\"test\",\n    identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    name=\"test\",\n    owner=\"group:account/_account_all_users\",\n    blueprint_identifier=\"blueprint_identifier\",\n    blueprint_version=\"v1.0.0\",\n    target_state=\"running\",\n    based_on=\"org_id.project_id/environment_identifier\",\n    overrides=\"\"\"config: {}\nentities: {}\n\"\"\",\n    inputs=\"ttl: 1h30m\\n\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.IdpEnvironment(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Name = \"test\",\n        Owner = \"group:account/_account_all_users\",\n        BlueprintIdentifier = \"blueprint_identifier\",\n        BlueprintVersion = \"v1.0.0\",\n        TargetState = \"running\",\n        BasedOn = \"org_id.project_id/environment_identifier\",\n        Overrides = @\"config: {}\nentities: {}\n\",\n        Inputs = @\"ttl: 1h30m\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewIdpEnvironment(ctx, \"test\", \u0026platform.IdpEnvironmentArgs{\n\t\t\tIdentifier:          pulumi.String(\"identifier\"),\n\t\t\tOrgId:               pulumi.String(\"org_id\"),\n\t\t\tProjectId:           pulumi.String(\"project_id\"),\n\t\t\tName:                pulumi.String(\"test\"),\n\t\t\tOwner:               pulumi.String(\"group:account/_account_all_users\"),\n\t\t\tBlueprintIdentifier: pulumi.String(\"blueprint_identifier\"),\n\t\t\tBlueprintVersion:    pulumi.String(\"v1.0.0\"),\n\t\t\tTargetState:         pulumi.String(\"running\"),\n\t\t\tBasedOn:             pulumi.String(\"org_id.project_id/environment_identifier\"),\n\t\t\tOverrides:           pulumi.String(\"config: {}\\nentities: {}\\n\"),\n\t\t\tInputs:              pulumi.String(\"ttl: 1h30m\\n\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.IdpEnvironment;\nimport com.pulumi.harness.platform.IdpEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new IdpEnvironment(\"test\", IdpEnvironmentArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .name(\"test\")\n            .owner(\"group:account/_account_all_users\")\n            .blueprintIdentifier(\"blueprint_identifier\")\n            .blueprintVersion(\"v1.0.0\")\n            .targetState(\"running\")\n            .basedOn(\"org_id.project_id/environment_identifier\")\n            .overrides(\"\"\"\nconfig: {}\nentities: {}\n            \"\"\")\n            .inputs(\"\"\"\nttl: 1h30m\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:IdpEnvironment\n    properties:\n      identifier: identifier\n      orgId: org_id\n      projectId: project_id\n      name: test\n      owner: group:account/_account_all_users\n      blueprintIdentifier: blueprint_identifier\n      blueprintVersion: v1.0.0\n      targetState: running\n      basedOn: org_id.project_id/environment_identifier\n      overrides: |\n        config: {}\n        entities: {}\n      inputs: |\n        ttl: 1h30m\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport environment\n\n```sh\n$ pulumi import harness:platform/idpEnvironment:IdpEnvironment example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cenvironment_id\u003e\n```\n\n","properties":{"basedOn":{"type":"string","description":"Based on environment reference. This should be passed as \\n\\n.\\n\\n/\\n\\n\n"},"blueprintIdentifier":{"type":"string","description":"Blueprint to base the environment on\n"},"blueprintVersion":{"type":"string","description":"Version of the blueprint to base the environment on\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"inputs":{"type":"string","description":"Additional inputs for controlling the environment in YAML format\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"overrides":{"type":"string","description":"Overrides for environment blueprint inputs in YAML format\n"},"owner":{"type":"string","description":"Owner of the environment\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"targetState":{"type":"string","description":"target state of the environment. If different from the current, a pipeline will be triggered to update the environment\n"}},"required":["blueprintIdentifier","blueprintVersion","identifier","name","orgId","overrides","owner","projectId"],"inputProperties":{"basedOn":{"type":"string","description":"Based on environment reference. This should be passed as \\n\\n.\\n\\n/\\n\\n\n"},"blueprintIdentifier":{"type":"string","description":"Blueprint to base the environment on\n","willReplaceOnChanges":true},"blueprintVersion":{"type":"string","description":"Version of the blueprint to base the environment on\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"inputs":{"type":"string","description":"Additional inputs for controlling the environment in YAML format\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"overrides":{"type":"string","description":"Overrides for environment blueprint inputs in YAML format\n"},"owner":{"type":"string","description":"Owner of the environment\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"targetState":{"type":"string","description":"target state of the environment. If different from the current, a pipeline will be triggered to update the environment\n"}},"requiredInputs":["blueprintIdentifier","blueprintVersion","identifier","orgId","overrides","owner","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering IdpEnvironment resources.\n","properties":{"basedOn":{"type":"string","description":"Based on environment reference. This should be passed as \\n\\n.\\n\\n/\\n\\n\n"},"blueprintIdentifier":{"type":"string","description":"Blueprint to base the environment on\n","willReplaceOnChanges":true},"blueprintVersion":{"type":"string","description":"Version of the blueprint to base the environment on\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"inputs":{"type":"string","description":"Additional inputs for controlling the environment in YAML format\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"overrides":{"type":"string","description":"Overrides for environment blueprint inputs in YAML format\n"},"owner":{"type":"string","description":"Owner of the environment\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"targetState":{"type":"string","description":"target state of the environment. If different from the current, a pipeline will be triggered to update the environment\n"}},"type":"object"}},"harness:platform/idpEnvironmentBlueprint:IdpEnvironmentBlueprint":{"description":"Resource for creating IDP environment blueprints.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.IdpEnvironmentBlueprint(\"test\", {\n    identifier: \"identifier\",\n    version: \"v1.0.0\",\n    stable: true,\n    deprecated: false,\n    description: \"description\",\n    yaml: `apiVersion: harness.io/v1\nkind: EnvironmentBlueprint\ntype: long-lived\nidentifier: identifier\nname: name\nowner: group:account/_account_all_users\nmetadata:\n  description: description\nspec:\n  entities:\n  - identifier: git\n    backend:\n      type: HarnessCD\n      steps:\n        apply:\n          pipeline: gittest\n          branch: main\n        destroy:\n          pipeline: gittest\n          branch: not-main\n  ownedBy:\n  - group:account/_account_all_users\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.IdpEnvironmentBlueprint(\"test\",\n    identifier=\"identifier\",\n    version=\"v1.0.0\",\n    stable=True,\n    deprecated=False,\n    description=\"description\",\n    yaml=\"\"\"apiVersion: harness.io/v1\nkind: EnvironmentBlueprint\ntype: long-lived\nidentifier: identifier\nname: name\nowner: group:account/_account_all_users\nmetadata:\n  description: description\nspec:\n  entities:\n  - identifier: git\n    backend:\n      type: HarnessCD\n      steps:\n        apply:\n          pipeline: gittest\n          branch: main\n        destroy:\n          pipeline: gittest\n          branch: not-main\n  ownedBy:\n  - group:account/_account_all_users\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.IdpEnvironmentBlueprint(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Version = \"v1.0.0\",\n        Stable = true,\n        Deprecated = false,\n        Description = \"description\",\n        Yaml = @\"apiVersion: harness.io/v1\nkind: EnvironmentBlueprint\ntype: long-lived\nidentifier: identifier\nname: name\nowner: group:account/_account_all_users\nmetadata:\n  description: description\nspec:\n  entities:\n  - identifier: git\n    backend:\n      type: HarnessCD\n      steps:\n        apply:\n          pipeline: gittest\n          branch: main\n        destroy:\n          pipeline: gittest\n          branch: not-main\n  ownedBy:\n  - group:account/_account_all_users\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewIdpEnvironmentBlueprint(ctx, \"test\", \u0026platform.IdpEnvironmentBlueprintArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tVersion:     pulumi.String(\"v1.0.0\"),\n\t\t\tStable:      pulumi.Bool(true),\n\t\t\tDeprecated:  pulumi.Bool(false),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tYaml: pulumi.String(`apiVersion: harness.io/v1\nkind: EnvironmentBlueprint\ntype: long-lived\nidentifier: identifier\nname: name\nowner: group:account/_account_all_users\nmetadata:\n  description: description\nspec:\n  entities:\n  - identifier: git\n    backend:\n      type: HarnessCD\n      steps:\n        apply:\n          pipeline: gittest\n          branch: main\n        destroy:\n          pipeline: gittest\n          branch: not-main\n  ownedBy:\n  - group:account/_account_all_users\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.IdpEnvironmentBlueprint;\nimport com.pulumi.harness.platform.IdpEnvironmentBlueprintArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new IdpEnvironmentBlueprint(\"test\", IdpEnvironmentBlueprintArgs.builder()\n            .identifier(\"identifier\")\n            .version(\"v1.0.0\")\n            .stable(true)\n            .deprecated(false)\n            .description(\"description\")\n            .yaml(\"\"\"\napiVersion: harness.io/v1\nkind: EnvironmentBlueprint\ntype: long-lived\nidentifier: identifier\nname: name\nowner: group:account/_account_all_users\nmetadata:\n  description: description\nspec:\n  entities:\n  - identifier: git\n    backend:\n      type: HarnessCD\n      steps:\n        apply:\n          pipeline: gittest\n          branch: main\n        destroy:\n          pipeline: gittest\n          branch: not-main\n  ownedBy:\n  - group:account/_account_all_users\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:IdpEnvironmentBlueprint\n    properties:\n      identifier: identifier\n      version: v1.0.0\n      stable: true\n      deprecated: false\n      description: description\n      yaml: |\n        apiVersion: harness.io/v1\n        kind: EnvironmentBlueprint\n        type: long-lived\n        identifier: identifier\n        name: name\n        owner: group:account/_account_all_users\n        metadata:\n          description: description\n        spec:\n          entities:\n          - identifier: git\n            backend:\n              type: HarnessCD\n              steps:\n                apply:\n                  pipeline: gittest\n                  branch: main\n                destroy:\n                  pipeline: gittest\n                  branch: not-main\n          ownedBy:\n          - group:account/_account_all_users\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport environment blueprint\n\n```sh\n$ pulumi import harness:platform/idpEnvironmentBlueprint:IdpEnvironmentBlueprint example \u003cblueprint_id\u003e/\u003cversion\u003e\n```\n\n","properties":{"deprecated":{"type":"boolean","description":"Whether the catalog entity is deprecated\n"},"description":{"type":"string","description":"Description of the catalog entity\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"stable":{"type":"boolean","description":"Whether the catalog entity is stable\n"},"version":{"type":"string","description":"Version of the catalog entity\n"},"yaml":{"type":"string","description":"YAML definition of the catalog entity\n"}},"required":["identifier","version","yaml"],"inputProperties":{"deprecated":{"type":"boolean","description":"Whether the catalog entity is deprecated\n"},"description":{"type":"string","description":"Description of the catalog entity\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"stable":{"type":"boolean","description":"Whether the catalog entity is stable\n"},"version":{"type":"string","description":"Version of the catalog entity\n","willReplaceOnChanges":true},"yaml":{"type":"string","description":"YAML definition of the catalog entity\n"}},"requiredInputs":["identifier","version","yaml"],"stateInputs":{"description":"Input properties used for looking up and filtering IdpEnvironmentBlueprint resources.\n","properties":{"deprecated":{"type":"boolean","description":"Whether the catalog entity is deprecated\n"},"description":{"type":"string","description":"Description of the catalog entity\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"stable":{"type":"boolean","description":"Whether the catalog entity is stable\n"},"version":{"type":"string","description":"Version of the catalog entity\n","willReplaceOnChanges":true},"yaml":{"type":"string","description":"YAML definition of the catalog entity\n"}},"type":"object"}},"harness:platform/infraModule:InfraModule":{"description":"Resource for managing Terraform/Tofu Modules.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.InfraModule(\"example\", {\n    description: \"example\",\n    name: \"name\",\n    system: \"provider\",\n    repository: \"https://github.com/org/repo\",\n    repositoryBranch: \"main\",\n    repositoryPath: \"tf/aws/basic\",\n    repositoryConnector: test.id,\n    onboardingPipeline: \"my_onboarding_pipeline\",\n    onboardingPipelineOrg: \"default\",\n    onboardingPipelineProject: \"IaCM_Project\",\n    onboardingPipelineSync: true,\n    storageType: \"harness\",\n    connectorOrg: \"default\",\n    connectorProject: \"my_project\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.InfraModule(\"example\",\n    description=\"example\",\n    name=\"name\",\n    system=\"provider\",\n    repository=\"https://github.com/org/repo\",\n    repository_branch=\"main\",\n    repository_path=\"tf/aws/basic\",\n    repository_connector=test[\"id\"],\n    onboarding_pipeline=\"my_onboarding_pipeline\",\n    onboarding_pipeline_org=\"default\",\n    onboarding_pipeline_project=\"IaCM_Project\",\n    onboarding_pipeline_sync=True,\n    storage_type=\"harness\",\n    connector_org=\"default\",\n    connector_project=\"my_project\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.InfraModule(\"example\", new()\n    {\n        Description = \"example\",\n        Name = \"name\",\n        System = \"provider\",\n        Repository = \"https://github.com/org/repo\",\n        RepositoryBranch = \"main\",\n        RepositoryPath = \"tf/aws/basic\",\n        RepositoryConnector = test.Id,\n        OnboardingPipeline = \"my_onboarding_pipeline\",\n        OnboardingPipelineOrg = \"default\",\n        OnboardingPipelineProject = \"IaCM_Project\",\n        OnboardingPipelineSync = true,\n        StorageType = \"harness\",\n        ConnectorOrg = \"default\",\n        ConnectorProject = \"my_project\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewInfraModule(ctx, \"example\", \u0026platform.InfraModuleArgs{\n\t\t\tDescription:               pulumi.String(\"example\"),\n\t\t\tName:                      pulumi.String(\"name\"),\n\t\t\tSystem:                    pulumi.String(\"provider\"),\n\t\t\tRepository:                pulumi.String(\"https://github.com/org/repo\"),\n\t\t\tRepositoryBranch:          pulumi.String(\"main\"),\n\t\t\tRepositoryPath:            pulumi.String(\"tf/aws/basic\"),\n\t\t\tRepositoryConnector:       pulumi.Any(test.Id),\n\t\t\tOnboardingPipeline:        pulumi.String(\"my_onboarding_pipeline\"),\n\t\t\tOnboardingPipelineOrg:     pulumi.String(\"default\"),\n\t\t\tOnboardingPipelineProject: pulumi.String(\"IaCM_Project\"),\n\t\t\tOnboardingPipelineSync:    pulumi.Bool(true),\n\t\t\tStorageType:               pulumi.String(\"harness\"),\n\t\t\tConnectorOrg:              pulumi.String(\"default\"),\n\t\t\tConnectorProject:          pulumi.String(\"my_project\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.InfraModule;\nimport com.pulumi.harness.platform.InfraModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new InfraModule(\"example\", InfraModuleArgs.builder()\n            .description(\"example\")\n            .name(\"name\")\n            .system(\"provider\")\n            .repository(\"https://github.com/org/repo\")\n            .repositoryBranch(\"main\")\n            .repositoryPath(\"tf/aws/basic\")\n            .repositoryConnector(test.id())\n            .onboardingPipeline(\"my_onboarding_pipeline\")\n            .onboardingPipelineOrg(\"default\")\n            .onboardingPipelineProject(\"IaCM_Project\")\n            .onboardingPipelineSync(true)\n            .storageType(\"harness\")\n            .connectorOrg(\"default\")\n            .connectorProject(\"my_project\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:InfraModule\n    properties:\n      description: example\n      name: name\n      system: provider\n      repository: https://github.com/org/repo\n      repositoryBranch: main\n      repositoryPath: tf/aws/basic\n      repositoryConnector: ${test.id}\n      onboardingPipeline: my_onboarding_pipeline\n      onboardingPipelineOrg: default\n      onboardingPipelineProject: IaCM_Project\n      onboardingPipelineSync: true\n      storageType: harness\n      connectorOrg: default\n      connectorProject: my_project\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import harness:platform/infraModule:InfraModule example \u003cmodule_id\u003e\n```\n\n","properties":{"connectorOrg":{"type":"string","description":"Connector organization.\n"},"connectorProject":{"type":"string","description":"Connector project.\n"},"created":{"type":"integer","description":"Timestamp when the module was created.\n"},"description":{"type":"string","description":"Description of the module.\n"},"gitTagStyle":{"type":"string","description":"Git Tag Style.\n"},"name":{"type":"string","description":"Name of the module.\n"},"onboardingPipeline":{"type":"string","description":"Onboarding Pipeline identifier.\n"},"onboardingPipelineOrg":{"type":"string","description":"Onboarding Pipeline organization.\n"},"onboardingPipelineProject":{"type":"string","description":"Onboarding Pipeline project.\n"},"onboardingPipelineSync":{"type":"boolean","description":"Sync the project automatically.\n"},"repository":{"type":"string","description":"For account connectors, the repository where the module can be found\n"},"repositoryBranch":{"type":"string","description":"Name of the branch to fetch the code from. This cannot be set if repository commit is set.\n"},"repositoryCommit":{"type":"string","description":"Tag to fetch the code from. This cannot be set if repository branch is set.\n"},"repositoryConnector":{"type":"string","description":"Reference to the connector to be used to fetch the code.\n"},"repositoryPath":{"type":"string","description":"Path to the module within the repository.\n"},"repositoryUrl":{"type":"string","description":"URL of the repository where the module is stored.\n"},"storageType":{"type":"string","description":"How to store the artifact.\n"},"synced":{"type":"integer","description":"Timestamp when the module was last synced.\n"},"system":{"type":"string","description":"Provider of the module.\n"},"tags":{"type":"string","description":"Git tags associated with the module.\n"},"versions":{"type":"array","items":{"type":"string"},"description":"List of versions of the module.\n"}},"required":["created","gitTagStyle","name","repositoryUrl","storageType","synced","system","tags","versions"],"inputProperties":{"connectorOrg":{"type":"string","description":"Connector organization.\n"},"connectorProject":{"type":"string","description":"Connector project.\n"},"created":{"type":"integer","description":"Timestamp when the module was created.\n"},"description":{"type":"string","description":"Description of the module.\n"},"gitTagStyle":{"type":"string","description":"Git Tag Style.\n"},"name":{"type":"string","description":"Name of the module.\n"},"onboardingPipeline":{"type":"string","description":"Onboarding Pipeline identifier.\n"},"onboardingPipelineOrg":{"type":"string","description":"Onboarding Pipeline organization.\n"},"onboardingPipelineProject":{"type":"string","description":"Onboarding Pipeline project.\n"},"onboardingPipelineSync":{"type":"boolean","description":"Sync the project automatically.\n"},"repository":{"type":"string","description":"For account connectors, the repository where the module can be found\n"},"repositoryBranch":{"type":"string","description":"Name of the branch to fetch the code from. This cannot be set if repository commit is set.\n"},"repositoryCommit":{"type":"string","description":"Tag to fetch the code from. This cannot be set if repository branch is set.\n"},"repositoryConnector":{"type":"string","description":"Reference to the connector to be used to fetch the code.\n"},"repositoryPath":{"type":"string","description":"Path to the module within the repository.\n"},"repositoryUrl":{"type":"string","description":"URL of the repository where the module is stored.\n"},"storageType":{"type":"string","description":"How to store the artifact.\n"},"synced":{"type":"integer","description":"Timestamp when the module was last synced.\n"},"system":{"type":"string","description":"Provider of the module.\n"},"tags":{"type":"string","description":"Git tags associated with the module.\n"},"versions":{"type":"array","items":{"type":"string"},"description":"List of versions of the module.\n"}},"requiredInputs":["system"],"stateInputs":{"description":"Input properties used for looking up and filtering InfraModule resources.\n","properties":{"connectorOrg":{"type":"string","description":"Connector organization.\n"},"connectorProject":{"type":"string","description":"Connector project.\n"},"created":{"type":"integer","description":"Timestamp when the module was created.\n"},"description":{"type":"string","description":"Description of the module.\n"},"gitTagStyle":{"type":"string","description":"Git Tag Style.\n"},"name":{"type":"string","description":"Name of the module.\n"},"onboardingPipeline":{"type":"string","description":"Onboarding Pipeline identifier.\n"},"onboardingPipelineOrg":{"type":"string","description":"Onboarding Pipeline organization.\n"},"onboardingPipelineProject":{"type":"string","description":"Onboarding Pipeline project.\n"},"onboardingPipelineSync":{"type":"boolean","description":"Sync the project automatically.\n"},"repository":{"type":"string","description":"For account connectors, the repository where the module can be found\n"},"repositoryBranch":{"type":"string","description":"Name of the branch to fetch the code from. This cannot be set if repository commit is set.\n"},"repositoryCommit":{"type":"string","description":"Tag to fetch the code from. This cannot be set if repository branch is set.\n"},"repositoryConnector":{"type":"string","description":"Reference to the connector to be used to fetch the code.\n"},"repositoryPath":{"type":"string","description":"Path to the module within the repository.\n"},"repositoryUrl":{"type":"string","description":"URL of the repository where the module is stored.\n"},"storageType":{"type":"string","description":"How to store the artifact.\n"},"synced":{"type":"integer","description":"Timestamp when the module was last synced.\n"},"system":{"type":"string","description":"Provider of the module.\n"},"tags":{"type":"string","description":"Git tags associated with the module.\n"},"versions":{"type":"array","items":{"type":"string"},"description":"List of versions of the module.\n"}},"type":"object"}},"harness:platform/infraModuleTesting:InfraModuleTesting":{"description":"Resource for managing Terraform/Tofu Modules.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.InfraModule(\"example\", {\n    moduleId: 1234,\n    org: \"default\",\n    project: \"project\",\n    providerConnector: \"account.connector\",\n    provisionerType: \"tofu\",\n    provisionerVersion: \"1.9.4\",\n    pipelines: [\n        \"pipelinea\",\n        \"pipelineb\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.InfraModule(\"example\",\n    module_id=1234,\n    org=\"default\",\n    project=\"project\",\n    provider_connector=\"account.connector\",\n    provisioner_type=\"tofu\",\n    provisioner_version=\"1.9.4\",\n    pipelines=[\n        \"pipelinea\",\n        \"pipelineb\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.InfraModule(\"example\", new()\n    {\n        ModuleId = 1234,\n        Org = \"default\",\n        Project = \"project\",\n        ProviderConnector = \"account.connector\",\n        ProvisionerType = \"tofu\",\n        ProvisionerVersion = \"1.9.4\",\n        Pipelines = new[]\n        {\n            \"pipelinea\",\n            \"pipelineb\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewInfraModule(ctx, \"example\", \u0026platform.InfraModuleArgs{\n\t\t\tModuleId:           1234,\n\t\t\tOrg:                \"default\",\n\t\t\tProject:            \"project\",\n\t\t\tProviderConnector:  \"account.connector\",\n\t\t\tProvisionerType:    \"tofu\",\n\t\t\tProvisionerVersion: \"1.9.4\",\n\t\t\tPipelines: []string{\n\t\t\t\t\"pipelinea\",\n\t\t\t\t\"pipelineb\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.InfraModule;\nimport com.pulumi.harness.platform.InfraModuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new InfraModule(\"example\", InfraModuleArgs.builder()\n            .moduleId(1234)\n            .org(\"default\")\n            .project(\"project\")\n            .providerConnector(\"account.connector\")\n            .provisionerType(\"tofu\")\n            .provisionerVersion(\"1.9.4\")\n            .pipelines(List.of(            \n                \"pipelinea\",\n                \"pipelineb\"))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:InfraModule\n    properties:\n      moduleId: 1234\n      org: default\n      project: project\n      providerConnector: account.connector\n      provisionerType: tofu\n      provisionerVersion: 1.9.4\n      pipelines:\n        - pipelinea\n        - pipelineb\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import harness:platform/infraModuleTesting:InfraModuleTesting example \u003cmodule_id\u003e\n```\n\n","properties":{"account":{"type":"string","description":"Account that owns the module\n"},"created":{"type":"integer","description":"Timestamp when the module was created\n"},"description":{"type":"string","description":"Description of the module\n"},"gitTagStyle":{"type":"string","description":"Git Tag Style\n"},"moduleError":{"type":"string","description":"Error while retrieving the module\n"},"moduleId":{"type":"string","description":"Identifier of the module to enable testing for\n"},"name":{"type":"string","description":"Name of the module\n"},"org":{"type":"string","description":"Organization identifier\n"},"pipelines":{"type":"array","items":{"type":"string"},"description":"List of pipeline IDs to create webhooks for triggering test executions\n"},"project":{"type":"string","description":"Project identifier\n"},"providerConnector":{"type":"string","description":"Provider connector for testing purposes\n"},"provisionerType":{"type":"string","description":"Provisioner type for testing purposes (e.g., terraform, tofu)\n"},"provisionerVersion":{"type":"string","description":"Provisioner version for testing purposes\n"},"releasePipeline":{"type":"string","description":"Pipeline ID to create webhooks for releases\n"},"repository":{"type":"string","description":"For account connectors, the repository where the module is stored\n"},"repositoryBranch":{"type":"string","description":"Repository Branch in which the module should be accessed\n"},"repositoryCommit":{"type":"string","description":"Repository Commit in which the module should be accessed\n"},"repositoryConnector":{"type":"string","description":"Repository Connector is the reference to the connector for the repository\n"},"repositoryPath":{"type":"string","description":"Repository Path is the path in which the module resides\n"},"repositoryUrl":{"type":"string","description":"URL where the module is stored\n"},"synced":{"type":"integer","description":"Timestamp when the module was last synced\n"},"system":{"type":"string","description":"Provider of the module\n"},"tags":{"type":"string","description":"Tags associated with the module\n"},"testingEnabled":{"type":"boolean","description":"Whether testing is enabled for the module\n"},"testingMetadata":{"$ref":"#/types/harness:platform/InfraModuleTestingTestingMetadata:InfraModuleTestingTestingMetadata","description":"Testing metadata for the module\n"},"updated":{"type":"integer","description":"Timestamp when the module was last modified\n"},"versions":{"type":"array","items":{"type":"string"},"description":"Versions of the module\n"}},"required":["account","created","description","gitTagStyle","moduleError","moduleId","name","org","pipelines","project","providerConnector","provisionerType","provisionerVersion","repository","repositoryBranch","repositoryCommit","repositoryConnector","repositoryPath","repositoryUrl","synced","system","tags","testingEnabled","testingMetadata","updated","versions"],"inputProperties":{"moduleId":{"type":"string","description":"Identifier of the module to enable testing for\n","willReplaceOnChanges":true},"org":{"type":"string","description":"Organization identifier\n"},"pipelines":{"type":"array","items":{"type":"string"},"description":"List of pipeline IDs to create webhooks for triggering test executions\n"},"project":{"type":"string","description":"Project identifier\n"},"providerConnector":{"type":"string","description":"Provider connector for testing purposes\n"},"provisionerType":{"type":"string","description":"Provisioner type for testing purposes (e.g., terraform, tofu)\n"},"provisionerVersion":{"type":"string","description":"Provisioner version for testing purposes\n"},"releasePipeline":{"type":"string","description":"Pipeline ID to create webhooks for releases\n"},"testingEnabled":{"type":"boolean","description":"Whether testing is enabled for the module\n"},"testingMetadata":{"$ref":"#/types/harness:platform/InfraModuleTestingTestingMetadata:InfraModuleTestingTestingMetadata","description":"Testing metadata for the module\n"},"updated":{"type":"integer","description":"Timestamp when the module was last modified\n"},"versions":{"type":"array","items":{"type":"string"},"description":"Versions of the module\n"}},"requiredInputs":["moduleId","org","pipelines","project","providerConnector","provisionerType","provisionerVersion"],"stateInputs":{"description":"Input properties used for looking up and filtering InfraModuleTesting resources.\n","properties":{"account":{"type":"string","description":"Account that owns the module\n"},"created":{"type":"integer","description":"Timestamp when the module was created\n"},"description":{"type":"string","description":"Description of the module\n"},"gitTagStyle":{"type":"string","description":"Git Tag Style\n"},"moduleError":{"type":"string","description":"Error while retrieving the module\n"},"moduleId":{"type":"string","description":"Identifier of the module to enable testing for\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the module\n"},"org":{"type":"string","description":"Organization identifier\n"},"pipelines":{"type":"array","items":{"type":"string"},"description":"List of pipeline IDs to create webhooks for triggering test executions\n"},"project":{"type":"string","description":"Project identifier\n"},"providerConnector":{"type":"string","description":"Provider connector for testing purposes\n"},"provisionerType":{"type":"string","description":"Provisioner type for testing purposes (e.g., terraform, tofu)\n"},"provisionerVersion":{"type":"string","description":"Provisioner version for testing purposes\n"},"releasePipeline":{"type":"string","description":"Pipeline ID to create webhooks for releases\n"},"repository":{"type":"string","description":"For account connectors, the repository where the module is stored\n"},"repositoryBranch":{"type":"string","description":"Repository Branch in which the module should be accessed\n"},"repositoryCommit":{"type":"string","description":"Repository Commit in which the module should be accessed\n"},"repositoryConnector":{"type":"string","description":"Repository Connector is the reference to the connector for the repository\n"},"repositoryPath":{"type":"string","description":"Repository Path is the path in which the module resides\n"},"repositoryUrl":{"type":"string","description":"URL where the module is stored\n"},"synced":{"type":"integer","description":"Timestamp when the module was last synced\n"},"system":{"type":"string","description":"Provider of the module\n"},"tags":{"type":"string","description":"Tags associated with the module\n"},"testingEnabled":{"type":"boolean","description":"Whether testing is enabled for the module\n"},"testingMetadata":{"$ref":"#/types/harness:platform/InfraModuleTestingTestingMetadata:InfraModuleTestingTestingMetadata","description":"Testing metadata for the module\n"},"updated":{"type":"integer","description":"Timestamp when the module was last modified\n"},"versions":{"type":"array","items":{"type":"string"},"description":"Versions of the module\n"}},"type":"object"}},"harness:platform/infraProvider:InfraProvider":{"description":"Resource for managing Terraform/OpenTofu Providers in the IaCM Provider Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst aws = new harness.platform.InfraProvider(\"aws\", {\n    type: \"aws\",\n    description: \"AWS provider for IaCM\",\n});\nconst azurerm = new harness.platform.InfraProvider(\"azurerm\", {\n    type: \"azurerm\",\n    description: \"Azure provider for IaCM\",\n});\nconst google = new harness.platform.InfraProvider(\"google\", {\n    type: \"google\",\n    description: \"Google Cloud provider for IaCM\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\naws = harness.platform.InfraProvider(\"aws\",\n    type=\"aws\",\n    description=\"AWS provider for IaCM\")\nazurerm = harness.platform.InfraProvider(\"azurerm\",\n    type=\"azurerm\",\n    description=\"Azure provider for IaCM\")\ngoogle = harness.platform.InfraProvider(\"google\",\n    type=\"google\",\n    description=\"Google Cloud provider for IaCM\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var aws = new Harness.Platform.InfraProvider(\"aws\", new()\n    {\n        Type = \"aws\",\n        Description = \"AWS provider for IaCM\",\n    });\n\n    var azurerm = new Harness.Platform.InfraProvider(\"azurerm\", new()\n    {\n        Type = \"azurerm\",\n        Description = \"Azure provider for IaCM\",\n    });\n\n    var google = new Harness.Platform.InfraProvider(\"google\", new()\n    {\n        Type = \"google\",\n        Description = \"Google Cloud provider for IaCM\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewInfraProvider(ctx, \"aws\", \u0026platform.InfraProviderArgs{\n\t\t\tType:        pulumi.String(\"aws\"),\n\t\t\tDescription: pulumi.String(\"AWS provider for IaCM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewInfraProvider(ctx, \"azurerm\", \u0026platform.InfraProviderArgs{\n\t\t\tType:        pulumi.String(\"azurerm\"),\n\t\t\tDescription: pulumi.String(\"Azure provider for IaCM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewInfraProvider(ctx, \"google\", \u0026platform.InfraProviderArgs{\n\t\t\tType:        pulumi.String(\"google\"),\n\t\t\tDescription: pulumi.String(\"Google Cloud provider for IaCM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.InfraProvider;\nimport com.pulumi.harness.platform.InfraProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var aws = new InfraProvider(\"aws\", InfraProviderArgs.builder()\n            .type(\"aws\")\n            .description(\"AWS provider for IaCM\")\n            .build());\n\n        var azurerm = new InfraProvider(\"azurerm\", InfraProviderArgs.builder()\n            .type(\"azurerm\")\n            .description(\"Azure provider for IaCM\")\n            .build());\n\n        var google = new InfraProvider(\"google\", InfraProviderArgs.builder()\n            .type(\"google\")\n            .description(\"Google Cloud provider for IaCM\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  aws:\n    type: harness:platform:InfraProvider\n    properties:\n      type: aws\n      description: AWS provider for IaCM\n  azurerm:\n    type: harness:platform:InfraProvider\n    properties:\n      type: azurerm\n      description: Azure provider for IaCM\n  google:\n    type: harness:platform:InfraProvider\n    properties:\n      type: google\n      description: Google Cloud provider for IaCM\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import harness:platform/infraProvider:InfraProvider example \u003cprovider_id\u003e\n```\n\n","properties":{"account":{"type":"string","description":"Account that owns the provider.\n"},"created":{"type":"integer","description":"Timestamp when the provider was created.\n"},"description":{"type":"string","description":"Description of the provider.\n"},"type":{"type":"string","description":"Provider type (e.g., aws, azurerm, google).\n"},"updated":{"type":"integer","description":"Timestamp when the provider was last updated.\n"},"versions":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraProviderVersion:InfraProviderVersion"},"description":"List of provider versions.\n"}},"required":["account","created","type","updated","versions"],"inputProperties":{"description":{"type":"string","description":"Description of the provider.\n"},"type":{"type":"string","description":"Provider type (e.g., aws, azurerm, google).\n","willReplaceOnChanges":true}},"requiredInputs":["type"],"stateInputs":{"description":"Input properties used for looking up and filtering InfraProvider resources.\n","properties":{"account":{"type":"string","description":"Account that owns the provider.\n"},"created":{"type":"integer","description":"Timestamp when the provider was created.\n"},"description":{"type":"string","description":"Description of the provider.\n"},"type":{"type":"string","description":"Provider type (e.g., aws, azurerm, google).\n","willReplaceOnChanges":true},"updated":{"type":"integer","description":"Timestamp when the provider was last updated.\n"},"versions":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraProviderVersion:InfraProviderVersion"},"description":"List of provider versions.\n"}},"type":"object"}},"harness:platform/infraProviderSigningKey:InfraProviderSigningKey":{"description":"Resource for managing GPG Signing Keys for Terraform/OpenTofu Providers in the IaCM Provider Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.InfraProviderSigningKey(\"example\", {\n    keyId: \"51852D87348FFC4C\",\n    keyName: \"HashiCorp Security\",\n    user: \"security@example.com\",\n    asciiArmor: `-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGB9+xkBEACabYZOWKmgZsHTdRDiyPJxhbuUiKX65GUWkyRMJKi/1dviVxOX\nPG6hBPtF48IFnVgxKpIb7G6NjBousAV+CuLlv5yqFKpOZEGC6sBV+Gx8Vu1CICpl\nZm+HpQPcIzwBpN+Ar4l/exCG/f/MZq/oxGgH+TyRF3XcYDjG8dbJCpHO5nQ5Cy9h\nQIp3/Bh09kET6lk+4QlofNgHKVT2epV8iK1cXlbQe2tZtfCUtxk+pxvU0UHXp+AB\n0xc3/gIhjZp/dePmCOyQyGPJbp5bpO4UeAJ6frqhexmNlaw9Z897ltZmRLGq1p4a\nRnWL8FPkBz9SCSKXS8uNyV5oMNVn4G1obCkc106iWuKBTibffYQzq5TG8FYVJKrh\nRwWB6piacEB8hl20IIWSxIM3J9tT7CPSnk5RYYCTRHgA5OOrqZhC7JefudrP8n+M\npxkDgNORDu7GCfAuisrf7dXYjLsxG4tu22DBJJC0c/IpRpXDnOuJN1Q5e/3VUKKW\nmypNumuQpP5lc1ZFG64TRzb1HR6oIdHfbrVQfdiQXpvdcFx+Bc2WH9F/V+Y0Lfh0\np0oGG1esL/vSpKpKPcLTF5LqCzTbkXj8iFzLRlSMQxPqxJJhHpPnMOCLnNPAKKNi\nHt5vTpHYtPvVLQmQM3KcBqzWzYXvJFKPLXdBdDvVqKPvXjnKfJxLEZTYYQARAQAB\ntDdIYXNoaUNvcnAgU2VjdXJpdHkgKGhhc2hpY29ycC5jb20vc2VjdXJpdHkpIDxz\nZWN1cml0eUBoYXNoaWNvcnAuY29tPokCVAQTAQoAPhYhBMh0AR8KtAURDQIQVVlW\nXFz/7TQFBGB9+xkCGwMFCQPCZwAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ\nVlWXFz/7TQQbKQ//d9Iq+6QZJMqjJUGEXRZJQKJTYMTnKYBvTlLDNMmQbW7fwPSe\n+Kcr7Ck3Oc6ySMJWBJGfJHVJDKNkBwlPCqLOBzGjbfHHGLOZiMzxKmLLVPGwqbHZ\n-----END PGP PUBLIC KEY BLOCK-----\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.InfraProviderSigningKey(\"example\",\n    key_id=\"51852D87348FFC4C\",\n    key_name=\"HashiCorp Security\",\n    user=\"security@example.com\",\n    ascii_armor=\"\"\"-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGB9+xkBEACabYZOWKmgZsHTdRDiyPJxhbuUiKX65GUWkyRMJKi/1dviVxOX\nPG6hBPtF48IFnVgxKpIb7G6NjBousAV+CuLlv5yqFKpOZEGC6sBV+Gx8Vu1CICpl\nZm+HpQPcIzwBpN+Ar4l/exCG/f/MZq/oxGgH+TyRF3XcYDjG8dbJCpHO5nQ5Cy9h\nQIp3/Bh09kET6lk+4QlofNgHKVT2epV8iK1cXlbQe2tZtfCUtxk+pxvU0UHXp+AB\n0xc3/gIhjZp/dePmCOyQyGPJbp5bpO4UeAJ6frqhexmNlaw9Z897ltZmRLGq1p4a\nRnWL8FPkBz9SCSKXS8uNyV5oMNVn4G1obCkc106iWuKBTibffYQzq5TG8FYVJKrh\nRwWB6piacEB8hl20IIWSxIM3J9tT7CPSnk5RYYCTRHgA5OOrqZhC7JefudrP8n+M\npxkDgNORDu7GCfAuisrf7dXYjLsxG4tu22DBJJC0c/IpRpXDnOuJN1Q5e/3VUKKW\nmypNumuQpP5lc1ZFG64TRzb1HR6oIdHfbrVQfdiQXpvdcFx+Bc2WH9F/V+Y0Lfh0\np0oGG1esL/vSpKpKPcLTF5LqCzTbkXj8iFzLRlSMQxPqxJJhHpPnMOCLnNPAKKNi\nHt5vTpHYtPvVLQmQM3KcBqzWzYXvJFKPLXdBdDvVqKPvXjnKfJxLEZTYYQARAQAB\ntDdIYXNoaUNvcnAgU2VjdXJpdHkgKGhhc2hpY29ycC5jb20vc2VjdXJpdHkpIDxz\nZWN1cml0eUBoYXNoaWNvcnAuY29tPokCVAQTAQoAPhYhBMh0AR8KtAURDQIQVVlW\nXFz/7TQFBGB9+xkCGwMFCQPCZwAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ\nVlWXFz/7TQQbKQ//d9Iq+6QZJMqjJUGEXRZJQKJTYMTnKYBvTlLDNMmQbW7fwPSe\n+Kcr7Ck3Oc6ySMJWBJGfJHVJDKNkBwlPCqLOBzGjbfHHGLOZiMzxKmLLVPGwqbHZ\n-----END PGP PUBLIC KEY BLOCK-----\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.InfraProviderSigningKey(\"example\", new()\n    {\n        KeyId = \"51852D87348FFC4C\",\n        KeyName = \"HashiCorp Security\",\n        User = \"security@example.com\",\n        AsciiArmor = @\"-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGB9+xkBEACabYZOWKmgZsHTdRDiyPJxhbuUiKX65GUWkyRMJKi/1dviVxOX\nPG6hBPtF48IFnVgxKpIb7G6NjBousAV+CuLlv5yqFKpOZEGC6sBV+Gx8Vu1CICpl\nZm+HpQPcIzwBpN+Ar4l/exCG/f/MZq/oxGgH+TyRF3XcYDjG8dbJCpHO5nQ5Cy9h\nQIp3/Bh09kET6lk+4QlofNgHKVT2epV8iK1cXlbQe2tZtfCUtxk+pxvU0UHXp+AB\n0xc3/gIhjZp/dePmCOyQyGPJbp5bpO4UeAJ6frqhexmNlaw9Z897ltZmRLGq1p4a\nRnWL8FPkBz9SCSKXS8uNyV5oMNVn4G1obCkc106iWuKBTibffYQzq5TG8FYVJKrh\nRwWB6piacEB8hl20IIWSxIM3J9tT7CPSnk5RYYCTRHgA5OOrqZhC7JefudrP8n+M\npxkDgNORDu7GCfAuisrf7dXYjLsxG4tu22DBJJC0c/IpRpXDnOuJN1Q5e/3VUKKW\nmypNumuQpP5lc1ZFG64TRzb1HR6oIdHfbrVQfdiQXpvdcFx+Bc2WH9F/V+Y0Lfh0\np0oGG1esL/vSpKpKPcLTF5LqCzTbkXj8iFzLRlSMQxPqxJJhHpPnMOCLnNPAKKNi\nHt5vTpHYtPvVLQmQM3KcBqzWzYXvJFKPLXdBdDvVqKPvXjnKfJxLEZTYYQARAQAB\ntDdIYXNoaUNvcnAgU2VjdXJpdHkgKGhhc2hpY29ycC5jb20vc2VjdXJpdHkpIDxz\nZWN1cml0eUBoYXNoaWNvcnAuY29tPokCVAQTAQoAPhYhBMh0AR8KtAURDQIQVVlW\nXFz/7TQFBGB9+xkCGwMFCQPCZwAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ\nVlWXFz/7TQQbKQ//d9Iq+6QZJMqjJUGEXRZJQKJTYMTnKYBvTlLDNMmQbW7fwPSe\n+Kcr7Ck3Oc6ySMJWBJGfJHVJDKNkBwlPCqLOBzGjbfHHGLOZiMzxKmLLVPGwqbHZ\n-----END PGP PUBLIC KEY BLOCK-----\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewInfraProviderSigningKey(ctx, \"example\", \u0026platform.InfraProviderSigningKeyArgs{\n\t\t\tKeyId:   pulumi.String(\"51852D87348FFC4C\"),\n\t\t\tKeyName: pulumi.String(\"HashiCorp Security\"),\n\t\t\tUser:    pulumi.String(\"security@example.com\"),\n\t\t\tAsciiArmor: pulumi.String(`-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGB9+xkBEACabYZOWKmgZsHTdRDiyPJxhbuUiKX65GUWkyRMJKi/1dviVxOX\nPG6hBPtF48IFnVgxKpIb7G6NjBousAV+CuLlv5yqFKpOZEGC6sBV+Gx8Vu1CICpl\nZm+HpQPcIzwBpN+Ar4l/exCG/f/MZq/oxGgH+TyRF3XcYDjG8dbJCpHO5nQ5Cy9h\nQIp3/Bh09kET6lk+4QlofNgHKVT2epV8iK1cXlbQe2tZtfCUtxk+pxvU0UHXp+AB\n0xc3/gIhjZp/dePmCOyQyGPJbp5bpO4UeAJ6frqhexmNlaw9Z897ltZmRLGq1p4a\nRnWL8FPkBz9SCSKXS8uNyV5oMNVn4G1obCkc106iWuKBTibffYQzq5TG8FYVJKrh\nRwWB6piacEB8hl20IIWSxIM3J9tT7CPSnk5RYYCTRHgA5OOrqZhC7JefudrP8n+M\npxkDgNORDu7GCfAuisrf7dXYjLsxG4tu22DBJJC0c/IpRpXDnOuJN1Q5e/3VUKKW\nmypNumuQpP5lc1ZFG64TRzb1HR6oIdHfbrVQfdiQXpvdcFx+Bc2WH9F/V+Y0Lfh0\np0oGG1esL/vSpKpKPcLTF5LqCzTbkXj8iFzLRlSMQxPqxJJhHpPnMOCLnNPAKKNi\nHt5vTpHYtPvVLQmQM3KcBqzWzYXvJFKPLXdBdDvVqKPvXjnKfJxLEZTYYQARAQAB\ntDdIYXNoaUNvcnAgU2VjdXJpdHkgKGhhc2hpY29ycC5jb20vc2VjdXJpdHkpIDxz\nZWN1cml0eUBoYXNoaWNvcnAuY29tPokCVAQTAQoAPhYhBMh0AR8KtAURDQIQVVlW\nXFz/7TQFBGB9+xkCGwMFCQPCZwAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ\nVlWXFz/7TQQbKQ//d9Iq+6QZJMqjJUGEXRZJQKJTYMTnKYBvTlLDNMmQbW7fwPSe\n+Kcr7Ck3Oc6ySMJWBJGfJHVJDKNkBwlPCqLOBzGjbfHHGLOZiMzxKmLLVPGwqbHZ\n-----END PGP PUBLIC KEY BLOCK-----\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.InfraProviderSigningKey;\nimport com.pulumi.harness.platform.InfraProviderSigningKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new InfraProviderSigningKey(\"example\", InfraProviderSigningKeyArgs.builder()\n            .keyId(\"51852D87348FFC4C\")\n            .keyName(\"HashiCorp Security\")\n            .user(\"security@example.com\")\n            .asciiArmor(\"\"\"\n-----BEGIN PGP PUBLIC KEY BLOCK-----\n\nmQINBGB9+xkBEACabYZOWKmgZsHTdRDiyPJxhbuUiKX65GUWkyRMJKi/1dviVxOX\nPG6hBPtF48IFnVgxKpIb7G6NjBousAV+CuLlv5yqFKpOZEGC6sBV+Gx8Vu1CICpl\nZm+HpQPcIzwBpN+Ar4l/exCG/f/MZq/oxGgH+TyRF3XcYDjG8dbJCpHO5nQ5Cy9h\nQIp3/Bh09kET6lk+4QlofNgHKVT2epV8iK1cXlbQe2tZtfCUtxk+pxvU0UHXp+AB\n0xc3/gIhjZp/dePmCOyQyGPJbp5bpO4UeAJ6frqhexmNlaw9Z897ltZmRLGq1p4a\nRnWL8FPkBz9SCSKXS8uNyV5oMNVn4G1obCkc106iWuKBTibffYQzq5TG8FYVJKrh\nRwWB6piacEB8hl20IIWSxIM3J9tT7CPSnk5RYYCTRHgA5OOrqZhC7JefudrP8n+M\npxkDgNORDu7GCfAuisrf7dXYjLsxG4tu22DBJJC0c/IpRpXDnOuJN1Q5e/3VUKKW\nmypNumuQpP5lc1ZFG64TRzb1HR6oIdHfbrVQfdiQXpvdcFx+Bc2WH9F/V+Y0Lfh0\np0oGG1esL/vSpKpKPcLTF5LqCzTbkXj8iFzLRlSMQxPqxJJhHpPnMOCLnNPAKKNi\nHt5vTpHYtPvVLQmQM3KcBqzWzYXvJFKPLXdBdDvVqKPvXjnKfJxLEZTYYQARAQAB\ntDdIYXNoaUNvcnAgU2VjdXJpdHkgKGhhc2hpY29ycC5jb20vc2VjdXJpdHkpIDxz\nZWN1cml0eUBoYXNoaWNvcnAuY29tPokCVAQTAQoAPhYhBMh0AR8KtAURDQIQVVlW\nXFz/7TQFBGB9+xkCGwMFCQPCZwAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ\nVlWXFz/7TQQbKQ//d9Iq+6QZJMqjJUGEXRZJQKJTYMTnKYBvTlLDNMmQbW7fwPSe\n+Kcr7Ck3Oc6ySMJWBJGfJHVJDKNkBwlPCqLOBzGjbfHHGLOZiMzxKmLLVPGwqbHZ\n-----END PGP PUBLIC KEY BLOCK-----\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:InfraProviderSigningKey\n    properties:\n      keyId: 51852D87348FFC4C\n      keyName: HashiCorp Security\n      user: security@example.com\n      asciiArmor: |\n        -----BEGIN PGP PUBLIC KEY BLOCK-----\n\n        mQINBGB9+xkBEACabYZOWKmgZsHTdRDiyPJxhbuUiKX65GUWkyRMJKi/1dviVxOX\n        PG6hBPtF48IFnVgxKpIb7G6NjBousAV+CuLlv5yqFKpOZEGC6sBV+Gx8Vu1CICpl\n        Zm+HpQPcIzwBpN+Ar4l/exCG/f/MZq/oxGgH+TyRF3XcYDjG8dbJCpHO5nQ5Cy9h\n        QIp3/Bh09kET6lk+4QlofNgHKVT2epV8iK1cXlbQe2tZtfCUtxk+pxvU0UHXp+AB\n        0xc3/gIhjZp/dePmCOyQyGPJbp5bpO4UeAJ6frqhexmNlaw9Z897ltZmRLGq1p4a\n        RnWL8FPkBz9SCSKXS8uNyV5oMNVn4G1obCkc106iWuKBTibffYQzq5TG8FYVJKrh\n        RwWB6piacEB8hl20IIWSxIM3J9tT7CPSnk5RYYCTRHgA5OOrqZhC7JefudrP8n+M\n        pxkDgNORDu7GCfAuisrf7dXYjLsxG4tu22DBJJC0c/IpRpXDnOuJN1Q5e/3VUKKW\n        mypNumuQpP5lc1ZFG64TRzb1HR6oIdHfbrVQfdiQXpvdcFx+Bc2WH9F/V+Y0Lfh0\n        p0oGG1esL/vSpKpKPcLTF5LqCzTbkXj8iFzLRlSMQxPqxJJhHpPnMOCLnNPAKKNi\n        Ht5vTpHYtPvVLQmQM3KcBqzWzYXvJFKPLXdBdDvVqKPvXjnKfJxLEZTYYQARAQAB\n        tDdIYXNoaUNvcnAgU2VjdXJpdHkgKGhhc2hpY29ycC5jb20vc2VjdXJpdHkpIDxz\n        ZWN1cml0eUBoYXNoaWNvcnAuY29tPokCVAQTAQoAPhYhBMh0AR8KtAURDQIQVVlW\n        XFz/7TQFBGB9+xkCGwMFCQPCZwAFCwkIBwMFFQoJCAsFFgIDAQACHgECF4AACgkQ\n        VlWXFz/7TQQbKQ//d9Iq+6QZJMqjJUGEXRZJQKJTYMTnKYBvTlLDNMmQbW7fwPSe\n        +Kcr7Ck3Oc6ySMJWBJGfJHVJDKNkBwlPCqLOBzGjbfHHGLOZiMzxKmLLVPGwqbHZ\n        -----END PGP PUBLIC KEY BLOCK-----\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import harness:platform/infraProviderSigningKey:InfraProviderSigningKey example \u003csigning_key_id\u003e\n```\n\n","properties":{"asciiArmor":{"type":"string","description":"ASCII-armored GPG public key.\n","secret":true},"createdAt":{"type":"string","description":"Creation timestamp.\n"},"keyId":{"type":"string","description":"GPG key ID.\n"},"keyName":{"type":"string","description":"GPG key name.\n"},"updatedAt":{"type":"string","description":"Last updated timestamp.\n"},"user":{"type":"string","description":"User who uploaded the key.\n"}},"required":["asciiArmor","createdAt","keyId","keyName","updatedAt","user"],"inputProperties":{"asciiArmor":{"type":"string","description":"ASCII-armored GPG public key.\n","secret":true},"keyId":{"type":"string","description":"GPG key ID.\n","willReplaceOnChanges":true},"keyName":{"type":"string","description":"GPG key name.\n"},"user":{"type":"string","description":"User who uploaded the key.\n"}},"requiredInputs":["asciiArmor","keyId","keyName","user"],"stateInputs":{"description":"Input properties used for looking up and filtering InfraProviderSigningKey resources.\n","properties":{"asciiArmor":{"type":"string","description":"ASCII-armored GPG public key.\n","secret":true},"createdAt":{"type":"string","description":"Creation timestamp.\n"},"keyId":{"type":"string","description":"GPG key ID.\n","willReplaceOnChanges":true},"keyName":{"type":"string","description":"GPG key name.\n"},"updatedAt":{"type":"string","description":"Last updated timestamp.\n"},"user":{"type":"string","description":"User who uploaded the key.\n"}},"type":"object"}},"harness:platform/infraProviderVersion:InfraProviderVersion":{"description":"Resource for managing Terraform/OpenTofu Provider Versions in the IaCM Provider Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// First, create a provider\nconst aws = new harness.platform.InfraProvider(\"aws\", {\n    type: \"aws\",\n    description: \"AWS provider for IaCM\",\n});\n// Then create a version for that provider\nconst awsV5 = new harness.platform.InfraProviderVersion(\"aws_v5\", {\n    providerId: aws.id,\n    version: \"5.0.0\",\n    gpgKeyId: \"your-gpg-key-id\",\n    protocols: [\n        \"5.0\",\n        \"6.0\",\n    ],\n});\nconst awsV4 = new harness.platform.InfraProviderVersion(\"aws_v4\", {\n    providerId: aws.id,\n    version: \"4.67.0\",\n    gpgKeyId: \"your-gpg-key-id\",\n    protocols: [\"5.0\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# First, create a provider\naws = harness.platform.InfraProvider(\"aws\",\n    type=\"aws\",\n    description=\"AWS provider for IaCM\")\n# Then create a version for that provider\naws_v5 = harness.platform.InfraProviderVersion(\"aws_v5\",\n    provider_id=aws.id,\n    version=\"5.0.0\",\n    gpg_key_id=\"your-gpg-key-id\",\n    protocols=[\n        \"5.0\",\n        \"6.0\",\n    ])\naws_v4 = harness.platform.InfraProviderVersion(\"aws_v4\",\n    provider_id=aws.id,\n    version=\"4.67.0\",\n    gpg_key_id=\"your-gpg-key-id\",\n    protocols=[\"5.0\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // First, create a provider\n    var aws = new Harness.Platform.InfraProvider(\"aws\", new()\n    {\n        Type = \"aws\",\n        Description = \"AWS provider for IaCM\",\n    });\n\n    // Then create a version for that provider\n    var awsV5 = new Harness.Platform.InfraProviderVersion(\"aws_v5\", new()\n    {\n        ProviderId = aws.Id,\n        Version = \"5.0.0\",\n        GpgKeyId = \"your-gpg-key-id\",\n        Protocols = new[]\n        {\n            \"5.0\",\n            \"6.0\",\n        },\n    });\n\n    var awsV4 = new Harness.Platform.InfraProviderVersion(\"aws_v4\", new()\n    {\n        ProviderId = aws.Id,\n        Version = \"4.67.0\",\n        GpgKeyId = \"your-gpg-key-id\",\n        Protocols = new[]\n        {\n            \"5.0\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// First, create a provider\n\t\taws, err := platform.NewInfraProvider(ctx, \"aws\", \u0026platform.InfraProviderArgs{\n\t\t\tType:        pulumi.String(\"aws\"),\n\t\t\tDescription: pulumi.String(\"AWS provider for IaCM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Then create a version for that provider\n\t\t_, err = platform.NewInfraProviderVersion(ctx, \"aws_v5\", \u0026platform.InfraProviderVersionArgs{\n\t\t\tProviderId: aws.ID(),\n\t\t\tVersion:    pulumi.String(\"5.0.0\"),\n\t\t\tGpgKeyId:   pulumi.String(\"your-gpg-key-id\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"5.0\"),\n\t\t\t\tpulumi.String(\"6.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewInfraProviderVersion(ctx, \"aws_v4\", \u0026platform.InfraProviderVersionArgs{\n\t\t\tProviderId: aws.ID(),\n\t\t\tVersion:    pulumi.String(\"4.67.0\"),\n\t\t\tGpgKeyId:   pulumi.String(\"your-gpg-key-id\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"5.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.InfraProvider;\nimport com.pulumi.harness.platform.InfraProviderArgs;\nimport com.pulumi.harness.platform.InfraProviderVersion;\nimport com.pulumi.harness.platform.InfraProviderVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // First, create a provider\n        var aws = new InfraProvider(\"aws\", InfraProviderArgs.builder()\n            .type(\"aws\")\n            .description(\"AWS provider for IaCM\")\n            .build());\n\n        // Then create a version for that provider\n        var awsV5 = new InfraProviderVersion(\"awsV5\", InfraProviderVersionArgs.builder()\n            .providerId(aws.id())\n            .version(\"5.0.0\")\n            .gpgKeyId(\"your-gpg-key-id\")\n            .protocols(            \n                \"5.0\",\n                \"6.0\")\n            .build());\n\n        var awsV4 = new InfraProviderVersion(\"awsV4\", InfraProviderVersionArgs.builder()\n            .providerId(aws.id())\n            .version(\"4.67.0\")\n            .gpgKeyId(\"your-gpg-key-id\")\n            .protocols(\"5.0\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # First, create a provider\n  aws:\n    type: harness:platform:InfraProvider\n    properties:\n      type: aws\n      description: AWS provider for IaCM\n  # Then create a version for that provider\n  awsV5:\n    type: harness:platform:InfraProviderVersion\n    name: aws_v5\n    properties:\n      providerId: ${aws.id}\n      version: 5.0.0\n      gpgKeyId: your-gpg-key-id\n      protocols:\n        - '5.0'\n        - '6.0'\n  awsV4:\n    type: harness:platform:InfraProviderVersion\n    name: aws_v4\n    properties:\n      providerId: ${aws.id}\n      version: 4.67.0\n      gpgKeyId: your-gpg-key-id\n      protocols:\n        - '5.0'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import harness:platform/infraProviderVersion:InfraProviderVersion example \u003cprovider_id\u003e/\u003cversion\u003e\n```\n\n","properties":{"gpgKeyId":{"type":"string","description":"GPG key ID for signing.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"Supported Terraform protocol versions (e.g., ['5.0', '6.0']).\n"},"providerId":{"type":"string","description":"The ID of the provider this version belongs to.\n"},"version":{"type":"string","description":"Version number (e.g., 1.0.0).\n"}},"required":["gpgKeyId","protocols","providerId","version"],"inputProperties":{"gpgKeyId":{"type":"string","description":"GPG key ID for signing.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"Supported Terraform protocol versions (e.g., ['5.0', '6.0']).\n"},"providerId":{"type":"string","description":"The ID of the provider this version belongs to.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Version number (e.g., 1.0.0).\n","willReplaceOnChanges":true}},"requiredInputs":["gpgKeyId","protocols","providerId","version"],"stateInputs":{"description":"Input properties used for looking up and filtering InfraProviderVersion resources.\n","properties":{"gpgKeyId":{"type":"string","description":"GPG key ID for signing.\n"},"protocols":{"type":"array","items":{"type":"string"},"description":"Supported Terraform protocol versions (e.g., ['5.0', '6.0']).\n"},"providerId":{"type":"string","description":"The ID of the provider this version belongs to.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Version number (e.g., 1.0.0).\n","willReplaceOnChanges":true}},"type":"object"}},"harness:platform/infraProviderVersionFile:InfraProviderVersionFile":{"description":"Resource for uploading files to Terraform/OpenTofu Provider Versions in the IaCM Provider Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// First, create a provider\nconst aws = new harness.platform.InfraProvider(\"aws\", {\n    type: \"aws\",\n    description: \"AWS provider for IaCM\",\n});\n// Create a version\nconst awsV5 = new harness.platform.InfraProviderVersion(\"aws_v5\", {\n    providerId: aws.id,\n    version: \"5.0.0\",\n    gpgKeyId: \"your-gpg-key-id\",\n    protocols: [\n        \"5.0\",\n        \"6.0\",\n    ],\n});\n// Upload files for different platforms\nconst awsLinuxAmd64 = new harness.platform.InfraProviderVersionFile(\"aws_linux_amd64\", {\n    providerId: aws.id,\n    version: awsV5.version,\n    filePath: \"./terraform-provider-aws_5.0.0_linux_amd64.zip\",\n});\nconst awsDarwinAmd64 = new harness.platform.InfraProviderVersionFile(\"aws_darwin_amd64\", {\n    providerId: aws.id,\n    version: awsV5.version,\n    filePath: \"./terraform-provider-aws_5.0.0_darwin_amd64.zip\",\n});\nconst awsWindowsAmd64 = new harness.platform.InfraProviderVersionFile(\"aws_windows_amd64\", {\n    providerId: aws.id,\n    version: awsV5.version,\n    filePath: \"./terraform-provider-aws_5.0.0_windows_amd64.zip\",\n});\n// Upload SHA256SUMS and signature files\nconst awsShasums = new harness.platform.InfraProviderVersionFile(\"aws_shasums\", {\n    providerId: aws.id,\n    version: awsV5.version,\n    filePath: \"./terraform-provider-aws_5.0.0_SHA256SUMS\",\n});\nconst awsShasumsSig = new harness.platform.InfraProviderVersionFile(\"aws_shasums_sig\", {\n    providerId: aws.id,\n    version: awsV5.version,\n    filePath: \"./terraform-provider-aws_5.0.0_SHA256SUMS.sig\",\n});\n// Optional: Override the uploaded filename if different from local filename\nconst customName = new harness.platform.InfraProviderVersionFile(\"custom_name\", {\n    providerId: aws.id,\n    version: awsV5.version,\n    filePath: \"./local-file.zip\",\n    filename: \"terraform-provider-aws_5.0.0_custom.zip\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# First, create a provider\naws = harness.platform.InfraProvider(\"aws\",\n    type=\"aws\",\n    description=\"AWS provider for IaCM\")\n# Create a version\naws_v5 = harness.platform.InfraProviderVersion(\"aws_v5\",\n    provider_id=aws.id,\n    version=\"5.0.0\",\n    gpg_key_id=\"your-gpg-key-id\",\n    protocols=[\n        \"5.0\",\n        \"6.0\",\n    ])\n# Upload files for different platforms\naws_linux_amd64 = harness.platform.InfraProviderVersionFile(\"aws_linux_amd64\",\n    provider_id=aws.id,\n    version=aws_v5.version,\n    file_path=\"./terraform-provider-aws_5.0.0_linux_amd64.zip\")\naws_darwin_amd64 = harness.platform.InfraProviderVersionFile(\"aws_darwin_amd64\",\n    provider_id=aws.id,\n    version=aws_v5.version,\n    file_path=\"./terraform-provider-aws_5.0.0_darwin_amd64.zip\")\naws_windows_amd64 = harness.platform.InfraProviderVersionFile(\"aws_windows_amd64\",\n    provider_id=aws.id,\n    version=aws_v5.version,\n    file_path=\"./terraform-provider-aws_5.0.0_windows_amd64.zip\")\n# Upload SHA256SUMS and signature files\naws_shasums = harness.platform.InfraProviderVersionFile(\"aws_shasums\",\n    provider_id=aws.id,\n    version=aws_v5.version,\n    file_path=\"./terraform-provider-aws_5.0.0_SHA256SUMS\")\naws_shasums_sig = harness.platform.InfraProviderVersionFile(\"aws_shasums_sig\",\n    provider_id=aws.id,\n    version=aws_v5.version,\n    file_path=\"./terraform-provider-aws_5.0.0_SHA256SUMS.sig\")\n# Optional: Override the uploaded filename if different from local filename\ncustom_name = harness.platform.InfraProviderVersionFile(\"custom_name\",\n    provider_id=aws.id,\n    version=aws_v5.version,\n    file_path=\"./local-file.zip\",\n    filename=\"terraform-provider-aws_5.0.0_custom.zip\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // First, create a provider\n    var aws = new Harness.Platform.InfraProvider(\"aws\", new()\n    {\n        Type = \"aws\",\n        Description = \"AWS provider for IaCM\",\n    });\n\n    // Create a version\n    var awsV5 = new Harness.Platform.InfraProviderVersion(\"aws_v5\", new()\n    {\n        ProviderId = aws.Id,\n        Version = \"5.0.0\",\n        GpgKeyId = \"your-gpg-key-id\",\n        Protocols = new[]\n        {\n            \"5.0\",\n            \"6.0\",\n        },\n    });\n\n    // Upload files for different platforms\n    var awsLinuxAmd64 = new Harness.Platform.InfraProviderVersionFile(\"aws_linux_amd64\", new()\n    {\n        ProviderId = aws.Id,\n        Version = awsV5.Version,\n        FilePath = \"./terraform-provider-aws_5.0.0_linux_amd64.zip\",\n    });\n\n    var awsDarwinAmd64 = new Harness.Platform.InfraProviderVersionFile(\"aws_darwin_amd64\", new()\n    {\n        ProviderId = aws.Id,\n        Version = awsV5.Version,\n        FilePath = \"./terraform-provider-aws_5.0.0_darwin_amd64.zip\",\n    });\n\n    var awsWindowsAmd64 = new Harness.Platform.InfraProviderVersionFile(\"aws_windows_amd64\", new()\n    {\n        ProviderId = aws.Id,\n        Version = awsV5.Version,\n        FilePath = \"./terraform-provider-aws_5.0.0_windows_amd64.zip\",\n    });\n\n    // Upload SHA256SUMS and signature files\n    var awsShasums = new Harness.Platform.InfraProviderVersionFile(\"aws_shasums\", new()\n    {\n        ProviderId = aws.Id,\n        Version = awsV5.Version,\n        FilePath = \"./terraform-provider-aws_5.0.0_SHA256SUMS\",\n    });\n\n    var awsShasumsSig = new Harness.Platform.InfraProviderVersionFile(\"aws_shasums_sig\", new()\n    {\n        ProviderId = aws.Id,\n        Version = awsV5.Version,\n        FilePath = \"./terraform-provider-aws_5.0.0_SHA256SUMS.sig\",\n    });\n\n    // Optional: Override the uploaded filename if different from local filename\n    var customName = new Harness.Platform.InfraProviderVersionFile(\"custom_name\", new()\n    {\n        ProviderId = aws.Id,\n        Version = awsV5.Version,\n        FilePath = \"./local-file.zip\",\n        Filename = \"terraform-provider-aws_5.0.0_custom.zip\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// First, create a provider\n\t\taws, err := platform.NewInfraProvider(ctx, \"aws\", \u0026platform.InfraProviderArgs{\n\t\t\tType:        pulumi.String(\"aws\"),\n\t\t\tDescription: pulumi.String(\"AWS provider for IaCM\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a version\n\t\tawsV5, err := platform.NewInfraProviderVersion(ctx, \"aws_v5\", \u0026platform.InfraProviderVersionArgs{\n\t\t\tProviderId: aws.ID(),\n\t\t\tVersion:    pulumi.String(\"5.0.0\"),\n\t\t\tGpgKeyId:   pulumi.String(\"your-gpg-key-id\"),\n\t\t\tProtocols: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"5.0\"),\n\t\t\t\tpulumi.String(\"6.0\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Upload files for different platforms\n\t\t_, err = platform.NewInfraProviderVersionFile(ctx, \"aws_linux_amd64\", \u0026platform.InfraProviderVersionFileArgs{\n\t\t\tProviderId: aws.ID(),\n\t\t\tVersion:    awsV5.Version,\n\t\t\tFilePath:   pulumi.String(\"./terraform-provider-aws_5.0.0_linux_amd64.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewInfraProviderVersionFile(ctx, \"aws_darwin_amd64\", \u0026platform.InfraProviderVersionFileArgs{\n\t\t\tProviderId: aws.ID(),\n\t\t\tVersion:    awsV5.Version,\n\t\t\tFilePath:   pulumi.String(\"./terraform-provider-aws_5.0.0_darwin_amd64.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewInfraProviderVersionFile(ctx, \"aws_windows_amd64\", \u0026platform.InfraProviderVersionFileArgs{\n\t\t\tProviderId: aws.ID(),\n\t\t\tVersion:    awsV5.Version,\n\t\t\tFilePath:   pulumi.String(\"./terraform-provider-aws_5.0.0_windows_amd64.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Upload SHA256SUMS and signature files\n\t\t_, err = platform.NewInfraProviderVersionFile(ctx, \"aws_shasums\", \u0026platform.InfraProviderVersionFileArgs{\n\t\t\tProviderId: aws.ID(),\n\t\t\tVersion:    awsV5.Version,\n\t\t\tFilePath:   pulumi.String(\"./terraform-provider-aws_5.0.0_SHA256SUMS\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewInfraProviderVersionFile(ctx, \"aws_shasums_sig\", \u0026platform.InfraProviderVersionFileArgs{\n\t\t\tProviderId: aws.ID(),\n\t\t\tVersion:    awsV5.Version,\n\t\t\tFilePath:   pulumi.String(\"./terraform-provider-aws_5.0.0_SHA256SUMS.sig\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Optional: Override the uploaded filename if different from local filename\n\t\t_, err = platform.NewInfraProviderVersionFile(ctx, \"custom_name\", \u0026platform.InfraProviderVersionFileArgs{\n\t\t\tProviderId: aws.ID(),\n\t\t\tVersion:    awsV5.Version,\n\t\t\tFilePath:   pulumi.String(\"./local-file.zip\"),\n\t\t\tFilename:   pulumi.String(\"terraform-provider-aws_5.0.0_custom.zip\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.InfraProvider;\nimport com.pulumi.harness.platform.InfraProviderArgs;\nimport com.pulumi.harness.platform.InfraProviderVersion;\nimport com.pulumi.harness.platform.InfraProviderVersionArgs;\nimport com.pulumi.harness.platform.InfraProviderVersionFile;\nimport com.pulumi.harness.platform.InfraProviderVersionFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // First, create a provider\n        var aws = new InfraProvider(\"aws\", InfraProviderArgs.builder()\n            .type(\"aws\")\n            .description(\"AWS provider for IaCM\")\n            .build());\n\n        // Create a version\n        var awsV5 = new InfraProviderVersion(\"awsV5\", InfraProviderVersionArgs.builder()\n            .providerId(aws.id())\n            .version(\"5.0.0\")\n            .gpgKeyId(\"your-gpg-key-id\")\n            .protocols(            \n                \"5.0\",\n                \"6.0\")\n            .build());\n\n        // Upload files for different platforms\n        var awsLinuxAmd64 = new InfraProviderVersionFile(\"awsLinuxAmd64\", InfraProviderVersionFileArgs.builder()\n            .providerId(aws.id())\n            .version(awsV5.version())\n            .filePath(\"./terraform-provider-aws_5.0.0_linux_amd64.zip\")\n            .build());\n\n        var awsDarwinAmd64 = new InfraProviderVersionFile(\"awsDarwinAmd64\", InfraProviderVersionFileArgs.builder()\n            .providerId(aws.id())\n            .version(awsV5.version())\n            .filePath(\"./terraform-provider-aws_5.0.0_darwin_amd64.zip\")\n            .build());\n\n        var awsWindowsAmd64 = new InfraProviderVersionFile(\"awsWindowsAmd64\", InfraProviderVersionFileArgs.builder()\n            .providerId(aws.id())\n            .version(awsV5.version())\n            .filePath(\"./terraform-provider-aws_5.0.0_windows_amd64.zip\")\n            .build());\n\n        // Upload SHA256SUMS and signature files\n        var awsShasums = new InfraProviderVersionFile(\"awsShasums\", InfraProviderVersionFileArgs.builder()\n            .providerId(aws.id())\n            .version(awsV5.version())\n            .filePath(\"./terraform-provider-aws_5.0.0_SHA256SUMS\")\n            .build());\n\n        var awsShasumsSig = new InfraProviderVersionFile(\"awsShasumsSig\", InfraProviderVersionFileArgs.builder()\n            .providerId(aws.id())\n            .version(awsV5.version())\n            .filePath(\"./terraform-provider-aws_5.0.0_SHA256SUMS.sig\")\n            .build());\n\n        // Optional: Override the uploaded filename if different from local filename\n        var customName = new InfraProviderVersionFile(\"customName\", InfraProviderVersionFileArgs.builder()\n            .providerId(aws.id())\n            .version(awsV5.version())\n            .filePath(\"./local-file.zip\")\n            .filename(\"terraform-provider-aws_5.0.0_custom.zip\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # First, create a provider\n  aws:\n    type: harness:platform:InfraProvider\n    properties:\n      type: aws\n      description: AWS provider for IaCM\n  # Create a version\n  awsV5:\n    type: harness:platform:InfraProviderVersion\n    name: aws_v5\n    properties:\n      providerId: ${aws.id}\n      version: 5.0.0\n      gpgKeyId: your-gpg-key-id\n      protocols:\n        - '5.0'\n        - '6.0'\n  # Upload files for different platforms\n  awsLinuxAmd64:\n    type: harness:platform:InfraProviderVersionFile\n    name: aws_linux_amd64\n    properties:\n      providerId: ${aws.id}\n      version: ${awsV5.version}\n      filePath: ./terraform-provider-aws_5.0.0_linux_amd64.zip\n  awsDarwinAmd64:\n    type: harness:platform:InfraProviderVersionFile\n    name: aws_darwin_amd64\n    properties:\n      providerId: ${aws.id}\n      version: ${awsV5.version}\n      filePath: ./terraform-provider-aws_5.0.0_darwin_amd64.zip\n  awsWindowsAmd64:\n    type: harness:platform:InfraProviderVersionFile\n    name: aws_windows_amd64\n    properties:\n      providerId: ${aws.id}\n      version: ${awsV5.version}\n      filePath: ./terraform-provider-aws_5.0.0_windows_amd64.zip\n  # Upload SHA256SUMS and signature files\n  awsShasums:\n    type: harness:platform:InfraProviderVersionFile\n    name: aws_shasums\n    properties:\n      providerId: ${aws.id}\n      version: ${awsV5.version}\n      filePath: ./terraform-provider-aws_5.0.0_SHA256SUMS\n  awsShasumsSig:\n    type: harness:platform:InfraProviderVersionFile\n    name: aws_shasums_sig\n    properties:\n      providerId: ${aws.id}\n      version: ${awsV5.version}\n      filePath: ./terraform-provider-aws_5.0.0_SHA256SUMS.sig\n  # Optional: Override the uploaded filename if different from local filename\n  customName:\n    type: harness:platform:InfraProviderVersionFile\n    name: custom_name\n    properties:\n      providerId: ${aws.id}\n      version: ${awsV5.version}\n      filePath: ./local-file.zip\n      filename: terraform-provider-aws_5.0.0_custom.zip\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n## Notes\n\n- Files cannot be updated once uploaded. To change a file, you must delete and recreate the resource.\n- When \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e is provided, the resource reads the local file and uploads its content to the provider registry.\n- The \u003cspan pulumi-lang-nodejs=\"`filename`\" pulumi-lang-dotnet=\"`Filename`\" pulumi-lang-go=\"`filename`\" pulumi-lang-python=\"`filename`\" pulumi-lang-yaml=\"`filename`\" pulumi-lang-java=\"`filename`\"\u003e`filename`\u003c/span\u003e is automatically derived from \u003cspan pulumi-lang-nodejs=\"`filePath`\" pulumi-lang-dotnet=\"`FilePath`\" pulumi-lang-go=\"`filePath`\" pulumi-lang-python=\"`file_path`\" pulumi-lang-yaml=\"`filePath`\" pulumi-lang-java=\"`filePath`\"\u003e`file_path`\u003c/span\u003e if not explicitly provided.\n- Common files to upload include:\n  - Platform-specific provider binaries (e.g., `terraform-provider-aws_5.0.0_linux_amd64.zip`)\n  - SHA256SUMS file for verification\n  - SHA256SUMS.sig signature file for GPG verification\n- Files are uploaded as raw binary content with `Content-Type: application/octet-stream`.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import harness:platform/infraProviderVersionFile:InfraProviderVersionFile example \u003cprovider_id\u003e/\u003cversion\u003e/\u003cfilename\u003e\n```\n\n","properties":{"filePath":{"type":"string","description":"Local path to the file to upload. Required for uploading file content.\n"},"filename":{"type":"string","description":"Name of the file to upload (e.g., terraform-provider-aws*5.0.0*linux*amd64.zip). If not provided, will be derived from file*path. Use this to override the uploaded filename if it should differ from the local filename.\n"},"providerId":{"type":"string","description":"The ID of the provider.\n"},"synced":{"type":"boolean","description":"Indicates if the provider version is synced after file upload.\n"},"version":{"type":"string","description":"Provider version number.\n"}},"required":["filePath","providerId","synced","version"],"inputProperties":{"filePath":{"type":"string","description":"Local path to the file to upload. Required for uploading file content.\n","willReplaceOnChanges":true},"filename":{"type":"string","description":"Name of the file to upload (e.g., terraform-provider-aws*5.0.0*linux*amd64.zip). If not provided, will be derived from file*path. Use this to override the uploaded filename if it should differ from the local filename.\n","willReplaceOnChanges":true},"providerId":{"type":"string","description":"The ID of the provider.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Provider version number.\n","willReplaceOnChanges":true}},"requiredInputs":["filePath","providerId","version"],"stateInputs":{"description":"Input properties used for looking up and filtering InfraProviderVersionFile resources.\n","properties":{"filePath":{"type":"string","description":"Local path to the file to upload. Required for uploading file content.\n","willReplaceOnChanges":true},"filename":{"type":"string","description":"Name of the file to upload (e.g., terraform-provider-aws*5.0.0*linux*amd64.zip). If not provided, will be derived from file*path. Use this to override the uploaded filename if it should differ from the local filename.\n","willReplaceOnChanges":true},"providerId":{"type":"string","description":"The ID of the provider.\n","willReplaceOnChanges":true},"synced":{"type":"boolean","description":"Indicates if the provider version is synced after file upload.\n"},"version":{"type":"string","description":"Provider version number.\n","willReplaceOnChanges":true}},"type":"object"}},"harness:platform/infraProviderVersionPublish:InfraProviderVersionPublish":{"description":"Resource for publishing Terraform/OpenTofu Provider Versions in the IaCM Provider Registry. Publishing makes the provider version available for use.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import harness:platform/infraProviderVersionPublish:InfraProviderVersionPublish example \u003cprovider_id\u003e/\u003cversion\u003e\n```\n\n","properties":{"providerId":{"type":"string","description":"The ID of the provider.\n"},"published":{"type":"boolean","description":"Indicates if the provider version is published.\n"},"version":{"type":"string","description":"Provider version number to publish.\n"}},"required":["providerId","published","version"],"inputProperties":{"providerId":{"type":"string","description":"The ID of the provider.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Provider version number to publish.\n","willReplaceOnChanges":true}},"requiredInputs":["providerId","version"],"stateInputs":{"description":"Input properties used for looking up and filtering InfraProviderVersionPublish resources.\n","properties":{"providerId":{"type":"string","description":"The ID of the provider.\n","willReplaceOnChanges":true},"published":{"type":"boolean","description":"Indicates if the provider version is published.\n"},"version":{"type":"string","description":"Provider version number to publish.\n","willReplaceOnChanges":true}},"type":"object"}},"harness:platform/infraVariableSet:InfraVariableSet":{"description":"Resource for managing Variable Sets\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.InfraVariableSet(\"example\", {\n    identifier: \"example\",\n    name: \"example\",\n    orgId: test.id,\n    projectId: testHarnessPlatformProject.id,\n    description: \"some description\",\n    environmentVariables: [\n        {\n            key: \"key1\",\n            value: \"value1\",\n            valueType: \"string\",\n        },\n        {\n            key: \"key2\",\n            value: \"harness_platform_secret_text.test.id\",\n            valueType: \"secret\",\n        },\n    ],\n    terraformVariables: [\n        {\n            key: \"key1\",\n            value: \"1111\",\n            valueType: \"string\",\n        },\n        {\n            key: \"key2\",\n            value: \"1111u\",\n            valueType: \"string\",\n        },\n    ],\n    terraformVariableFiles: [\n        {\n            repository: \"https://github.com/org/repo\",\n            repositoryBranch: \"main\",\n            repositoryPath: \"tf/aws/basic\",\n            repositoryConnector: \"harness_platform_connector_github.test.id\",\n        },\n        {\n            repository: \"https://github.com/org/repo\",\n            repositoryBranch: \"br2\",\n            repositoryPath: \"tf/aws/basic\",\n            repositoryConnector: \"harness_platform_connector_github.test.id\",\n        },\n    ],\n    connectors: [\n        {\n            connectorRef: \"harness_platform_connector_aws.test.id\",\n            type: \"aws\",\n        },\n        {\n            connectorRef: \"harness_platform_connector_azure.test.id\",\n            type: \"azure\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.InfraVariableSet(\"example\",\n    identifier=\"example\",\n    name=\"example\",\n    org_id=test[\"id\"],\n    project_id=test_harness_platform_project[\"id\"],\n    description=\"some description\",\n    environment_variables=[\n        {\n            \"key\": \"key1\",\n            \"value\": \"value1\",\n            \"value_type\": \"string\",\n        },\n        {\n            \"key\": \"key2\",\n            \"value\": \"harness_platform_secret_text.test.id\",\n            \"value_type\": \"secret\",\n        },\n    ],\n    terraform_variables=[\n        {\n            \"key\": \"key1\",\n            \"value\": \"1111\",\n            \"value_type\": \"string\",\n        },\n        {\n            \"key\": \"key2\",\n            \"value\": \"1111u\",\n            \"value_type\": \"string\",\n        },\n    ],\n    terraform_variable_files=[\n        {\n            \"repository\": \"https://github.com/org/repo\",\n            \"repository_branch\": \"main\",\n            \"repository_path\": \"tf/aws/basic\",\n            \"repository_connector\": \"harness_platform_connector_github.test.id\",\n        },\n        {\n            \"repository\": \"https://github.com/org/repo\",\n            \"repository_branch\": \"br2\",\n            \"repository_path\": \"tf/aws/basic\",\n            \"repository_connector\": \"harness_platform_connector_github.test.id\",\n        },\n    ],\n    connectors=[\n        {\n            \"connector_ref\": \"harness_platform_connector_aws.test.id\",\n            \"type\": \"aws\",\n        },\n        {\n            \"connector_ref\": \"harness_platform_connector_azure.test.id\",\n            \"type\": \"azure\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.InfraVariableSet(\"example\", new()\n    {\n        Identifier = \"example\",\n        Name = \"example\",\n        OrgId = test.Id,\n        ProjectId = testHarnessPlatformProject.Id,\n        Description = \"some description\",\n        EnvironmentVariables = new[]\n        {\n            new Harness.Platform.Inputs.InfraVariableSetEnvironmentVariableArgs\n            {\n                Key = \"key1\",\n                Value = \"value1\",\n                ValueType = \"string\",\n            },\n            new Harness.Platform.Inputs.InfraVariableSetEnvironmentVariableArgs\n            {\n                Key = \"key2\",\n                Value = \"harness_platform_secret_text.test.id\",\n                ValueType = \"secret\",\n            },\n        },\n        TerraformVariables = new[]\n        {\n            new Harness.Platform.Inputs.InfraVariableSetTerraformVariableArgs\n            {\n                Key = \"key1\",\n                Value = \"1111\",\n                ValueType = \"string\",\n            },\n            new Harness.Platform.Inputs.InfraVariableSetTerraformVariableArgs\n            {\n                Key = \"key2\",\n                Value = \"1111u\",\n                ValueType = \"string\",\n            },\n        },\n        TerraformVariableFiles = new[]\n        {\n            new Harness.Platform.Inputs.InfraVariableSetTerraformVariableFileArgs\n            {\n                Repository = \"https://github.com/org/repo\",\n                RepositoryBranch = \"main\",\n                RepositoryPath = \"tf/aws/basic\",\n                RepositoryConnector = \"harness_platform_connector_github.test.id\",\n            },\n            new Harness.Platform.Inputs.InfraVariableSetTerraformVariableFileArgs\n            {\n                Repository = \"https://github.com/org/repo\",\n                RepositoryBranch = \"br2\",\n                RepositoryPath = \"tf/aws/basic\",\n                RepositoryConnector = \"harness_platform_connector_github.test.id\",\n            },\n        },\n        Connectors = new[]\n        {\n            new Harness.Platform.Inputs.InfraVariableSetConnectorArgs\n            {\n                ConnectorRef = \"harness_platform_connector_aws.test.id\",\n                Type = \"aws\",\n            },\n            new Harness.Platform.Inputs.InfraVariableSetConnectorArgs\n            {\n                ConnectorRef = \"harness_platform_connector_azure.test.id\",\n                Type = \"azure\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewInfraVariableSet(ctx, \"example\", \u0026platform.InfraVariableSetArgs{\n\t\t\tIdentifier:  pulumi.String(\"example\"),\n\t\t\tName:        pulumi.String(\"example\"),\n\t\t\tOrgId:       pulumi.Any(test.Id),\n\t\t\tProjectId:   pulumi.Any(testHarnessPlatformProject.Id),\n\t\t\tDescription: pulumi.String(\"some description\"),\n\t\t\tEnvironmentVariables: platform.InfraVariableSetEnvironmentVariableArray{\n\t\t\t\t\u0026platform.InfraVariableSetEnvironmentVariableArgs{\n\t\t\t\t\tKey:       pulumi.String(\"key1\"),\n\t\t\t\t\tValue:     pulumi.String(\"value1\"),\n\t\t\t\t\tValueType: pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.InfraVariableSetEnvironmentVariableArgs{\n\t\t\t\t\tKey:       pulumi.String(\"key2\"),\n\t\t\t\t\tValue:     pulumi.String(\"harness_platform_secret_text.test.id\"),\n\t\t\t\t\tValueType: pulumi.String(\"secret\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTerraformVariables: platform.InfraVariableSetTerraformVariableArray{\n\t\t\t\t\u0026platform.InfraVariableSetTerraformVariableArgs{\n\t\t\t\t\tKey:       pulumi.String(\"key1\"),\n\t\t\t\t\tValue:     pulumi.String(\"1111\"),\n\t\t\t\t\tValueType: pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.InfraVariableSetTerraformVariableArgs{\n\t\t\t\t\tKey:       pulumi.String(\"key2\"),\n\t\t\t\t\tValue:     pulumi.String(\"1111u\"),\n\t\t\t\t\tValueType: pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTerraformVariableFiles: platform.InfraVariableSetTerraformVariableFileArray{\n\t\t\t\t\u0026platform.InfraVariableSetTerraformVariableFileArgs{\n\t\t\t\t\tRepository:          pulumi.String(\"https://github.com/org/repo\"),\n\t\t\t\t\tRepositoryBranch:    pulumi.String(\"main\"),\n\t\t\t\t\tRepositoryPath:      pulumi.String(\"tf/aws/basic\"),\n\t\t\t\t\tRepositoryConnector: pulumi.String(\"harness_platform_connector_github.test.id\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.InfraVariableSetTerraformVariableFileArgs{\n\t\t\t\t\tRepository:          pulumi.String(\"https://github.com/org/repo\"),\n\t\t\t\t\tRepositoryBranch:    pulumi.String(\"br2\"),\n\t\t\t\t\tRepositoryPath:      pulumi.String(\"tf/aws/basic\"),\n\t\t\t\t\tRepositoryConnector: pulumi.String(\"harness_platform_connector_github.test.id\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tConnectors: platform.InfraVariableSetConnectorArray{\n\t\t\t\t\u0026platform.InfraVariableSetConnectorArgs{\n\t\t\t\t\tConnectorRef: pulumi.String(\"harness_platform_connector_aws.test.id\"),\n\t\t\t\t\tType:         pulumi.String(\"aws\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.InfraVariableSetConnectorArgs{\n\t\t\t\t\tConnectorRef: pulumi.String(\"harness_platform_connector_azure.test.id\"),\n\t\t\t\t\tType:         pulumi.String(\"azure\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.InfraVariableSet;\nimport com.pulumi.harness.platform.InfraVariableSetArgs;\nimport com.pulumi.harness.platform.inputs.InfraVariableSetEnvironmentVariableArgs;\nimport com.pulumi.harness.platform.inputs.InfraVariableSetTerraformVariableArgs;\nimport com.pulumi.harness.platform.inputs.InfraVariableSetTerraformVariableFileArgs;\nimport com.pulumi.harness.platform.inputs.InfraVariableSetConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new InfraVariableSet(\"example\", InfraVariableSetArgs.builder()\n            .identifier(\"example\")\n            .name(\"example\")\n            .orgId(test.id())\n            .projectId(testHarnessPlatformProject.id())\n            .description(\"some description\")\n            .environmentVariables(            \n                InfraVariableSetEnvironmentVariableArgs.builder()\n                    .key(\"key1\")\n                    .value(\"value1\")\n                    .valueType(\"string\")\n                    .build(),\n                InfraVariableSetEnvironmentVariableArgs.builder()\n                    .key(\"key2\")\n                    .value(\"harness_platform_secret_text.test.id\")\n                    .valueType(\"secret\")\n                    .build())\n            .terraformVariables(            \n                InfraVariableSetTerraformVariableArgs.builder()\n                    .key(\"key1\")\n                    .value(\"1111\")\n                    .valueType(\"string\")\n                    .build(),\n                InfraVariableSetTerraformVariableArgs.builder()\n                    .key(\"key2\")\n                    .value(\"1111u\")\n                    .valueType(\"string\")\n                    .build())\n            .terraformVariableFiles(            \n                InfraVariableSetTerraformVariableFileArgs.builder()\n                    .repository(\"https://github.com/org/repo\")\n                    .repositoryBranch(\"main\")\n                    .repositoryPath(\"tf/aws/basic\")\n                    .repositoryConnector(\"harness_platform_connector_github.test.id\")\n                    .build(),\n                InfraVariableSetTerraformVariableFileArgs.builder()\n                    .repository(\"https://github.com/org/repo\")\n                    .repositoryBranch(\"br2\")\n                    .repositoryPath(\"tf/aws/basic\")\n                    .repositoryConnector(\"harness_platform_connector_github.test.id\")\n                    .build())\n            .connectors(            \n                InfraVariableSetConnectorArgs.builder()\n                    .connectorRef(\"harness_platform_connector_aws.test.id\")\n                    .type(\"aws\")\n                    .build(),\n                InfraVariableSetConnectorArgs.builder()\n                    .connectorRef(\"harness_platform_connector_azure.test.id\")\n                    .type(\"azure\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:InfraVariableSet\n    properties:\n      identifier: example\n      name: example\n      orgId: ${test.id}\n      projectId: ${testHarnessPlatformProject.id}\n      description: some description\n      environmentVariables:\n        - key: key1\n          value: value1\n          valueType: string\n        - key: key2\n          value: harness_platform_secret_text.test.id\n          valueType: secret\n      terraformVariables:\n        - key: key1\n          value: '1111'\n          valueType: string\n        - key: key2\n          value: 1111u\n          valueType: string\n      terraformVariableFiles:\n        - repository: https://github.com/org/repo\n          repositoryBranch: main\n          repositoryPath: tf/aws/basic\n          repositoryConnector: harness_platform_connector_github.test.id\n        - repository: https://github.com/org/repo\n          repositoryBranch: br2\n          repositoryPath: tf/aws/basic\n          repositoryConnector: harness_platform_connector_github.test.id\n      connectors:\n        - connectorRef: harness_platform_connector_aws.test.id\n          type: aws\n        - connectorRef: harness_platform_connector_azure.test.id\n          type: azure\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level variable set\n\n```sh\n$ pulumi import harness:platform/infraVariableSet:InfraVariableSet example \u003cvariable_set_id\u003e\n```\n\nImport org level variable set\n\n```sh\n$ pulumi import harness:platform/infraVariableSet:InfraVariableSet example \u003cord_id\u003e/\u003cvariable_set_id\u003e\n```\n\nImport project level variable set\n\n```sh\n$ pulumi import harness:platform/infraVariableSet:InfraVariableSet example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cvariable_set_id\u003e\n```\n\n","properties":{"connectors":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetConnector:InfraVariableSetConnector"},"description":"Provider connectors configured on the Variable Set. Only one connector of a type is supported\n"},"description":{"type":"string","description":"Description of the resource.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetEnvironmentVariable:InfraVariableSetEnvironmentVariable"},"description":"Environment variables configured on the Variable Set\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"terraformVariableFiles":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetTerraformVariableFile:InfraVariableSetTerraformVariableFile"},"description":"Terraform variables files configured on the Variable Set (see below for nested schema)\n"},"terraformVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetTerraformVariable:InfraVariableSetTerraformVariable"},"description":"Terraform variables configured on the Variable Set. Terraform variable keys must be unique within the Variable Set. (see below for nested schema)\n"}},"required":["identifier","name"],"inputProperties":{"connectors":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetConnector:InfraVariableSetConnector"},"description":"Provider connectors configured on the Variable Set. Only one connector of a type is supported\n"},"description":{"type":"string","description":"Description of the resource.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetEnvironmentVariable:InfraVariableSetEnvironmentVariable"},"description":"Environment variables configured on the Variable Set\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"terraformVariableFiles":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetTerraformVariableFile:InfraVariableSetTerraformVariableFile"},"description":"Terraform variables files configured on the Variable Set (see below for nested schema)\n"},"terraformVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetTerraformVariable:InfraVariableSetTerraformVariable"},"description":"Terraform variables configured on the Variable Set. Terraform variable keys must be unique within the Variable Set. (see below for nested schema)\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering InfraVariableSet resources.\n","properties":{"connectors":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetConnector:InfraVariableSetConnector"},"description":"Provider connectors configured on the Variable Set. Only one connector of a type is supported\n"},"description":{"type":"string","description":"Description of the resource.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetEnvironmentVariable:InfraVariableSetEnvironmentVariable"},"description":"Environment variables configured on the Variable Set\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"terraformVariableFiles":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetTerraformVariableFile:InfraVariableSetTerraformVariableFile"},"description":"Terraform variables files configured on the Variable Set (see below for nested schema)\n"},"terraformVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/InfraVariableSetTerraformVariable:InfraVariableSetTerraformVariable"},"description":"Terraform variables configured on the Variable Set. Terraform variable keys must be unique within the Variable Set. (see below for nested schema)\n"}},"type":"object"}},"harness:platform/infrastructure:Infrastructure":{"description":"Resource for creating a Harness Infrastructure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.Infrastructure(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"orgIdentifer\",\n    projectId: \"projectIdentifier\",\n    envId: \"environmentIdentifier\",\n    type: \"KubernetesDirect\",\n    deploymentType: \"Kubernetes\",\n    gitDetails: {\n        branchName: \"branchName\",\n        commitMessage: \"commitMessage\",\n        filePath: \"filePath\",\n        connectorRef: \"connectorRef\",\n        storeType: \"REMOTE\",\n        repoName: \"repoName\",\n    },\n    yaml: `infrastructureDefinition:\n name: name\n identifier: identifier\n description: \\\\\"\\\\\"\n tags:\n   asda: \\\\\"\\\\\"\n orgIdentifier: orgIdentifer\n projectIdentifier: projectIdentifier\n environmentRef: environmentIdentifier\n deploymentType: Kubernetes\n type: KubernetesDirect\n spec:\n  connectorRef: account.gfgf\n  namespace: asdasdsa\n  releaseName: release-\u003c+INFRA_KEY\u003e\n  allowSimultaneousDeployments: false\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.Infrastructure(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"orgIdentifer\",\n    project_id=\"projectIdentifier\",\n    env_id=\"environmentIdentifier\",\n    type=\"KubernetesDirect\",\n    deployment_type=\"Kubernetes\",\n    git_details={\n        \"branch_name\": \"branchName\",\n        \"commit_message\": \"commitMessage\",\n        \"file_path\": \"filePath\",\n        \"connector_ref\": \"connectorRef\",\n        \"store_type\": \"REMOTE\",\n        \"repo_name\": \"repoName\",\n    },\n    yaml=\"\"\"infrastructureDefinition:\n name: name\n identifier: identifier\n description: \\\"\\\"\n tags:\n   asda: \\\"\\\"\n orgIdentifier: orgIdentifer\n projectIdentifier: projectIdentifier\n environmentRef: environmentIdentifier\n deploymentType: Kubernetes\n type: KubernetesDirect\n spec:\n  connectorRef: account.gfgf\n  namespace: asdasdsa\n  releaseName: release-\u003c+INFRA_KEY\u003e\n  allowSimultaneousDeployments: false\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.Infrastructure(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"orgIdentifer\",\n        ProjectId = \"projectIdentifier\",\n        EnvId = \"environmentIdentifier\",\n        Type = \"KubernetesDirect\",\n        DeploymentType = \"Kubernetes\",\n        GitDetails = new Harness.Platform.Inputs.InfrastructureGitDetailsArgs\n        {\n            BranchName = \"branchName\",\n            CommitMessage = \"commitMessage\",\n            FilePath = \"filePath\",\n            ConnectorRef = \"connectorRef\",\n            StoreType = \"REMOTE\",\n            RepoName = \"repoName\",\n        },\n        Yaml = @\"infrastructureDefinition:\n name: name\n identifier: identifier\n description: \\\"\"\\\"\"\n tags:\n   asda: \\\"\"\\\"\"\n orgIdentifier: orgIdentifer\n projectIdentifier: projectIdentifier\n environmentRef: environmentIdentifier\n deploymentType: Kubernetes\n type: KubernetesDirect\n spec:\n  connectorRef: account.gfgf\n  namespace: asdasdsa\n  releaseName: release-\u003c+INFRA_KEY\u003e\n  allowSimultaneousDeployments: false\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewInfrastructure(ctx, \"example\", \u0026platform.InfrastructureArgs{\n\t\t\tIdentifier:     pulumi.String(\"identifier\"),\n\t\t\tName:           pulumi.String(\"name\"),\n\t\t\tOrgId:          pulumi.String(\"orgIdentifer\"),\n\t\t\tProjectId:      pulumi.String(\"projectIdentifier\"),\n\t\t\tEnvId:          pulumi.String(\"environmentIdentifier\"),\n\t\t\tType:           pulumi.String(\"KubernetesDirect\"),\n\t\t\tDeploymentType: pulumi.String(\"Kubernetes\"),\n\t\t\tGitDetails: \u0026platform.InfrastructureGitDetailsArgs{\n\t\t\t\tBranchName:    \"branchName\",\n\t\t\t\tCommitMessage: pulumi.String(\"commitMessage\"),\n\t\t\t\tFilePath:      pulumi.String(\"filePath\"),\n\t\t\t\tConnectorRef:  pulumi.String(\"connectorRef\"),\n\t\t\t\tStoreType:     pulumi.String(\"REMOTE\"),\n\t\t\t\tRepoName:      pulumi.String(\"repoName\"),\n\t\t\t},\n\t\t\tYaml: pulumi.String(`infrastructureDefinition:\n name: name\n identifier: identifier\n description: \\\"\\\"\n tags:\n   asda: \\\"\\\"\n orgIdentifier: orgIdentifer\n projectIdentifier: projectIdentifier\n environmentRef: environmentIdentifier\n deploymentType: Kubernetes\n type: KubernetesDirect\n spec:\n  connectorRef: account.gfgf\n  namespace: asdasdsa\n  releaseName: release-\u003c+INFRA_KEY\u003e\n  allowSimultaneousDeployments: false\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Infrastructure;\nimport com.pulumi.harness.platform.InfrastructureArgs;\nimport com.pulumi.harness.platform.inputs.InfrastructureGitDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Infrastructure(\"example\", InfrastructureArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"orgIdentifer\")\n            .projectId(\"projectIdentifier\")\n            .envId(\"environmentIdentifier\")\n            .type(\"KubernetesDirect\")\n            .deploymentType(\"Kubernetes\")\n            .gitDetails(InfrastructureGitDetailsArgs.builder()\n                .branchName(\"branchName\")\n                .commitMessage(\"commitMessage\")\n                .filePath(\"filePath\")\n                .connectorRef(\"connectorRef\")\n                .storeType(\"REMOTE\")\n                .repoName(\"repoName\")\n                .build())\n            .yaml(\"\"\"\ninfrastructureDefinition:\n name: name\n identifier: identifier\n description: \\\"\\\"\n tags:\n   asda: \\\"\\\"\n orgIdentifier: orgIdentifer\n projectIdentifier: projectIdentifier\n environmentRef: environmentIdentifier\n deploymentType: Kubernetes\n type: KubernetesDirect\n spec:\n  connectorRef: account.gfgf\n  namespace: asdasdsa\n  releaseName: release-\u003c+INFRA_KEY\u003e\n  allowSimultaneousDeployments: false\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:Infrastructure\n    properties:\n      identifier: identifier\n      name: name\n      orgId: orgIdentifer\n      projectId: projectIdentifier\n      envId: environmentIdentifier\n      type: KubernetesDirect\n      deploymentType: Kubernetes\n      gitDetails:\n        branchName: branchName\n        commitMessage: commitMessage\n        filePath: filePath\n        connectorRef: connectorRef\n        storeType: REMOTE\n        repoName: repoName\n      yaml: |\n        infrastructureDefinition:\n         name: name\n         identifier: identifier\n         description: \\\"\\\"\n         tags:\n           asda: \\\"\\\"\n         orgIdentifier: orgIdentifer\n         projectIdentifier: projectIdentifier\n         environmentRef: environmentIdentifier\n         deploymentType: Kubernetes\n         type: KubernetesDirect\n         spec:\n          connectorRef: account.gfgf\n          namespace: asdasdsa\n          releaseName: release-\u003c+INFRA_KEY\u003e\n          allowSimultaneousDeployments: false\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level infrastructure\n\n```sh\n$ pulumi import harness:platform/infrastructure:Infrastructure example \u003cenv_id\u003e/\u003cinfrastructure_id\u003e\n```\n\nImport org level infrastructure\n\n```sh\n$ pulumi import harness:platform/infrastructure:Infrastructure example \u003corg_id\u003e/\u003cenv_id\u003e/\u003cinfrastructure_id\u003e\n```\n\nImport project level infrastructure\n\n```sh\n$ pulumi import harness:platform/infrastructure:Infrastructure example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cenv_id\u003e/\u003cinfrastructure_id\u003e\n```\n\n","properties":{"deploymentType":{"type":"string","description":"Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS, GoogleManagedInstanceGroup.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"envId":{"type":"string","description":"Environment Identifier.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of infrastructure\n"},"gitDetails":{"$ref":"#/types/harness:platform/InfrastructureGitDetails:InfrastructureGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM, GoogleManagedInstanceGroup.\n"},"yaml":{"type":"string","description":"Infrastructure YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"required":["deploymentType","description","envId","forceDelete","gitDetails","name","tags"],"inputProperties":{"deploymentType":{"type":"string","description":"Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS, GoogleManagedInstanceGroup.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"envId":{"type":"string","description":"Environment Identifier.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of infrastructure\n"},"gitDetails":{"$ref":"#/types/harness:platform/InfrastructureGitDetails:InfrastructureGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM, GoogleManagedInstanceGroup.\n"},"yaml":{"type":"string","description":"Infrastructure YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"requiredInputs":["envId"],"stateInputs":{"description":"Input properties used for looking up and filtering Infrastructure resources.\n","properties":{"deploymentType":{"type":"string","description":"Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS, GoogleManagedInstanceGroup.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"envId":{"type":"string","description":"Environment Identifier.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of infrastructure\n"},"gitDetails":{"$ref":"#/types/harness:platform/InfrastructureGitDetails:InfrastructureGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM, GoogleManagedInstanceGroup.\n"},"yaml":{"type":"string","description":"Infrastructure YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"type":"object"}},"harness:platform/inputSet:InputSet":{"description":"Resource for creating a Harness InputSet.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport input set\n\n```sh\n$ pulumi import harness:platform/inputSet:InputSet example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cpipeline_id\u003e/\u003cinput_set_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"gitDetails":{"$ref":"#/types/harness:platform/InputSetGitDetails:InputSetGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"gitImportInfo":{"$ref":"#/types/harness:platform/InputSetGitImportInfo:InputSetGitImportInfo","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"inputSetImportRequest":{"$ref":"#/types/harness:platform/InputSetInputSetImportRequest:InputSetInputSetImportRequest","description":"Contains parameters for importing a input set\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"pipelineId":{"type":"string","description":"Identifier of the pipeline\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"yaml":{"type":"string","description":"Input Set YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"required":["gitDetails","identifier","name","orgId","pipelineId","projectId","yaml"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"gitDetails":{"$ref":"#/types/harness:platform/InputSetGitDetails:InputSetGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"gitImportInfo":{"$ref":"#/types/harness:platform/InputSetGitImportInfo:InputSetGitImportInfo","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"inputSetImportRequest":{"$ref":"#/types/harness:platform/InputSetInputSetImportRequest:InputSetInputSetImportRequest","description":"Contains parameters for importing a input set\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"pipelineId":{"type":"string","description":"Identifier of the pipeline\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"yaml":{"type":"string","description":"Input Set YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"requiredInputs":["identifier","orgId","pipelineId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering InputSet resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"gitDetails":{"$ref":"#/types/harness:platform/InputSetGitDetails:InputSetGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"gitImportInfo":{"$ref":"#/types/harness:platform/InputSetGitImportInfo:InputSetGitImportInfo","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"inputSetImportRequest":{"$ref":"#/types/harness:platform/InputSetInputSetImportRequest:InputSetInputSetImportRequest","description":"Contains parameters for importing a input set\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"pipelineId":{"type":"string","description":"Identifier of the pipeline\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"yaml":{"type":"string","description":"Input Set YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"type":"object"}},"harness:platform/ipAllowlist:IpAllowlist":{"description":"Resource for managing IP allowlist configs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.IpAllowlist(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    ipAddress: \"0.0.0.0/0\",\n    allowedSourceTypes: [\"API\"],\n    enabled: true,\n    description: \"allowlist example\",\n    tags: [\"foo:bar\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.IpAllowlist(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    ip_address=\"0.0.0.0/0\",\n    allowed_source_types=[\"API\"],\n    enabled=True,\n    description=\"allowlist example\",\n    tags=[\"foo:bar\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.IpAllowlist(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        IpAddress = \"0.0.0.0/0\",\n        AllowedSourceTypes = new[]\n        {\n            \"API\",\n        },\n        Enabled = true,\n        Description = \"allowlist example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewIpAllowlist(ctx, \"example\", \u0026platform.IpAllowlistArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tIpAddress:  pulumi.String(\"0.0.0.0/0\"),\n\t\t\tAllowedSourceTypes: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"API\"),\n\t\t\t},\n\t\t\tEnabled:     pulumi.Bool(true),\n\t\t\tDescription: pulumi.String(\"allowlist example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.IpAllowlist;\nimport com.pulumi.harness.platform.IpAllowlistArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new IpAllowlist(\"example\", IpAllowlistArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .ipAddress(\"0.0.0.0/0\")\n            .allowedSourceTypes(\"API\")\n            .enabled(true)\n            .description(\"allowlist example\")\n            .tags(\"foo:bar\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:IpAllowlist\n    properties:\n      identifier: identifier\n      name: name\n      ipAddress: 0.0.0.0/0\n      allowedSourceTypes:\n        - API\n      enabled: true\n      description: allowlist example\n      tags:\n        - foo:bar\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"allowedSourceTypes":{"type":"array","items":{"type":"string"},"description":"List of sources to allow. Valid values are `UI` and `API`.\n"},"created":{"type":"integer","description":"Creation timestamp for the config.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"enabled":{"type":"boolean","description":"Whether the allowlist config is enabled.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"ipAddress":{"type":"string","description":"CIDR range or IP address to allow.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"updated":{"type":"integer","description":"Last update timestamp for the config.\n"}},"required":["created","identifier","ipAddress","name","updated"],"inputProperties":{"allowedSourceTypes":{"type":"array","items":{"type":"string"},"description":"List of sources to allow. Valid values are `UI` and `API`.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"enabled":{"type":"boolean","description":"Whether the allowlist config is enabled.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"ipAddress":{"type":"string","description":"CIDR range or IP address to allow.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier","ipAddress"],"stateInputs":{"description":"Input properties used for looking up and filtering IpAllowlist resources.\n","properties":{"allowedSourceTypes":{"type":"array","items":{"type":"string"},"description":"List of sources to allow. Valid values are `UI` and `API`.\n"},"created":{"type":"integer","description":"Creation timestamp for the config.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"enabled":{"type":"boolean","description":"Whether the allowlist config is enabled.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"ipAddress":{"type":"string","description":"CIDR range or IP address to allow.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"updated":{"type":"integer","description":"Last update timestamp for the config.\n"}},"type":"object"}},"harness:platform/jenkinsConnector:JenkinsConnector":{"description":"Resource for creating a Jenkins connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level jenkins connector\n\n```sh\n$ pulumi import harness:platform/jenkinsConnector:JenkinsConnector example \u003cconnector_id\u003e\n```\n\nImport org level jenkins connector\n\n```sh\n$ pulumi import harness:platform/jenkinsConnector:JenkinsConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level jenkins connector\n\n```sh\n$ pulumi import harness:platform/jenkinsConnector:JenkinsConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"auth":{"$ref":"#/types/harness:platform/JenkinsConnectorAuth:JenkinsConnectorAuth","description":"This entity contains the details for Jenkins Authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"jenkinsUrl":{"type":"string","description":"Jenkins Url.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["identifier","jenkinsUrl","name"],"inputProperties":{"auth":{"$ref":"#/types/harness:platform/JenkinsConnectorAuth:JenkinsConnectorAuth","description":"This entity contains the details for Jenkins Authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"jenkinsUrl":{"type":"string","description":"Jenkins Url.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier","jenkinsUrl"],"stateInputs":{"description":"Input properties used for looking up and filtering JenkinsConnector resources.\n","properties":{"auth":{"$ref":"#/types/harness:platform/JenkinsConnectorAuth:JenkinsConnectorAuth","description":"This entity contains the details for Jenkins Authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"jenkinsUrl":{"type":"string","description":"Jenkins Url.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/jiraConnector:JiraConnector":{"description":"Resource for creating a Jira connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level jira connector\n\n```sh\n$ pulumi import harness:platform/jiraConnector:JiraConnector example \u003cconnector_id\u003e\n```\n\nImport org level jira connector\n\n```sh\n$ pulumi import harness:platform/jiraConnector:JiraConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level jira connector\n\n```sh\n$ pulumi import harness:platform/jiraConnector:JiraConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"auth":{"$ref":"#/types/harness:platform/JiraConnectorAuth:JiraConnectorAuth","description":"The credentials to use for the jira authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Jira server.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"required":["auth","identifier","name","passwordRef","url","username","usernameRef"],"inputProperties":{"auth":{"$ref":"#/types/harness:platform/JiraConnectorAuth:JiraConnectorAuth","description":"The credentials to use for the jira authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Jira server.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"requiredInputs":["auth","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering JiraConnector resources.\n","properties":{"auth":{"$ref":"#/types/harness:platform/JiraConnectorAuth:JiraConnectorAuth","description":"The credentials to use for the jira authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Jira server.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object"}},"harness:platform/kubernetesCloudCostConnector:KubernetesCloudCostConnector":{"description":"Resource for creating a Kubernetes Cloud Cost connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.KubernetesCloudCostConnector(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    featuresEnableds: [\n        \"VISIBILITY\",\n        \"OPTIMIZATION\",\n    ],\n    connectorRef: \"connector_ref\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.KubernetesCloudCostConnector(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    features_enableds=[\n        \"VISIBILITY\",\n        \"OPTIMIZATION\",\n    ],\n    connector_ref=\"connector_ref\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.KubernetesCloudCostConnector(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        FeaturesEnableds = new[]\n        {\n            \"VISIBILITY\",\n            \"OPTIMIZATION\",\n        },\n        ConnectorRef = \"connector_ref\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewKubernetesCloudCostConnector(ctx, \"example\", \u0026platform.KubernetesCloudCostConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tFeaturesEnableds: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"VISIBILITY\"),\n\t\t\t\tpulumi.String(\"OPTIMIZATION\"),\n\t\t\t},\n\t\t\tConnectorRef: pulumi.String(\"connector_ref\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.KubernetesCloudCostConnector;\nimport com.pulumi.harness.platform.KubernetesCloudCostConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new KubernetesCloudCostConnector(\"example\", KubernetesCloudCostConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .featuresEnableds(            \n                \"VISIBILITY\",\n                \"OPTIMIZATION\")\n            .connectorRef(\"connector_ref\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:KubernetesCloudCostConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      featuresEnableds:\n        - VISIBILITY\n        - OPTIMIZATION\n      connectorRef: connector_ref\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level kubernetes cloud cost connector\n\n```sh\n$ pulumi import harness:platform/kubernetesCloudCostConnector:KubernetesCloudCostConnector example \u003cconnector_id\u003e\n```\n\nImport org level kubernetes cloud cost connector\n\n```sh\n$ pulumi import harness:platform/kubernetesCloudCostConnector:KubernetesCloudCostConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level kubernetes cloud cost connector\n\n```sh\n$ pulumi import harness:platform/kubernetesCloudCostConnector:KubernetesCloudCostConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"connectorRef":{"type":"string","description":"Reference of the Connector. 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}.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"Indicates which feature to enable among Billing, Optimization, and Visibility.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["connectorRef","featuresEnableds","identifier","name"],"inputProperties":{"connectorRef":{"type":"string","description":"Reference of the Connector. 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}.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"Indicates which feature to enable among Billing, Optimization, and Visibility.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["connectorRef","featuresEnableds","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering KubernetesCloudCostConnector resources.\n","properties":{"connectorRef":{"type":"string","description":"Reference of the Connector. 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}.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"featuresEnableds":{"type":"array","items":{"type":"string"},"description":"Indicates which feature to enable among Billing, Optimization, and Visibility.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/kubernetesConnector:KubernetesConnector":{"description":"Resource for creating a K8s connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst clientKeyCert = new harness.platform.KubernetesConnector(\"clientKeyCert\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"description\",\n    tags: [\"foo:bar\"],\n    clientKeyCert: {\n        masterUrl: \"https://kubernetes.example.com\",\n        caCertRef: \"account.TEST_k8ss_client_stuff\",\n        clientCertRef: \"account.test_k8s_client_cert\",\n        clientKeyRef: \"account.TEST_k8s_client_key\",\n        clientKeyPassphraseRef: \"account.TEST_k8s_client_test\",\n        clientKeyAlgorithm: \"RSA\",\n    },\n    delegateSelectors: [\"harness-delegate\"],\n});\nconst usernamePassword = new harness.platform.KubernetesConnector(\"usernamePassword\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"description\",\n    tags: [\"foo:bar\"],\n    usernamePassword: {\n        masterUrl: \"https://kubernetes.example.com\",\n        username: \"admin\",\n        passwordRef: \"account.TEST_k8s_client_test\",\n    },\n    delegateSelectors: [\"harness-delegate\"],\n});\nconst serviceAccount = new harness.platform.KubernetesConnector(\"serviceAccount\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"description\",\n    tags: [\"foo:bar\"],\n    serviceAccount: {\n        masterUrl: \"https://kubernetes.example.com\",\n        serviceAccountTokenRef: \"account.TEST_k8s_client_test\",\n    },\n    delegateSelectors: [\"harness-delegate\"],\n});\nconst openIDConnect = new harness.platform.KubernetesConnector(\"openIDConnect\", {\n    identifier: \"%[1]s\",\n    name: \"%[2]s\",\n    description: \"description\",\n    tags: [\"foo:bar\"],\n    openidConnect: {\n        masterUrl: \"https://kubernetes.example.com\",\n        issuerUrl: \"https://oidc.example.com\",\n        usernameRef: \"account.TEST_k8s_client_test\",\n        clientIdRef: \"account.TEST_k8s_client_test\",\n        passwordRef: \"account.TEST_k8s_client_test\",\n        secretRef: \"account.TEST_k8s_client_test\",\n        scopes: [\n            \"scope1\",\n            \"scope2\",\n        ],\n    },\n    delegateSelectors: [\"harness-delegate\"],\n});\nconst inheritFromDelegate = new harness.platform.KubernetesConnector(\"inheritFromDelegate\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"description\",\n    tags: [\"foo:bar\"],\n    inheritFromDelegate: {\n        delegateSelectors: [\"harness-delegate\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nclient_key_cert = harness.platform.KubernetesConnector(\"clientKeyCert\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"description\",\n    tags=[\"foo:bar\"],\n    client_key_cert={\n        \"master_url\": \"https://kubernetes.example.com\",\n        \"ca_cert_ref\": \"account.TEST_k8ss_client_stuff\",\n        \"client_cert_ref\": \"account.test_k8s_client_cert\",\n        \"client_key_ref\": \"account.TEST_k8s_client_key\",\n        \"client_key_passphrase_ref\": \"account.TEST_k8s_client_test\",\n        \"client_key_algorithm\": \"RSA\",\n    },\n    delegate_selectors=[\"harness-delegate\"])\nusername_password = harness.platform.KubernetesConnector(\"usernamePassword\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"description\",\n    tags=[\"foo:bar\"],\n    username_password={\n        \"master_url\": \"https://kubernetes.example.com\",\n        \"username\": \"admin\",\n        \"password_ref\": \"account.TEST_k8s_client_test\",\n    },\n    delegate_selectors=[\"harness-delegate\"])\nservice_account = harness.platform.KubernetesConnector(\"serviceAccount\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"description\",\n    tags=[\"foo:bar\"],\n    service_account={\n        \"master_url\": \"https://kubernetes.example.com\",\n        \"service_account_token_ref\": \"account.TEST_k8s_client_test\",\n    },\n    delegate_selectors=[\"harness-delegate\"])\nopen_id_connect = harness.platform.KubernetesConnector(\"openIDConnect\",\n    identifier=\"%[1]s\",\n    name=\"%[2]s\",\n    description=\"description\",\n    tags=[\"foo:bar\"],\n    openid_connect={\n        \"master_url\": \"https://kubernetes.example.com\",\n        \"issuer_url\": \"https://oidc.example.com\",\n        \"username_ref\": \"account.TEST_k8s_client_test\",\n        \"client_id_ref\": \"account.TEST_k8s_client_test\",\n        \"password_ref\": \"account.TEST_k8s_client_test\",\n        \"secret_ref\": \"account.TEST_k8s_client_test\",\n        \"scopes\": [\n            \"scope1\",\n            \"scope2\",\n        ],\n    },\n    delegate_selectors=[\"harness-delegate\"])\ninherit_from_delegate = harness.platform.KubernetesConnector(\"inheritFromDelegate\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"description\",\n    tags=[\"foo:bar\"],\n    inherit_from_delegate={\n        \"delegate_selectors\": [\"harness-delegate\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var clientKeyCert = new Harness.Platform.KubernetesConnector(\"clientKeyCert\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"description\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        ClientKeyCert = new Harness.Platform.Inputs.KubernetesConnectorClientKeyCertArgs\n        {\n            MasterUrl = \"https://kubernetes.example.com\",\n            CaCertRef = \"account.TEST_k8ss_client_stuff\",\n            ClientCertRef = \"account.test_k8s_client_cert\",\n            ClientKeyRef = \"account.TEST_k8s_client_key\",\n            ClientKeyPassphraseRef = \"account.TEST_k8s_client_test\",\n            ClientKeyAlgorithm = \"RSA\",\n        },\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n    var usernamePassword = new Harness.Platform.KubernetesConnector(\"usernamePassword\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"description\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        UsernamePassword = new Harness.Platform.Inputs.KubernetesConnectorUsernamePasswordArgs\n        {\n            MasterUrl = \"https://kubernetes.example.com\",\n            Username = \"admin\",\n            PasswordRef = \"account.TEST_k8s_client_test\",\n        },\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n    var serviceAccount = new Harness.Platform.KubernetesConnector(\"serviceAccount\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"description\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        ServiceAccount = new Harness.Platform.Inputs.KubernetesConnectorServiceAccountArgs\n        {\n            MasterUrl = \"https://kubernetes.example.com\",\n            ServiceAccountTokenRef = \"account.TEST_k8s_client_test\",\n        },\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n    var openIDConnect = new Harness.Platform.KubernetesConnector(\"openIDConnect\", new()\n    {\n        Identifier = \"%[1]s\",\n        Name = \"%[2]s\",\n        Description = \"description\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        OpenidConnect = new Harness.Platform.Inputs.KubernetesConnectorOpenidConnectArgs\n        {\n            MasterUrl = \"https://kubernetes.example.com\",\n            IssuerUrl = \"https://oidc.example.com\",\n            UsernameRef = \"account.TEST_k8s_client_test\",\n            ClientIdRef = \"account.TEST_k8s_client_test\",\n            PasswordRef = \"account.TEST_k8s_client_test\",\n            SecretRef = \"account.TEST_k8s_client_test\",\n            Scopes = new[]\n            {\n                \"scope1\",\n                \"scope2\",\n            },\n        },\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n    });\n\n    var inheritFromDelegate = new Harness.Platform.KubernetesConnector(\"inheritFromDelegate\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"description\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        InheritFromDelegate = new Harness.Platform.Inputs.KubernetesConnectorInheritFromDelegateArgs\n        {\n            DelegateSelectors = new[]\n            {\n                \"harness-delegate\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewKubernetesConnector(ctx, \"clientKeyCert\", \u0026platform.KubernetesConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tClientKeyCert: \u0026platform.KubernetesConnectorClientKeyCertArgs{\n\t\t\t\tMasterUrl:              pulumi.String(\"https://kubernetes.example.com\"),\n\t\t\t\tCaCertRef:              pulumi.String(\"account.TEST_k8ss_client_stuff\"),\n\t\t\t\tClientCertRef:          pulumi.String(\"account.test_k8s_client_cert\"),\n\t\t\t\tClientKeyRef:           pulumi.String(\"account.TEST_k8s_client_key\"),\n\t\t\t\tClientKeyPassphraseRef: pulumi.String(\"account.TEST_k8s_client_test\"),\n\t\t\t\tClientKeyAlgorithm:     pulumi.String(\"RSA\"),\n\t\t\t},\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewKubernetesConnector(ctx, \"usernamePassword\", \u0026platform.KubernetesConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUsernamePassword: \u0026platform.KubernetesConnectorUsernamePasswordArgs{\n\t\t\t\tMasterUrl:   pulumi.String(\"https://kubernetes.example.com\"),\n\t\t\t\tUsername:    pulumi.String(\"admin\"),\n\t\t\t\tPasswordRef: pulumi.String(\"account.TEST_k8s_client_test\"),\n\t\t\t},\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewKubernetesConnector(ctx, \"serviceAccount\", \u0026platform.KubernetesConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tServiceAccount: \u0026platform.KubernetesConnectorServiceAccountArgs{\n\t\t\t\tMasterUrl:              pulumi.String(\"https://kubernetes.example.com\"),\n\t\t\t\tServiceAccountTokenRef: pulumi.String(\"account.TEST_k8s_client_test\"),\n\t\t\t},\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewKubernetesConnector(ctx, \"openIDConnect\", \u0026platform.KubernetesConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"%[1]s\"),\n\t\t\tName:        pulumi.String(\"%[2]s\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tOpenidConnect: \u0026platform.KubernetesConnectorOpenidConnectArgs{\n\t\t\t\tMasterUrl:   pulumi.String(\"https://kubernetes.example.com\"),\n\t\t\t\tIssuerUrl:   pulumi.String(\"https://oidc.example.com\"),\n\t\t\t\tUsernameRef: pulumi.String(\"account.TEST_k8s_client_test\"),\n\t\t\t\tClientIdRef: pulumi.String(\"account.TEST_k8s_client_test\"),\n\t\t\t\tPasswordRef: pulumi.String(\"account.TEST_k8s_client_test\"),\n\t\t\t\tSecretRef:   pulumi.String(\"account.TEST_k8s_client_test\"),\n\t\t\t\tScopes: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"scope1\"),\n\t\t\t\t\tpulumi.String(\"scope2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewKubernetesConnector(ctx, \"inheritFromDelegate\", \u0026platform.KubernetesConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tInheritFromDelegate: \u0026platform.KubernetesConnectorInheritFromDelegateArgs{\n\t\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.KubernetesConnector;\nimport com.pulumi.harness.platform.KubernetesConnectorArgs;\nimport com.pulumi.harness.platform.inputs.KubernetesConnectorClientKeyCertArgs;\nimport com.pulumi.harness.platform.inputs.KubernetesConnectorUsernamePasswordArgs;\nimport com.pulumi.harness.platform.inputs.KubernetesConnectorServiceAccountArgs;\nimport com.pulumi.harness.platform.inputs.KubernetesConnectorOpenidConnectArgs;\nimport com.pulumi.harness.platform.inputs.KubernetesConnectorInheritFromDelegateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var clientKeyCert = new KubernetesConnector(\"clientKeyCert\", KubernetesConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"description\")\n            .tags(\"foo:bar\")\n            .clientKeyCert(KubernetesConnectorClientKeyCertArgs.builder()\n                .masterUrl(\"https://kubernetes.example.com\")\n                .caCertRef(\"account.TEST_k8ss_client_stuff\")\n                .clientCertRef(\"account.test_k8s_client_cert\")\n                .clientKeyRef(\"account.TEST_k8s_client_key\")\n                .clientKeyPassphraseRef(\"account.TEST_k8s_client_test\")\n                .clientKeyAlgorithm(\"RSA\")\n                .build())\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n        var usernamePassword = new KubernetesConnector(\"usernamePassword\", KubernetesConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"description\")\n            .tags(\"foo:bar\")\n            .usernamePassword(KubernetesConnectorUsernamePasswordArgs.builder()\n                .masterUrl(\"https://kubernetes.example.com\")\n                .username(\"admin\")\n                .passwordRef(\"account.TEST_k8s_client_test\")\n                .build())\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n        var serviceAccount = new KubernetesConnector(\"serviceAccount\", KubernetesConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"description\")\n            .tags(\"foo:bar\")\n            .serviceAccount(KubernetesConnectorServiceAccountArgs.builder()\n                .masterUrl(\"https://kubernetes.example.com\")\n                .serviceAccountTokenRef(\"account.TEST_k8s_client_test\")\n                .build())\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n        var openIDConnect = new KubernetesConnector(\"openIDConnect\", KubernetesConnectorArgs.builder()\n            .identifier(\"%[1]s\")\n            .name(\"%[2]s\")\n            .description(\"description\")\n            .tags(\"foo:bar\")\n            .openidConnect(KubernetesConnectorOpenidConnectArgs.builder()\n                .masterUrl(\"https://kubernetes.example.com\")\n                .issuerUrl(\"https://oidc.example.com\")\n                .usernameRef(\"account.TEST_k8s_client_test\")\n                .clientIdRef(\"account.TEST_k8s_client_test\")\n                .passwordRef(\"account.TEST_k8s_client_test\")\n                .secretRef(\"account.TEST_k8s_client_test\")\n                .scopes(                \n                    \"scope1\",\n                    \"scope2\")\n                .build())\n            .delegateSelectors(\"harness-delegate\")\n            .build());\n\n        var inheritFromDelegate = new KubernetesConnector(\"inheritFromDelegate\", KubernetesConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"description\")\n            .tags(\"foo:bar\")\n            .inheritFromDelegate(KubernetesConnectorInheritFromDelegateArgs.builder()\n                .delegateSelectors(\"harness-delegate\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  clientKeyCert:\n    type: harness:platform:KubernetesConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: description\n      tags:\n        - foo:bar\n      clientKeyCert:\n        masterUrl: https://kubernetes.example.com\n        caCertRef: account.TEST_k8ss_client_stuff\n        clientCertRef: account.test_k8s_client_cert\n        clientKeyRef: account.TEST_k8s_client_key\n        clientKeyPassphraseRef: account.TEST_k8s_client_test\n        clientKeyAlgorithm: RSA\n      delegateSelectors:\n        - harness-delegate\n  usernamePassword:\n    type: harness:platform:KubernetesConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: description\n      tags:\n        - foo:bar\n      usernamePassword:\n        masterUrl: https://kubernetes.example.com\n        username: admin\n        passwordRef: account.TEST_k8s_client_test\n      delegateSelectors:\n        - harness-delegate\n  serviceAccount:\n    type: harness:platform:KubernetesConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: description\n      tags:\n        - foo:bar\n      serviceAccount:\n        masterUrl: https://kubernetes.example.com\n        serviceAccountTokenRef: account.TEST_k8s_client_test\n      delegateSelectors:\n        - harness-delegate\n  openIDConnect:\n    type: harness:platform:KubernetesConnector\n    properties:\n      identifier: '%[1]s'\n      name: '%[2]s'\n      description: description\n      tags:\n        - foo:bar\n      openidConnect:\n        masterUrl: https://kubernetes.example.com\n        issuerUrl: https://oidc.example.com\n        usernameRef: account.TEST_k8s_client_test\n        clientIdRef: account.TEST_k8s_client_test\n        passwordRef: account.TEST_k8s_client_test\n        secretRef: account.TEST_k8s_client_test\n        scopes:\n          - scope1\n          - scope2\n      delegateSelectors:\n        - harness-delegate\n  inheritFromDelegate:\n    type: harness:platform:KubernetesConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: description\n      tags:\n        - foo:bar\n      inheritFromDelegate:\n        delegateSelectors:\n          - harness-delegate\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level kubernetes connector\n\n```sh\n$ pulumi import harness:platform/kubernetesConnector:KubernetesConnector example \u003cconnector_id\u003e\n```\n\nImport org level kubernetes connector\n\n```sh\n$ pulumi import harness:platform/kubernetesConnector:KubernetesConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level kubernetes connector\n\n```sh\n$ pulumi import harness:platform/kubernetesConnector:KubernetesConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"clientKeyCert":{"$ref":"#/types/harness:platform/KubernetesConnectorClientKeyCert:KubernetesConnectorClientKeyCert","description":"Client key and certificate config for the connector.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Selectors to use for the delegate.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"inheritFromDelegate":{"$ref":"#/types/harness:platform/KubernetesConnectorInheritFromDelegate:KubernetesConnectorInheritFromDelegate","description":"Credentials are inherited from the delegate.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"openidConnect":{"$ref":"#/types/harness:platform/KubernetesConnectorOpenidConnect:KubernetesConnectorOpenidConnect","description":"OpenID configuration for the connector.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceAccount":{"$ref":"#/types/harness:platform/KubernetesConnectorServiceAccount:KubernetesConnectorServiceAccount","description":"Service account for the connector.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"usernamePassword":{"$ref":"#/types/harness:platform/KubernetesConnectorUsernamePassword:KubernetesConnectorUsernamePassword","description":"Username and password for the connector.\n"}},"required":["forceDelete","identifier","name"],"inputProperties":{"clientKeyCert":{"$ref":"#/types/harness:platform/KubernetesConnectorClientKeyCert:KubernetesConnectorClientKeyCert","description":"Client key and certificate config for the connector.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Selectors to use for the delegate.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"inheritFromDelegate":{"$ref":"#/types/harness:platform/KubernetesConnectorInheritFromDelegate:KubernetesConnectorInheritFromDelegate","description":"Credentials are inherited from the delegate.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"openidConnect":{"$ref":"#/types/harness:platform/KubernetesConnectorOpenidConnect:KubernetesConnectorOpenidConnect","description":"OpenID configuration for the connector.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceAccount":{"$ref":"#/types/harness:platform/KubernetesConnectorServiceAccount:KubernetesConnectorServiceAccount","description":"Service account for the connector.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"usernamePassword":{"$ref":"#/types/harness:platform/KubernetesConnectorUsernamePassword:KubernetesConnectorUsernamePassword","description":"Username and password for the connector.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering KubernetesConnector resources.\n","properties":{"clientKeyCert":{"$ref":"#/types/harness:platform/KubernetesConnectorClientKeyCert:KubernetesConnectorClientKeyCert","description":"Client key and certificate config for the connector.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Selectors to use for the delegate.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"inheritFromDelegate":{"$ref":"#/types/harness:platform/KubernetesConnectorInheritFromDelegate:KubernetesConnectorInheritFromDelegate","description":"Credentials are inherited from the delegate.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"openidConnect":{"$ref":"#/types/harness:platform/KubernetesConnectorOpenidConnect:KubernetesConnectorOpenidConnect","description":"OpenID configuration for the connector.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceAccount":{"$ref":"#/types/harness:platform/KubernetesConnectorServiceAccount:KubernetesConnectorServiceAccount","description":"Service account for the connector.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"usernamePassword":{"$ref":"#/types/harness:platform/KubernetesConnectorUsernamePassword:KubernetesConnectorUsernamePassword","description":"Username and password for the connector.\n"}},"type":"object"}},"harness:platform/manualFreeze:ManualFreeze":{"description":"Resource for Manual Deployment Freeze Window.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.ManualFreeze(\"example\", {\n    identifier: \"identifier\",\n    orgId: \"orgIdentifier\",\n    projectId: \"projectIdentifier\",\n    accountId: \"accountIdentifier\",\n    yaml: `freeze:\n  name: freezeName\n  identifier: identifier\n  entityConfigs:\n    - name: r1\n      entities:\n        - filterType: All\n          type: Org\n        - filterType: All\n          type: Project\n        - filterType: All\n          type: Service\n        - filterType: All\n          type: EnvType\n  status: Disabled\n  description: hi\n  windows:\n  - timeZone: Asia/Calcutta\n    startTime: 2023-05-03 04:16 PM\n    duration: 30m\n    recurrence:\n      type: Daily\n  notificationRules: []\n  tags: {}\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.ManualFreeze(\"example\",\n    identifier=\"identifier\",\n    org_id=\"orgIdentifier\",\n    project_id=\"projectIdentifier\",\n    account_id=\"accountIdentifier\",\n    yaml=\"\"\"freeze:\n  name: freezeName\n  identifier: identifier\n  entityConfigs:\n    - name: r1\n      entities:\n        - filterType: All\n          type: Org\n        - filterType: All\n          type: Project\n        - filterType: All\n          type: Service\n        - filterType: All\n          type: EnvType\n  status: Disabled\n  description: hi\n  windows:\n  - timeZone: Asia/Calcutta\n    startTime: 2023-05-03 04:16 PM\n    duration: 30m\n    recurrence:\n      type: Daily\n  notificationRules: []\n  tags: {}\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.ManualFreeze(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"orgIdentifier\",\n        ProjectId = \"projectIdentifier\",\n        AccountId = \"accountIdentifier\",\n        Yaml = @\"freeze:\n  name: freezeName\n  identifier: identifier\n  entityConfigs:\n    - name: r1\n      entities:\n        - filterType: All\n          type: Org\n        - filterType: All\n          type: Project\n        - filterType: All\n          type: Service\n        - filterType: All\n          type: EnvType\n  status: Disabled\n  description: hi\n  windows:\n  - timeZone: Asia/Calcutta\n    startTime: 2023-05-03 04:16 PM\n    duration: 30m\n    recurrence:\n      type: Daily\n  notificationRules: []\n  tags: {}\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewManualFreeze(ctx, \"example\", \u0026platform.ManualFreezeArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tOrgId:      pulumi.String(\"orgIdentifier\"),\n\t\t\tProjectId:  pulumi.String(\"projectIdentifier\"),\n\t\t\tAccountId:  pulumi.String(\"accountIdentifier\"),\n\t\t\tYaml: pulumi.String(`freeze:\n  name: freezeName\n  identifier: identifier\n  entityConfigs:\n    - name: r1\n      entities:\n        - filterType: All\n          type: Org\n        - filterType: All\n          type: Project\n        - filterType: All\n          type: Service\n        - filterType: All\n          type: EnvType\n  status: Disabled\n  description: hi\n  windows:\n  - timeZone: Asia/Calcutta\n    startTime: 2023-05-03 04:16 PM\n    duration: 30m\n    recurrence:\n      type: Daily\n  notificationRules: []\n  tags: {}\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.ManualFreeze;\nimport com.pulumi.harness.platform.ManualFreezeArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ManualFreeze(\"example\", ManualFreezeArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"orgIdentifier\")\n            .projectId(\"projectIdentifier\")\n            .accountId(\"accountIdentifier\")\n            .yaml(\"\"\"\nfreeze:\n  name: freezeName\n  identifier: identifier\n  entityConfigs:\n    - name: r1\n      entities:\n        - filterType: All\n          type: Org\n        - filterType: All\n          type: Project\n        - filterType: All\n          type: Service\n        - filterType: All\n          type: EnvType\n  status: Disabled\n  description: hi\n  windows:\n  - timeZone: Asia/Calcutta\n    startTime: 2023-05-03 04:16 PM\n    duration: 30m\n    recurrence:\n      type: Daily\n  notificationRules: []\n  tags: {}\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:ManualFreeze\n    properties:\n      identifier: identifier\n      orgId: orgIdentifier\n      projectId: projectIdentifier\n      accountId: accountIdentifier\n      yaml: |\n        freeze:\n          name: freezeName\n          identifier: identifier\n          entityConfigs:\n            - name: r1\n              entities:\n                - filterType: All\n                  type: Org\n                - filterType: All\n                  type: Project\n                - filterType: All\n                  type: Service\n                - filterType: All\n                  type: EnvType\n          status: Disabled\n          description: hi\n          windows:\n          - timeZone: Asia/Calcutta\n            startTime: 2023-05-03 04:16 PM\n            duration: 30m\n            recurrence:\n              type: Daily\n          notificationRules: []\n          tags: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport an account level freeze\n\n```sh\n$ pulumi import harness:platform/manualFreeze:ManualFreeze example \u003cfreeze_id\u003e\n```\n\nImport an organization level freeze\n\n```sh\n$ pulumi import harness:platform/manualFreeze:ManualFreeze example \u003corg_id\u003e/\u003cfreeze_id\u003e\n```\n\nImport project level freeze\n\n```sh\n$ pulumi import harness:platform/manualFreeze:ManualFreeze example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cfreeze_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account Identifier of the freeze\n"},"currentOrUpcomingWindows":{"type":"array","items":{"$ref":"#/types/harness:platform/ManualFreezeCurrentOrUpcomingWindow:ManualFreezeCurrentOrUpcomingWindow"},"description":"Current or upcoming windows\n"},"description":{"type":"string","description":"Description of the freeze\n"},"freezeWindows":{"type":"array","items":{"$ref":"#/types/harness:platform/ManualFreezeFreezeWindow:ManualFreezeFreezeWindow"},"description":"Freeze windows in the freeze response\n"},"identifier":{"type":"string","description":"Identifier of the freeze\n"},"name":{"type":"string","description":"Name of the freeze\n"},"orgId":{"type":"string","description":"Organization identifier of the freeze\n"},"projectId":{"type":"string","description":"Project identifier of the freeze\n"},"scope":{"type":"string","description":"Scope of the freeze\n"},"status":{"type":"string","description":"Status of the freeze\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the freeze\n"},"type":{"type":"string","description":"Type of freeze\n"},"yaml":{"type":"string","description":"Yaml of the freeze\n"}},"required":["accountId","currentOrUpcomingWindows","description","freezeWindows","identifier","name","scope","status","tags","type","yaml"],"inputProperties":{"accountId":{"type":"string","description":"Account Identifier of the freeze\n"},"identifier":{"type":"string","description":"Identifier of the freeze\n"},"orgId":{"type":"string","description":"Organization identifier of the freeze\n"},"projectId":{"type":"string","description":"Project identifier of the freeze\n"},"yaml":{"type":"string","description":"Yaml of the freeze\n"}},"requiredInputs":["accountId","identifier","yaml"],"stateInputs":{"description":"Input properties used for looking up and filtering ManualFreeze resources.\n","properties":{"accountId":{"type":"string","description":"Account Identifier of the freeze\n"},"currentOrUpcomingWindows":{"type":"array","items":{"$ref":"#/types/harness:platform/ManualFreezeCurrentOrUpcomingWindow:ManualFreezeCurrentOrUpcomingWindow"},"description":"Current or upcoming windows\n"},"description":{"type":"string","description":"Description of the freeze\n"},"freezeWindows":{"type":"array","items":{"$ref":"#/types/harness:platform/ManualFreezeFreezeWindow:ManualFreezeFreezeWindow"},"description":"Freeze windows in the freeze response\n"},"identifier":{"type":"string","description":"Identifier of the freeze\n"},"name":{"type":"string","description":"Name of the freeze\n"},"orgId":{"type":"string","description":"Organization identifier of the freeze\n"},"projectId":{"type":"string","description":"Project identifier of the freeze\n"},"scope":{"type":"string","description":"Scope of the freeze\n"},"status":{"type":"string","description":"Status of the freeze\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags associated with the freeze\n"},"type":{"type":"string","description":"Type of freeze\n"},"yaml":{"type":"string","description":"Yaml of the freeze\n"}},"type":"object"}},"harness:platform/monitoredService:MonitoredService":{"description":"Resource for creating a monitored service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n//Sample template for Elastic Search Log Health Source\nconst example = new harness.platform.MonitoredService(\"example\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        type: \"Application\",\n        description: \"description\",\n        serviceRef: \"service_ref\",\n        environmentRef: \"environment_ref\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        healthSources: [{\n            name: \"name\",\n            identifier: \"identifier\",\n            type: \"ElasticSearch\",\n            version: \"v2\",\n            spec: JSON.stringify({\n                connectorRef: \"connectorRef\",\n                queryDefinitions: [\n                    {\n                        name: \"name\",\n                        identifier: \"infraquery\",\n                        query: \"query\",\n                        index: \"index\",\n                        groupName: \"Logs_Group\",\n                        queryParams: {\n                            index: \"index\",\n                            serviceInstanceField: \"serviceInstanceIdentifier\",\n                            timeStampIdentifier: \"timeStampIdentifier\",\n                            timeStampFormat: \"timeStampFormat\",\n                            messageIdentifier: \"messageIdentifier\",\n                        },\n                    },\n                    {\n                        name: \"name2\",\n                        identifier: \"errorquery\",\n                        query: \"query2\",\n                        index: \"index2\",\n                        groupName: \"Logs_Group\",\n                        queryParams: {\n                            index: \"index\",\n                            serviceInstanceField: \"serviceInstanceIdentifier\",\n                            timeStampIdentifier: \"timeStampIdentifier\",\n                            timeStampFormat: \"timeStampFormat\",\n                            messageIdentifier: \"messageIdentifier\",\n                        },\n                    },\n                ],\n            }),\n        }],\n        changeSources: [\n            {\n                name: \"BAC\",\n                identifier: \"BAC\",\n                type: \"PagerDuty\",\n                enabled: true,\n                spec: JSON.stringify({\n                    connectorRef: \"account.pd\",\n                    pagerDutyServiceId: \"P0N21OB\",\n                }),\n                category: \"Alert\",\n            },\n            {\n                name: \"FH\",\n                identifier: \"FH\",\n                type: \"CustomIncident\",\n                enabled: true,\n                spec: JSON.stringify({\n                    name: \"FH\",\n                    webhookUrl: \"https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH\",\n                    webhookCurlCommand: \"curl -X POST -H 'content-type: application/json' -H 'X-Api-Key: sample_api_key' --url 'https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH' -d '{ \\\"eventIdentifier\\\": \\\"\u003cstring\u003e\\\" (optional), \\\"user\\\": \\\"user@harness.io\\\", \\\"startTime\\\": timeInMs, \\\"endTime\\\": timeInMs, \\\"eventDetail\\\": { \\\"description\\\": \\\"\u003cString\u003e\\\", \\\"changeEventDetailsLink\\\": \\\"urlString\\\" (optional), \\\"externalLinkToEntity\\\": \\\"urlString\\\" (optional), \\\"name\\\": \\\"changeEventName\\\" } }'\",\n                    type: \"Alert\",\n                }),\n                category: \"Alert\",\n            },\n            {\n                name: \"customff\",\n                identifier: \"customff\",\n                type: \"CustomFF\",\n                enabled: true,\n                category: \"FeatureFlag\",\n                spec: JSON.stringify({\n                    type: \"FeatureFlag\",\n                }),\n            },\n            {\n                name: \"customdeploy\",\n                identifier: \"customdeploy\",\n                type: \"CustomDeploy\",\n                enabled: true,\n                category: \"Deployment\",\n                spec: JSON.stringify({\n                    type: \"Deployment\",\n                }),\n            },\n            {\n                name: \"customincident\",\n                identifier: \"customincident\",\n                type: \"CustomIncident\",\n                enabled: true,\n                category: \"Alert\",\n                spec: JSON.stringify({\n                    type: \"Alert\",\n                    authorizationToken: \"abc\",\n                }),\n            },\n        ],\n        notificationRuleRefs: [\n            {\n                notificationRuleRef: \"notification_rule_ref\",\n                enabled: true,\n            },\n            {\n                notificationRuleRef: \"notification_rule_ref1\",\n                enabled: false,\n            },\n        ],\n    },\n});\n//Sample template for Sumologic Metrics Health Source\nconst example1 = new harness.platform.MonitoredService(\"example1\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        type: \"Application\",\n        description: \"description\",\n        serviceRef: \"service_ref\",\n        environmentRef: \"environment_ref\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        healthSources: [{\n            name: \"sumologicmetrics\",\n            identifier: \"sumo_metric_identifier\",\n            type: \"SumologicMetrics\",\n            version: \"v2\",\n            spec: JSON.stringify({\n                connectorRef: \"connectorRef\",\n                queryDefinitions: [\n                    {\n                        name: \"metric_cpu\",\n                        identifier: \"metric_cpu\",\n                        query: \"metric=cpu\",\n                        groupName: \"g1\",\n                        queryParams: {\n                            serviceInstanceField: \"_sourcehost\",\n                        },\n                        riskProfile: {\n                            riskCategory: \"Performance_Other\",\n                            thresholdTypes: [\"ACT_WHEN_HIGHER\"],\n                        },\n                        liveMonitoringEnabled: \"true\",\n                        continuousVerificationEnabled: \"true\",\n                        sliEnabled: \"false\",\n                        metricThresholds: [\n                            {\n                                type: \"IgnoreThreshold\",\n                                spec: {\n                                    action: \"Ignore\",\n                                },\n                                criteria: {\n                                    type: \"Absolute\",\n                                    spec: {\n                                        greaterThan: 100,\n                                    },\n                                },\n                                metricType: \"Custom\",\n                                metricName: \"metric_cpu\",\n                            },\n                            {\n                                type: \"FailImmediately\",\n                                spec: {\n                                    action: \"FailAfterOccurrence\",\n                                    spec: {\n                                        count: 2,\n                                    },\n                                },\n                                criteria: {\n                                    type: \"Absolute\",\n                                    spec: {\n                                        greaterThan: 100,\n                                    },\n                                },\n                                metricType: \"Custom\",\n                                metricName: \"metric_cpu\",\n                            },\n                        ],\n                    },\n                    {\n                        name: \"name2\",\n                        identifier: \"identifier2\",\n                        groupName: \"g2\",\n                        query: \"metric=memory\",\n                        queryParams: {\n                            serviceInstanceField: \"_sourcehost\",\n                        },\n                        riskProfile: {\n                            riskCategory: \"Performance_Other\",\n                            thresholdTypes: [\"ACT_WHEN_HIGHER\"],\n                        },\n                        liveMonitoringEnabled: \"false\",\n                        continuousVerificationEnabled: \"false\",\n                        sliEnabled: \"false\",\n                    },\n                ],\n            }),\n        }],\n    },\n});\n//Sample template for Sumologic Log Health Source\nconst example2 = new harness.platform.MonitoredService(\"example2\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        type: \"Application\",\n        description: \"description\",\n        serviceRef: \"service_ref\",\n        environmentRef: \"environment_ref\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        healthSources: [{\n            name: \"sumologic\",\n            identifier: \"sumo_metric_identifier\",\n            type: \"SumologicLogs\",\n            version: \"v2\",\n            spec: JSON.stringify({\n                connectorRef: \"connectorRef\",\n                queryDefinitions: [\n                    {\n                        name: \"log1\",\n                        identifier: \"log1\",\n                        query: \"*\",\n                        groupName: \"Logs Group\",\n                        queryParams: {\n                            serviceInstanceField: \"_sourcehost\",\n                        },\n                    },\n                    {\n                        name: \"log2\",\n                        identifier: \"identifier2\",\n                        groupName: \"g2\",\n                        query: \"error\",\n                        queryParams: {\n                            serviceInstanceField: \"_sourcehost\",\n                        },\n                    },\n                ],\n            }),\n        }],\n    },\n});\n//Sample template for Splunk Signal FX Health Source\nconst example3 = new harness.platform.MonitoredService(\"example3\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        type: \"Application\",\n        description: \"description\",\n        serviceRef: \"service_ref\",\n        environmentRef: \"environment_ref\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        healthSources: [{\n            name: \"signalfxmetrics\",\n            identifier: \"signalfxmetrics\",\n            type: \"SplunkSignalFXMetrics\",\n            version: \"v2\",\n            spec: JSON.stringify({\n                connectorRef: \"connectorRef\",\n                queryDefinitions: [\n                    {\n                        name: \"metric_infra_cpu\",\n                        identifier: \"metric_infra_cpu\",\n                        query: \"***\",\n                        groupName: \"g\",\n                        riskProfile: {\n                            riskCategory: \"Errors\",\n                            thresholdTypes: [\n                                \"ACT_WHEN_HIGHER\",\n                                \"ACT_WHEN_LOWER\",\n                            ],\n                        },\n                        liveMonitoringEnabled: \"true\",\n                        continuousVerificationEnabled: \"true\",\n                        sliEnabled: \"false\",\n                    },\n                    {\n                        name: \"name2\",\n                        identifier: \"identifier2\",\n                        groupName: \"g2\",\n                        query: \"*\",\n                        riskProfile: {\n                            riskCategory: \"Performance_Other\",\n                            thresholdTypes: [\"ACT_WHEN_HIGHER\"],\n                        },\n                        liveMonitoringEnabled: \"true\",\n                        continuousVerificationEnabled: \"false\",\n                        sliEnabled: \"false\",\n                        metricThresholds: [\n                            {\n                                type: \"IgnoreThreshold\",\n                                spec: {\n                                    action: \"Ignore\",\n                                },\n                                criteria: {\n                                    type: \"Absolute\",\n                                    spec: {\n                                        greaterThan: 100,\n                                    },\n                                },\n                                metrictype: \"Custom\",\n                                metricName: \"identifier2\",\n                            },\n                            {\n                                type: \"FailImmediately\",\n                                spec: {\n                                    action: \"FailAfterOccurrence\",\n                                    spec: {\n                                        count: 2,\n                                    },\n                                },\n                                criteria: {\n                                    type: \"Absolute\",\n                                    spec: {\n                                        greaterThan: 100,\n                                    },\n                                },\n                                metricType: \"Custom\",\n                                metricName: \"identifier2\",\n                            },\n                        ],\n                    },\n                ],\n            }),\n        }],\n    },\n});\n//Sample template for Grafana Loki Log Health Source\nconst example4 = new harness.platform.MonitoredService(\"example4\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        type: \"Application\",\n        description: \"description\",\n        serviceRef: \"service_ref\",\n        environmentRef: \"environment_ref\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        healthSources: [{\n            name: \"Test\",\n            identifier: \"Test\",\n            type: \"GrafanaLokiLogs\",\n            version: \"v2\",\n            spec: JSON.stringify({\n                connectorRef: \"connectorRef\",\n                queryDefinitions: [\n                    {\n                        name: \"Demo\",\n                        identifier: \"Demo\",\n                        query: \"{job=~\\\".+\\\"}\",\n                        groupName: \"Log_Group\",\n                        queryParams: {\n                            serviceInstanceField: \"job\",\n                        },\n                    },\n                    {\n                        name: \"log2\",\n                        identifier: \"identifier2\",\n                        groupName: \"g2\",\n                        query: \"error\",\n                        queryParams: {\n                            serviceInstanceField: \"_sourcehost\",\n                        },\n                        liveMonitoringEnabled: \"false\",\n                        continuousVerificationEnabled: \"false\",\n                        sliEnabled: \"false\",\n                    },\n                ],\n            }),\n        }],\n    },\n});\n//Sample template for Azure Metrics Health Source\nconst example5 = new harness.platform.MonitoredService(\"example5\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        type: \"Application\",\n        description: \"description\",\n        serviceRef: \"service_ref\",\n        environmentRef: \"environment_ref\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        healthSources: [{\n            name: \"azure metrics verify step\",\n            identifier: \"azure_metrics_verify_step\",\n            type: \"AzureMetrics\",\n            version: \"v2\",\n            spec: JSON.stringify({\n                connectorRef: \"connectorRef\",\n                queryDefinitions: [\n                    {\n                        name: \"metric\",\n                        identifier: \"metric\",\n                        query: \"default\",\n                        groupName: \"g1\",\n                        queryParams: {\n                            serviceInstanceField: \"host\",\n                            index: \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n                            healthSourceMetricName: \"cpuUsagePercentage\",\n                            healthSourceMetricNamespace: \"insights.container/nodes\",\n                            aggregationType: \"average\",\n                        },\n                        riskProfile: {\n                            riskCategory: \"Performance_Other\",\n                            thresholdTypes: [\"ACT_WHEN_HIGHER\"],\n                        },\n                        liveMonitoringEnabled: \"true\",\n                        continuousVerificationEnabled: \"true\",\n                        sliEnabled: \"false\",\n                        metricThresholds: [\n                            {\n                                type: \"IgnoreThreshold\",\n                                spec: {\n                                    action: \"Ignore\",\n                                },\n                                criteria: {\n                                    type: \"Absolute\",\n                                    spec: {\n                                        greaterThan: 100,\n                                    },\n                                },\n                                metrictype: \"Custom\",\n                                metricName: \"metric\",\n                            },\n                            {\n                                type: \"FailImmediately\",\n                                spec: {\n                                    action: \"FailAfterOccurrence\",\n                                    spec: {\n                                        count: 2,\n                                    },\n                                },\n                                criteria: {\n                                    type: \"Absolute\",\n                                    spec: {\n                                        greaterThan: 100,\n                                    },\n                                },\n                                metricType: \"Custom\",\n                                metricName: \"metric\",\n                            },\n                        ],\n                    },\n                    {\n                        name: \"name2\",\n                        identifier: \"identifier2\",\n                        groupName: \"g2\",\n                        queryParams: {\n                            serviceInstanceField: \"host\",\n                            index: \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n                            healthSourceMetricName: \"cpuUsagePercentage\",\n                            healthSourceMetricNamespace: \"insights.container/nodes\",\n                            aggregationType: \"average\",\n                        },\n                        riskProfile: {\n                            riskCategory: \"Performance_Other\",\n                            thresholdTypes: [\"ACT_WHEN_HIGHER\"],\n                        },\n                        liveMonitoringEnabled: \"false\",\n                        continuousVerificationEnabled: \"false\",\n                        sliEnabled: \"false\",\n                    },\n                ],\n            }),\n        }],\n    },\n});\n//Sample template for Azure Log Health Source\nconst example6 = new harness.platform.MonitoredService(\"example6\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        type: \"Application\",\n        description: \"description\",\n        serviceRef: \"service_ref\",\n        environmentRef: \"environment_ref\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        healthSources: [{\n            name: \"Demo azure\",\n            identifier: \"Demo_azure\",\n            type: \"AzureLogs\",\n            version: \"v2\",\n            spec: JSON.stringify({\n                connectorRef: \"connectorRef\",\n                queryDefinitions: [{\n                    name: \"name2\",\n                    identifier: \"identifier2\",\n                    groupName: \"g2\",\n                    query: \"*\",\n                    queryParams: {\n                        serviceInstanceField: \"Name\",\n                        timeStampIdentifier: \"StartedTime\",\n                        messageIdentifier: \"Image\",\n                        index: \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n                    },\n                    liveMonitoringEnabled: \"false\",\n                    continuousVerificationEnabled: \"false\",\n                }],\n            }),\n        }],\n    },\n});\n//Sample template for Prometheus Metrics Health Source\nconst example7 = new harness.platform.MonitoredService(\"example7\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        type: \"Application\",\n        description: \"description\",\n        serviceRef: \"service_ref\",\n        environmentRef: \"environment_ref\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        healthSources: [{\n            name: \"prometheus metrics verify step\",\n            identifier: \"prometheus_metrics\",\n            type: \"Prometheus\",\n            spec: JSON.stringify({\n                connectorRef: \"connectorRef\",\n                metricDefinitions: [{\n                    identifier: \"Prometheus_Metric\",\n                    metricName: \"Prometheus Metric\",\n                    riskProfile: {\n                        riskCategory: \"Performance_Other\",\n                        thresholdTypes: [\"ACT_WHEN_HIGHER\"],\n                    },\n                    analysis: {\n                        liveMonitoring: {\n                            enabled: true,\n                        },\n                        deploymentVerification: {\n                            enabled: true,\n                            serviceInstanceFieldName: \"pod_name\",\n                        },\n                    },\n                    query: \"count(up{group=\\\"cv\\\",group=\\\"cv\\\"})\",\n                    groupName: \"met\",\n                    isManualQuery: true,\n                }],\n                metricPacks: [{\n                    identifier: \"Custom\",\n                    metricThresholds: [\n                        {\n                            type: \"IgnoreThreshold\",\n                            spec: {\n                                action: \"Ignore\",\n                            },\n                            criteria: {\n                                type: \"Absolute\",\n                                spec: {\n                                    greaterThan: 100,\n                                },\n                            },\n                            metrictype: \"Custom\",\n                            metricName: \"Prometheus Metric\",\n                        },\n                        {\n                            type: \"FailImmediately\",\n                            spec: {\n                                action: \"FailAfterOccurrence\",\n                                spec: {\n                                    count: 2,\n                                },\n                            },\n                            criteria: {\n                                type: \"Absolute\",\n                                spec: {\n                                    greaterThan: 100,\n                                },\n                            },\n                            metricType: \"Custom\",\n                            metricName: \"Prometheus Metric\",\n                        },\n                    ],\n                }],\n            }),\n        }],\n    },\n});\n//Sample template for Datadog Metrics Health Source\nconst example8 = new harness.platform.MonitoredService(\"example8\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        type: \"Application\",\n        description: \"description\",\n        serviceRef: \"service_ref\",\n        environmentRef: \"environment_ref\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        healthSources: [{\n            name: \"ddm\",\n            identifier: \"ddm\",\n            type: \"DatadogMetrics\",\n            spec: JSON.stringify({\n                connectorRef: \"connectorRef\",\n                feature: \"Datadog Cloud Metrics\",\n                metricDefinitions: [\n                    {\n                        metricName: \"metric\",\n                        metricPath: \"M1\",\n                        identifier: \"metric\",\n                        query: `avg:kubernetes.cpu.limits{*}.rollup(avg, 60);\navg:kubernetes.cpu.limits{*}.rollup(avg, 30);\n(a+b)/10`,\n                        isManualQuery: true,\n                        isCustomCreatedMetric: true,\n                        riskProfile: {\n                            riskCategory: \"Performance_Other\",\n                            thresholdTypes: [\"ACT_WHEN_HIGHER\"],\n                        },\n                        analysis: {\n                            liveMonitoring: {\n                                enabled: true,\n                            },\n                            deploymentVerification: {\n                                enabled: true,\n                                serviceInstanceFieldName: \"pod\",\n                            },\n                        },\n                    },\n                    {\n                        metricName: \"dashboard_metric_cpu\",\n                        identifier: \"metric_cpu\",\n                        query: `avg:kubernetes.cpu.limits{*}.rollup(avg, 60);\navg:kubernetes.cpu.limits{*}.rollup(avg, 30);\n(a+b)/10`,\n                        isManualQuery: false,\n                        dashboardName: \"dashboard\",\n                        metricPath: \"M1\",\n                        groupingQuery: \"avg:kubernetes.cpu.limits{*} by {host}.rollup(avg, 60)\",\n                        metric: \"kubernetes.cpu.limits\",\n                        aggregation: \"avg\",\n                        isCustomCreatedMetric: true,\n                        riskProfile: {\n                            riskCategory: \"Performance_Other\",\n                            thresholdTypes: [\"ACT_WHEN_HIGHER\"],\n                        },\n                        analysis: {\n                            liveMonitoring: {\n                                enabled: true,\n                            },\n                            deploymentVerification: {\n                                enabled: true,\n                                serviceInstanceFieldName: \"pod\",\n                            },\n                        },\n                    },\n                ],\n                metricPacks: [{\n                    identifier: \"Custom\",\n                    metricThresholds: [\n                        {\n                            type: \"IgnoreThreshold\",\n                            spec: {\n                                action: \"Ignore\",\n                            },\n                            criteria: {\n                                type: \"Absolute\",\n                                spec: {\n                                    greaterThan: 100,\n                                },\n                            },\n                            metrictype: \"Custom\",\n                            metricName: \"metric\",\n                        },\n                        {\n                            type: \"FailImmediately\",\n                            spec: {\n                                action: \"FailAfterOccurrence\",\n                                spec: {\n                                    count: 2,\n                                },\n                            },\n                            criteria: {\n                                type: \"Absolute\",\n                                spec: {\n                                    greaterThan: 100,\n                                },\n                            },\n                            metricType: \"Custom\",\n                            metricName: \"metric\",\n                        },\n                    ],\n                }],\n            }),\n        }],\n    },\n});\n//Sample template for New Relic Metrics Health Source\nconst example9 = new harness.platform.MonitoredService(\"example9\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        type: \"Application\",\n        description: \"description\",\n        serviceRef: \"service_ref\",\n        environmentRef: \"environment_ref\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        healthSources: [{\n            name: \"name\",\n            identifier: \"identifier\",\n            type: \"NewRelic\",\n            spec: JSON.stringify({\n                connectorRef: \"account.Newrelicautomation_do_not_delete\",\n                feature: \"apm\",\n                applicationId: \"107019083\",\n                applicationName: \"My Application\",\n                metricData: {\n                    Performance: true,\n                },\n                metricPacks: [{\n                    identifier: \"Performance\",\n                }],\n                newRelicMetricDefinitions: [{\n                    identifier: \"New_Relic_Metric\",\n                    metricName: \"New Relic Metric\",\n                    riskProfile: {\n                        riskCategory: \"Performance_Other\",\n                        thresholdTypes: [\"ACT_WHEN_HIGHER\"],\n                    },\n                    analysis: {\n                        deploymentVerification: {\n                            enabled: true,\n                        },\n                    },\n                    groupName: \"group1\",\n                    nrql: \"SELECT count(apm.service.instance.count) FROM Metric WHERE appName LIKE 'My Application' TIMESERIES\",\n                    responseMapping: {\n                        metricValueJsonPath: \"$.['timeSeries'].[*].['results'].[*].['count']\",\n                        timestampJsonPath: \"$.['timeSeries'].[*].['beginTimeSeconds']\",\n                    },\n                }],\n                metricPacks: [{\n                    identifier: \"Custom\",\n                    metricThresholds: [\n                        {\n                            type: \"IgnoreThreshold\",\n                            spec: {\n                                action: \"Ignore\",\n                            },\n                            criteria: {\n                                type: \"Absolute\",\n                                spec: {\n                                    greaterThan: 100,\n                                },\n                            },\n                            metricType: \"Custom\",\n                            metricName: \"New Relic Metric\",\n                        },\n                        {\n                            type: \"FailImmediately\",\n                            spec: {\n                                action: \"FailAfterOccurrence\",\n                                spec: {\n                                    count: 2,\n                                },\n                            },\n                            criteria: {\n                                type: \"Absolute\",\n                                spec: {\n                                    greaterThan: 100,\n                                },\n                            },\n                            metricType: \"Custom\",\n                            metricName: \"New Relic Metric\",\n                        },\n                    ],\n                }],\n            }),\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_harness as harness\n\n#Sample template for Elastic Search Log Health Source\nexample = harness.platform.MonitoredService(\"example\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"type\": \"Application\",\n        \"description\": \"description\",\n        \"service_ref\": \"service_ref\",\n        \"environment_ref\": \"environment_ref\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"health_sources\": [{\n            \"name\": \"name\",\n            \"identifier\": \"identifier\",\n            \"type\": \"ElasticSearch\",\n            \"version\": \"v2\",\n            \"spec\": json.dumps({\n                \"connectorRef\": \"connectorRef\",\n                \"queryDefinitions\": [\n                    {\n                        \"name\": \"name\",\n                        \"identifier\": \"infraquery\",\n                        \"query\": \"query\",\n                        \"index\": \"index\",\n                        \"groupName\": \"Logs_Group\",\n                        \"queryParams\": {\n                            \"index\": \"index\",\n                            \"serviceInstanceField\": \"serviceInstanceIdentifier\",\n                            \"timeStampIdentifier\": \"timeStampIdentifier\",\n                            \"timeStampFormat\": \"timeStampFormat\",\n                            \"messageIdentifier\": \"messageIdentifier\",\n                        },\n                    },\n                    {\n                        \"name\": \"name2\",\n                        \"identifier\": \"errorquery\",\n                        \"query\": \"query2\",\n                        \"index\": \"index2\",\n                        \"groupName\": \"Logs_Group\",\n                        \"queryParams\": {\n                            \"index\": \"index\",\n                            \"serviceInstanceField\": \"serviceInstanceIdentifier\",\n                            \"timeStampIdentifier\": \"timeStampIdentifier\",\n                            \"timeStampFormat\": \"timeStampFormat\",\n                            \"messageIdentifier\": \"messageIdentifier\",\n                        },\n                    },\n                ],\n            }),\n        }],\n        \"change_sources\": [\n            {\n                \"name\": \"BAC\",\n                \"identifier\": \"BAC\",\n                \"type\": \"PagerDuty\",\n                \"enabled\": True,\n                \"spec\": json.dumps({\n                    \"connectorRef\": \"account.pd\",\n                    \"pagerDutyServiceId\": \"P0N21OB\",\n                }),\n                \"category\": \"Alert\",\n            },\n            {\n                \"name\": \"FH\",\n                \"identifier\": \"FH\",\n                \"type\": \"CustomIncident\",\n                \"enabled\": True,\n                \"spec\": json.dumps({\n                    \"name\": \"FH\",\n                    \"webhookUrl\": \"https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH\",\n                    \"webhookCurlCommand\": \"curl -X POST -H 'content-type: application/json' -H 'X-Api-Key: sample_api_key' --url 'https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH' -d '{ \\\"eventIdentifier\\\": \\\"\u003cstring\u003e\\\" (optional), \\\"user\\\": \\\"user@harness.io\\\", \\\"startTime\\\": timeInMs, \\\"endTime\\\": timeInMs, \\\"eventDetail\\\": { \\\"description\\\": \\\"\u003cString\u003e\\\", \\\"changeEventDetailsLink\\\": \\\"urlString\\\" (optional), \\\"externalLinkToEntity\\\": \\\"urlString\\\" (optional), \\\"name\\\": \\\"changeEventName\\\" } }'\",\n                    \"type\": \"Alert\",\n                }),\n                \"category\": \"Alert\",\n            },\n            {\n                \"name\": \"customff\",\n                \"identifier\": \"customff\",\n                \"type\": \"CustomFF\",\n                \"enabled\": True,\n                \"category\": \"FeatureFlag\",\n                \"spec\": json.dumps({\n                    \"type\": \"FeatureFlag\",\n                }),\n            },\n            {\n                \"name\": \"customdeploy\",\n                \"identifier\": \"customdeploy\",\n                \"type\": \"CustomDeploy\",\n                \"enabled\": True,\n                \"category\": \"Deployment\",\n                \"spec\": json.dumps({\n                    \"type\": \"Deployment\",\n                }),\n            },\n            {\n                \"name\": \"customincident\",\n                \"identifier\": \"customincident\",\n                \"type\": \"CustomIncident\",\n                \"enabled\": True,\n                \"category\": \"Alert\",\n                \"spec\": json.dumps({\n                    \"type\": \"Alert\",\n                    \"authorizationToken\": \"abc\",\n                }),\n            },\n        ],\n        \"notification_rule_refs\": [\n            {\n                \"notification_rule_ref\": \"notification_rule_ref\",\n                \"enabled\": True,\n            },\n            {\n                \"notification_rule_ref\": \"notification_rule_ref1\",\n                \"enabled\": False,\n            },\n        ],\n    })\n#Sample template for Sumologic Metrics Health Source\nexample1 = harness.platform.MonitoredService(\"example1\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"type\": \"Application\",\n        \"description\": \"description\",\n        \"service_ref\": \"service_ref\",\n        \"environment_ref\": \"environment_ref\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"health_sources\": [{\n            \"name\": \"sumologicmetrics\",\n            \"identifier\": \"sumo_metric_identifier\",\n            \"type\": \"SumologicMetrics\",\n            \"version\": \"v2\",\n            \"spec\": json.dumps({\n                \"connectorRef\": \"connectorRef\",\n                \"queryDefinitions\": [\n                    {\n                        \"name\": \"metric_cpu\",\n                        \"identifier\": \"metric_cpu\",\n                        \"query\": \"metric=cpu\",\n                        \"groupName\": \"g1\",\n                        \"queryParams\": {\n                            \"serviceInstanceField\": \"_sourcehost\",\n                        },\n                        \"riskProfile\": {\n                            \"riskCategory\": \"Performance_Other\",\n                            \"thresholdTypes\": [\"ACT_WHEN_HIGHER\"],\n                        },\n                        \"liveMonitoringEnabled\": \"true\",\n                        \"continuousVerificationEnabled\": \"true\",\n                        \"sliEnabled\": \"false\",\n                        \"metricThresholds\": [\n                            {\n                                \"type\": \"IgnoreThreshold\",\n                                \"spec\": {\n                                    \"action\": \"Ignore\",\n                                },\n                                \"criteria\": {\n                                    \"type\": \"Absolute\",\n                                    \"spec\": {\n                                        \"greaterThan\": 100,\n                                    },\n                                },\n                                \"metricType\": \"Custom\",\n                                \"metricName\": \"metric_cpu\",\n                            },\n                            {\n                                \"type\": \"FailImmediately\",\n                                \"spec\": {\n                                    \"action\": \"FailAfterOccurrence\",\n                                    \"spec\": {\n                                        \"count\": 2,\n                                    },\n                                },\n                                \"criteria\": {\n                                    \"type\": \"Absolute\",\n                                    \"spec\": {\n                                        \"greaterThan\": 100,\n                                    },\n                                },\n                                \"metricType\": \"Custom\",\n                                \"metricName\": \"metric_cpu\",\n                            },\n                        ],\n                    },\n                    {\n                        \"name\": \"name2\",\n                        \"identifier\": \"identifier2\",\n                        \"groupName\": \"g2\",\n                        \"query\": \"metric=memory\",\n                        \"queryParams\": {\n                            \"serviceInstanceField\": \"_sourcehost\",\n                        },\n                        \"riskProfile\": {\n                            \"riskCategory\": \"Performance_Other\",\n                            \"thresholdTypes\": [\"ACT_WHEN_HIGHER\"],\n                        },\n                        \"liveMonitoringEnabled\": \"false\",\n                        \"continuousVerificationEnabled\": \"false\",\n                        \"sliEnabled\": \"false\",\n                    },\n                ],\n            }),\n        }],\n    })\n#Sample template for Sumologic Log Health Source\nexample2 = harness.platform.MonitoredService(\"example2\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"type\": \"Application\",\n        \"description\": \"description\",\n        \"service_ref\": \"service_ref\",\n        \"environment_ref\": \"environment_ref\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"health_sources\": [{\n            \"name\": \"sumologic\",\n            \"identifier\": \"sumo_metric_identifier\",\n            \"type\": \"SumologicLogs\",\n            \"version\": \"v2\",\n            \"spec\": json.dumps({\n                \"connectorRef\": \"connectorRef\",\n                \"queryDefinitions\": [\n                    {\n                        \"name\": \"log1\",\n                        \"identifier\": \"log1\",\n                        \"query\": \"*\",\n                        \"groupName\": \"Logs Group\",\n                        \"queryParams\": {\n                            \"serviceInstanceField\": \"_sourcehost\",\n                        },\n                    },\n                    {\n                        \"name\": \"log2\",\n                        \"identifier\": \"identifier2\",\n                        \"groupName\": \"g2\",\n                        \"query\": \"error\",\n                        \"queryParams\": {\n                            \"serviceInstanceField\": \"_sourcehost\",\n                        },\n                    },\n                ],\n            }),\n        }],\n    })\n#Sample template for Splunk Signal FX Health Source\nexample3 = harness.platform.MonitoredService(\"example3\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"type\": \"Application\",\n        \"description\": \"description\",\n        \"service_ref\": \"service_ref\",\n        \"environment_ref\": \"environment_ref\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"health_sources\": [{\n            \"name\": \"signalfxmetrics\",\n            \"identifier\": \"signalfxmetrics\",\n            \"type\": \"SplunkSignalFXMetrics\",\n            \"version\": \"v2\",\n            \"spec\": json.dumps({\n                \"connectorRef\": \"connectorRef\",\n                \"queryDefinitions\": [\n                    {\n                        \"name\": \"metric_infra_cpu\",\n                        \"identifier\": \"metric_infra_cpu\",\n                        \"query\": \"***\",\n                        \"groupName\": \"g\",\n                        \"riskProfile\": {\n                            \"riskCategory\": \"Errors\",\n                            \"thresholdTypes\": [\n                                \"ACT_WHEN_HIGHER\",\n                                \"ACT_WHEN_LOWER\",\n                            ],\n                        },\n                        \"liveMonitoringEnabled\": \"true\",\n                        \"continuousVerificationEnabled\": \"true\",\n                        \"sliEnabled\": \"false\",\n                    },\n                    {\n                        \"name\": \"name2\",\n                        \"identifier\": \"identifier2\",\n                        \"groupName\": \"g2\",\n                        \"query\": \"*\",\n                        \"riskProfile\": {\n                            \"riskCategory\": \"Performance_Other\",\n                            \"thresholdTypes\": [\"ACT_WHEN_HIGHER\"],\n                        },\n                        \"liveMonitoringEnabled\": \"true\",\n                        \"continuousVerificationEnabled\": \"false\",\n                        \"sliEnabled\": \"false\",\n                        \"metricThresholds\": [\n                            {\n                                \"type\": \"IgnoreThreshold\",\n                                \"spec\": {\n                                    \"action\": \"Ignore\",\n                                },\n                                \"criteria\": {\n                                    \"type\": \"Absolute\",\n                                    \"spec\": {\n                                        \"greaterThan\": 100,\n                                    },\n                                },\n                                \"metrictype\": \"Custom\",\n                                \"metricName\": \"identifier2\",\n                            },\n                            {\n                                \"type\": \"FailImmediately\",\n                                \"spec\": {\n                                    \"action\": \"FailAfterOccurrence\",\n                                    \"spec\": {\n                                        \"count\": 2,\n                                    },\n                                },\n                                \"criteria\": {\n                                    \"type\": \"Absolute\",\n                                    \"spec\": {\n                                        \"greaterThan\": 100,\n                                    },\n                                },\n                                \"metricType\": \"Custom\",\n                                \"metricName\": \"identifier2\",\n                            },\n                        ],\n                    },\n                ],\n            }),\n        }],\n    })\n#Sample template for Grafana Loki Log Health Source\nexample4 = harness.platform.MonitoredService(\"example4\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"type\": \"Application\",\n        \"description\": \"description\",\n        \"service_ref\": \"service_ref\",\n        \"environment_ref\": \"environment_ref\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"health_sources\": [{\n            \"name\": \"Test\",\n            \"identifier\": \"Test\",\n            \"type\": \"GrafanaLokiLogs\",\n            \"version\": \"v2\",\n            \"spec\": json.dumps({\n                \"connectorRef\": \"connectorRef\",\n                \"queryDefinitions\": [\n                    {\n                        \"name\": \"Demo\",\n                        \"identifier\": \"Demo\",\n                        \"query\": \"{job=~\\\".+\\\"}\",\n                        \"groupName\": \"Log_Group\",\n                        \"queryParams\": {\n                            \"serviceInstanceField\": \"job\",\n                        },\n                    },\n                    {\n                        \"name\": \"log2\",\n                        \"identifier\": \"identifier2\",\n                        \"groupName\": \"g2\",\n                        \"query\": \"error\",\n                        \"queryParams\": {\n                            \"serviceInstanceField\": \"_sourcehost\",\n                        },\n                        \"liveMonitoringEnabled\": \"false\",\n                        \"continuousVerificationEnabled\": \"false\",\n                        \"sliEnabled\": \"false\",\n                    },\n                ],\n            }),\n        }],\n    })\n#Sample template for Azure Metrics Health Source\nexample5 = harness.platform.MonitoredService(\"example5\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"type\": \"Application\",\n        \"description\": \"description\",\n        \"service_ref\": \"service_ref\",\n        \"environment_ref\": \"environment_ref\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"health_sources\": [{\n            \"name\": \"azure metrics verify step\",\n            \"identifier\": \"azure_metrics_verify_step\",\n            \"type\": \"AzureMetrics\",\n            \"version\": \"v2\",\n            \"spec\": json.dumps({\n                \"connectorRef\": \"connectorRef\",\n                \"queryDefinitions\": [\n                    {\n                        \"name\": \"metric\",\n                        \"identifier\": \"metric\",\n                        \"query\": \"default\",\n                        \"groupName\": \"g1\",\n                        \"queryParams\": {\n                            \"serviceInstanceField\": \"host\",\n                            \"index\": \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n                            \"healthSourceMetricName\": \"cpuUsagePercentage\",\n                            \"healthSourceMetricNamespace\": \"insights.container/nodes\",\n                            \"aggregationType\": \"average\",\n                        },\n                        \"riskProfile\": {\n                            \"riskCategory\": \"Performance_Other\",\n                            \"thresholdTypes\": [\"ACT_WHEN_HIGHER\"],\n                        },\n                        \"liveMonitoringEnabled\": \"true\",\n                        \"continuousVerificationEnabled\": \"true\",\n                        \"sliEnabled\": \"false\",\n                        \"metricThresholds\": [\n                            {\n                                \"type\": \"IgnoreThreshold\",\n                                \"spec\": {\n                                    \"action\": \"Ignore\",\n                                },\n                                \"criteria\": {\n                                    \"type\": \"Absolute\",\n                                    \"spec\": {\n                                        \"greaterThan\": 100,\n                                    },\n                                },\n                                \"metrictype\": \"Custom\",\n                                \"metricName\": \"metric\",\n                            },\n                            {\n                                \"type\": \"FailImmediately\",\n                                \"spec\": {\n                                    \"action\": \"FailAfterOccurrence\",\n                                    \"spec\": {\n                                        \"count\": 2,\n                                    },\n                                },\n                                \"criteria\": {\n                                    \"type\": \"Absolute\",\n                                    \"spec\": {\n                                        \"greaterThan\": 100,\n                                    },\n                                },\n                                \"metricType\": \"Custom\",\n                                \"metricName\": \"metric\",\n                            },\n                        ],\n                    },\n                    {\n                        \"name\": \"name2\",\n                        \"identifier\": \"identifier2\",\n                        \"groupName\": \"g2\",\n                        \"queryParams\": {\n                            \"serviceInstanceField\": \"host\",\n                            \"index\": \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n                            \"healthSourceMetricName\": \"cpuUsagePercentage\",\n                            \"healthSourceMetricNamespace\": \"insights.container/nodes\",\n                            \"aggregationType\": \"average\",\n                        },\n                        \"riskProfile\": {\n                            \"riskCategory\": \"Performance_Other\",\n                            \"thresholdTypes\": [\"ACT_WHEN_HIGHER\"],\n                        },\n                        \"liveMonitoringEnabled\": \"false\",\n                        \"continuousVerificationEnabled\": \"false\",\n                        \"sliEnabled\": \"false\",\n                    },\n                ],\n            }),\n        }],\n    })\n#Sample template for Azure Log Health Source\nexample6 = harness.platform.MonitoredService(\"example6\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"type\": \"Application\",\n        \"description\": \"description\",\n        \"service_ref\": \"service_ref\",\n        \"environment_ref\": \"environment_ref\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"health_sources\": [{\n            \"name\": \"Demo azure\",\n            \"identifier\": \"Demo_azure\",\n            \"type\": \"AzureLogs\",\n            \"version\": \"v2\",\n            \"spec\": json.dumps({\n                \"connectorRef\": \"connectorRef\",\n                \"queryDefinitions\": [{\n                    \"name\": \"name2\",\n                    \"identifier\": \"identifier2\",\n                    \"groupName\": \"g2\",\n                    \"query\": \"*\",\n                    \"queryParams\": {\n                        \"serviceInstanceField\": \"Name\",\n                        \"timeStampIdentifier\": \"StartedTime\",\n                        \"messageIdentifier\": \"Image\",\n                        \"index\": \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n                    },\n                    \"liveMonitoringEnabled\": \"false\",\n                    \"continuousVerificationEnabled\": \"false\",\n                }],\n            }),\n        }],\n    })\n#Sample template for Prometheus Metrics Health Source\nexample7 = harness.platform.MonitoredService(\"example7\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"type\": \"Application\",\n        \"description\": \"description\",\n        \"service_ref\": \"service_ref\",\n        \"environment_ref\": \"environment_ref\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"health_sources\": [{\n            \"name\": \"prometheus metrics verify step\",\n            \"identifier\": \"prometheus_metrics\",\n            \"type\": \"Prometheus\",\n            \"spec\": json.dumps({\n                \"connectorRef\": \"connectorRef\",\n                \"metricDefinitions\": [{\n                    \"identifier\": \"Prometheus_Metric\",\n                    \"metricName\": \"Prometheus Metric\",\n                    \"riskProfile\": {\n                        \"riskCategory\": \"Performance_Other\",\n                        \"thresholdTypes\": [\"ACT_WHEN_HIGHER\"],\n                    },\n                    \"analysis\": {\n                        \"liveMonitoring\": {\n                            \"enabled\": True,\n                        },\n                        \"deploymentVerification\": {\n                            \"enabled\": True,\n                            \"serviceInstanceFieldName\": \"pod_name\",\n                        },\n                    },\n                    \"query\": \"count(up{group=\\\"cv\\\",group=\\\"cv\\\"})\",\n                    \"groupName\": \"met\",\n                    \"isManualQuery\": True,\n                }],\n                \"metricPacks\": [{\n                    \"identifier\": \"Custom\",\n                    \"metricThresholds\": [\n                        {\n                            \"type\": \"IgnoreThreshold\",\n                            \"spec\": {\n                                \"action\": \"Ignore\",\n                            },\n                            \"criteria\": {\n                                \"type\": \"Absolute\",\n                                \"spec\": {\n                                    \"greaterThan\": 100,\n                                },\n                            },\n                            \"metrictype\": \"Custom\",\n                            \"metricName\": \"Prometheus Metric\",\n                        },\n                        {\n                            \"type\": \"FailImmediately\",\n                            \"spec\": {\n                                \"action\": \"FailAfterOccurrence\",\n                                \"spec\": {\n                                    \"count\": 2,\n                                },\n                            },\n                            \"criteria\": {\n                                \"type\": \"Absolute\",\n                                \"spec\": {\n                                    \"greaterThan\": 100,\n                                },\n                            },\n                            \"metricType\": \"Custom\",\n                            \"metricName\": \"Prometheus Metric\",\n                        },\n                    ],\n                }],\n            }),\n        }],\n    })\n#Sample template for Datadog Metrics Health Source\nexample8 = harness.platform.MonitoredService(\"example8\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"type\": \"Application\",\n        \"description\": \"description\",\n        \"service_ref\": \"service_ref\",\n        \"environment_ref\": \"environment_ref\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"health_sources\": [{\n            \"name\": \"ddm\",\n            \"identifier\": \"ddm\",\n            \"type\": \"DatadogMetrics\",\n            \"spec\": json.dumps({\n                \"connectorRef\": \"connectorRef\",\n                \"feature\": \"Datadog Cloud Metrics\",\n                \"metricDefinitions\": [\n                    {\n                        \"metricName\": \"metric\",\n                        \"metricPath\": \"M1\",\n                        \"identifier\": \"metric\",\n                        \"query\": \"\"\"avg:kubernetes.cpu.limits{*}.rollup(avg, 60);\navg:kubernetes.cpu.limits{*}.rollup(avg, 30);\n(a+b)/10\"\"\",\n                        \"isManualQuery\": True,\n                        \"isCustomCreatedMetric\": True,\n                        \"riskProfile\": {\n                            \"riskCategory\": \"Performance_Other\",\n                            \"thresholdTypes\": [\"ACT_WHEN_HIGHER\"],\n                        },\n                        \"analysis\": {\n                            \"liveMonitoring\": {\n                                \"enabled\": True,\n                            },\n                            \"deploymentVerification\": {\n                                \"enabled\": True,\n                                \"serviceInstanceFieldName\": \"pod\",\n                            },\n                        },\n                    },\n                    {\n                        \"metricName\": \"dashboard_metric_cpu\",\n                        \"identifier\": \"metric_cpu\",\n                        \"query\": \"\"\"avg:kubernetes.cpu.limits{*}.rollup(avg, 60);\navg:kubernetes.cpu.limits{*}.rollup(avg, 30);\n(a+b)/10\"\"\",\n                        \"isManualQuery\": False,\n                        \"dashboardName\": \"dashboard\",\n                        \"metricPath\": \"M1\",\n                        \"groupingQuery\": \"avg:kubernetes.cpu.limits{*} by {host}.rollup(avg, 60)\",\n                        \"metric\": \"kubernetes.cpu.limits\",\n                        \"aggregation\": \"avg\",\n                        \"isCustomCreatedMetric\": True,\n                        \"riskProfile\": {\n                            \"riskCategory\": \"Performance_Other\",\n                            \"thresholdTypes\": [\"ACT_WHEN_HIGHER\"],\n                        },\n                        \"analysis\": {\n                            \"liveMonitoring\": {\n                                \"enabled\": True,\n                            },\n                            \"deploymentVerification\": {\n                                \"enabled\": True,\n                                \"serviceInstanceFieldName\": \"pod\",\n                            },\n                        },\n                    },\n                ],\n                \"metricPacks\": [{\n                    \"identifier\": \"Custom\",\n                    \"metricThresholds\": [\n                        {\n                            \"type\": \"IgnoreThreshold\",\n                            \"spec\": {\n                                \"action\": \"Ignore\",\n                            },\n                            \"criteria\": {\n                                \"type\": \"Absolute\",\n                                \"spec\": {\n                                    \"greaterThan\": 100,\n                                },\n                            },\n                            \"metrictype\": \"Custom\",\n                            \"metricName\": \"metric\",\n                        },\n                        {\n                            \"type\": \"FailImmediately\",\n                            \"spec\": {\n                                \"action\": \"FailAfterOccurrence\",\n                                \"spec\": {\n                                    \"count\": 2,\n                                },\n                            },\n                            \"criteria\": {\n                                \"type\": \"Absolute\",\n                                \"spec\": {\n                                    \"greaterThan\": 100,\n                                },\n                            },\n                            \"metricType\": \"Custom\",\n                            \"metricName\": \"metric\",\n                        },\n                    ],\n                }],\n            }),\n        }],\n    })\n#Sample template for New Relic Metrics Health Source\nexample9 = harness.platform.MonitoredService(\"example9\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"type\": \"Application\",\n        \"description\": \"description\",\n        \"service_ref\": \"service_ref\",\n        \"environment_ref\": \"environment_ref\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"health_sources\": [{\n            \"name\": \"name\",\n            \"identifier\": \"identifier\",\n            \"type\": \"NewRelic\",\n            \"spec\": json.dumps({\n                \"connectorRef\": \"account.Newrelicautomation_do_not_delete\",\n                \"feature\": \"apm\",\n                \"applicationId\": \"107019083\",\n                \"applicationName\": \"My Application\",\n                \"metricData\": {\n                    \"Performance\": True,\n                },\n                \"metricPacks\": [{\n                    \"identifier\": \"Performance\",\n                }],\n                \"newRelicMetricDefinitions\": [{\n                    \"identifier\": \"New_Relic_Metric\",\n                    \"metricName\": \"New Relic Metric\",\n                    \"riskProfile\": {\n                        \"riskCategory\": \"Performance_Other\",\n                        \"thresholdTypes\": [\"ACT_WHEN_HIGHER\"],\n                    },\n                    \"analysis\": {\n                        \"deploymentVerification\": {\n                            \"enabled\": True,\n                        },\n                    },\n                    \"groupName\": \"group1\",\n                    \"nrql\": \"SELECT count(apm.service.instance.count) FROM Metric WHERE appName LIKE 'My Application' TIMESERIES\",\n                    \"responseMapping\": {\n                        \"metricValueJsonPath\": \"$.['timeSeries'].[*].['results'].[*].['count']\",\n                        \"timestampJsonPath\": \"$.['timeSeries'].[*].['beginTimeSeconds']\",\n                    },\n                }],\n                \"metricPacks\": [{\n                    \"identifier\": \"Custom\",\n                    \"metricThresholds\": [\n                        {\n                            \"type\": \"IgnoreThreshold\",\n                            \"spec\": {\n                                \"action\": \"Ignore\",\n                            },\n                            \"criteria\": {\n                                \"type\": \"Absolute\",\n                                \"spec\": {\n                                    \"greaterThan\": 100,\n                                },\n                            },\n                            \"metricType\": \"Custom\",\n                            \"metricName\": \"New Relic Metric\",\n                        },\n                        {\n                            \"type\": \"FailImmediately\",\n                            \"spec\": {\n                                \"action\": \"FailAfterOccurrence\",\n                                \"spec\": {\n                                    \"count\": 2,\n                                },\n                            },\n                            \"criteria\": {\n                                \"type\": \"Absolute\",\n                                \"spec\": {\n                                    \"greaterThan\": 100,\n                                },\n                            },\n                            \"metricType\": \"Custom\",\n                            \"metricName\": \"New Relic Metric\",\n                        },\n                    ],\n                }],\n            }),\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    //Sample template for Elastic Search Log Health Source\n    var example = new Harness.Platform.MonitoredService(\"example\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.MonitoredServiceRequestArgs\n        {\n            Name = \"name\",\n            Type = \"Application\",\n            Description = \"description\",\n            ServiceRef = \"service_ref\",\n            EnvironmentRef = \"environment_ref\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            HealthSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestHealthSourceArgs\n                {\n                    Name = \"name\",\n                    Identifier = \"identifier\",\n                    Type = \"ElasticSearch\",\n                    Version = \"v2\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"connectorRef\",\n                        [\"queryDefinitions\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"name\",\n                                [\"identifier\"] = \"infraquery\",\n                                [\"query\"] = \"query\",\n                                [\"index\"] = \"index\",\n                                [\"groupName\"] = \"Logs_Group\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"index\"] = \"index\",\n                                    [\"serviceInstanceField\"] = \"serviceInstanceIdentifier\",\n                                    [\"timeStampIdentifier\"] = \"timeStampIdentifier\",\n                                    [\"timeStampFormat\"] = \"timeStampFormat\",\n                                    [\"messageIdentifier\"] = \"messageIdentifier\",\n                                },\n                            },\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"name2\",\n                                [\"identifier\"] = \"errorquery\",\n                                [\"query\"] = \"query2\",\n                                [\"index\"] = \"index2\",\n                                [\"groupName\"] = \"Logs_Group\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"index\"] = \"index\",\n                                    [\"serviceInstanceField\"] = \"serviceInstanceIdentifier\",\n                                    [\"timeStampIdentifier\"] = \"timeStampIdentifier\",\n                                    [\"timeStampFormat\"] = \"timeStampFormat\",\n                                    [\"messageIdentifier\"] = \"messageIdentifier\",\n                                },\n                            },\n                        },\n                    }),\n                },\n            },\n            ChangeSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestChangeSourceArgs\n                {\n                    Name = \"BAC\",\n                    Identifier = \"BAC\",\n                    Type = \"PagerDuty\",\n                    Enabled = true,\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"account.pd\",\n                        [\"pagerDutyServiceId\"] = \"P0N21OB\",\n                    }),\n                    Category = \"Alert\",\n                },\n                new Harness.Platform.Inputs.MonitoredServiceRequestChangeSourceArgs\n                {\n                    Name = \"FH\",\n                    Identifier = \"FH\",\n                    Type = \"CustomIncident\",\n                    Enabled = true,\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"name\"] = \"FH\",\n                        [\"webhookUrl\"] = \"https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH\",\n                        [\"webhookCurlCommand\"] = \"curl -X POST -H 'content-type: application/json' -H 'X-Api-Key: sample_api_key' --url 'https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH' -d '{ \\\"eventIdentifier\\\": \\\"\u003cstring\u003e\\\" (optional), \\\"user\\\": \\\"user@harness.io\\\", \\\"startTime\\\": timeInMs, \\\"endTime\\\": timeInMs, \\\"eventDetail\\\": { \\\"description\\\": \\\"\u003cString\u003e\\\", \\\"changeEventDetailsLink\\\": \\\"urlString\\\" (optional), \\\"externalLinkToEntity\\\": \\\"urlString\\\" (optional), \\\"name\\\": \\\"changeEventName\\\" } }'\",\n                        [\"type\"] = \"Alert\",\n                    }),\n                    Category = \"Alert\",\n                },\n                new Harness.Platform.Inputs.MonitoredServiceRequestChangeSourceArgs\n                {\n                    Name = \"customff\",\n                    Identifier = \"customff\",\n                    Type = \"CustomFF\",\n                    Enabled = true,\n                    Category = \"FeatureFlag\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"type\"] = \"FeatureFlag\",\n                    }),\n                },\n                new Harness.Platform.Inputs.MonitoredServiceRequestChangeSourceArgs\n                {\n                    Name = \"customdeploy\",\n                    Identifier = \"customdeploy\",\n                    Type = \"CustomDeploy\",\n                    Enabled = true,\n                    Category = \"Deployment\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"type\"] = \"Deployment\",\n                    }),\n                },\n                new Harness.Platform.Inputs.MonitoredServiceRequestChangeSourceArgs\n                {\n                    Name = \"customincident\",\n                    Identifier = \"customincident\",\n                    Type = \"CustomIncident\",\n                    Enabled = true,\n                    Category = \"Alert\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"type\"] = \"Alert\",\n                        [\"authorizationToken\"] = \"abc\",\n                    }),\n                },\n            },\n            NotificationRuleRefs = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestNotificationRuleRefArgs\n                {\n                    NotificationRuleRef = \"notification_rule_ref\",\n                    Enabled = true,\n                },\n                new Harness.Platform.Inputs.MonitoredServiceRequestNotificationRuleRefArgs\n                {\n                    NotificationRuleRef = \"notification_rule_ref1\",\n                    Enabled = false,\n                },\n            },\n        },\n    });\n\n    //Sample template for Sumologic Metrics Health Source\n    var example1 = new Harness.Platform.MonitoredService(\"example1\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.MonitoredServiceRequestArgs\n        {\n            Name = \"name\",\n            Type = \"Application\",\n            Description = \"description\",\n            ServiceRef = \"service_ref\",\n            EnvironmentRef = \"environment_ref\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            HealthSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestHealthSourceArgs\n                {\n                    Name = \"sumologicmetrics\",\n                    Identifier = \"sumo_metric_identifier\",\n                    Type = \"SumologicMetrics\",\n                    Version = \"v2\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"connectorRef\",\n                        [\"queryDefinitions\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"metric_cpu\",\n                                [\"identifier\"] = \"metric_cpu\",\n                                [\"query\"] = \"metric=cpu\",\n                                [\"groupName\"] = \"g1\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"serviceInstanceField\"] = \"_sourcehost\",\n                                },\n                                [\"riskProfile\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"riskCategory\"] = \"Performance_Other\",\n                                    [\"thresholdTypes\"] = new[]\n                                    {\n                                        \"ACT_WHEN_HIGHER\",\n                                    },\n                                },\n                                [\"liveMonitoringEnabled\"] = \"true\",\n                                [\"continuousVerificationEnabled\"] = \"true\",\n                                [\"sliEnabled\"] = \"false\",\n                                [\"metricThresholds\"] = new[]\n                                {\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"IgnoreThreshold\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"Ignore\",\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metricType\"] = \"Custom\",\n                                        [\"metricName\"] = \"metric_cpu\",\n                                    },\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"FailImmediately\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"FailAfterOccurrence\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"count\"] = 2,\n                                            },\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metricType\"] = \"Custom\",\n                                        [\"metricName\"] = \"metric_cpu\",\n                                    },\n                                },\n                            },\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"name2\",\n                                [\"identifier\"] = \"identifier2\",\n                                [\"groupName\"] = \"g2\",\n                                [\"query\"] = \"metric=memory\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"serviceInstanceField\"] = \"_sourcehost\",\n                                },\n                                [\"riskProfile\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"riskCategory\"] = \"Performance_Other\",\n                                    [\"thresholdTypes\"] = new[]\n                                    {\n                                        \"ACT_WHEN_HIGHER\",\n                                    },\n                                },\n                                [\"liveMonitoringEnabled\"] = \"false\",\n                                [\"continuousVerificationEnabled\"] = \"false\",\n                                [\"sliEnabled\"] = \"false\",\n                            },\n                        },\n                    }),\n                },\n            },\n        },\n    });\n\n    //Sample template for Sumologic Log Health Source\n    var example2 = new Harness.Platform.MonitoredService(\"example2\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.MonitoredServiceRequestArgs\n        {\n            Name = \"name\",\n            Type = \"Application\",\n            Description = \"description\",\n            ServiceRef = \"service_ref\",\n            EnvironmentRef = \"environment_ref\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            HealthSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestHealthSourceArgs\n                {\n                    Name = \"sumologic\",\n                    Identifier = \"sumo_metric_identifier\",\n                    Type = \"SumologicLogs\",\n                    Version = \"v2\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"connectorRef\",\n                        [\"queryDefinitions\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"log1\",\n                                [\"identifier\"] = \"log1\",\n                                [\"query\"] = \"*\",\n                                [\"groupName\"] = \"Logs Group\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"serviceInstanceField\"] = \"_sourcehost\",\n                                },\n                            },\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"log2\",\n                                [\"identifier\"] = \"identifier2\",\n                                [\"groupName\"] = \"g2\",\n                                [\"query\"] = \"error\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"serviceInstanceField\"] = \"_sourcehost\",\n                                },\n                            },\n                        },\n                    }),\n                },\n            },\n        },\n    });\n\n    //Sample template for Splunk Signal FX Health Source\n    var example3 = new Harness.Platform.MonitoredService(\"example3\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.MonitoredServiceRequestArgs\n        {\n            Name = \"name\",\n            Type = \"Application\",\n            Description = \"description\",\n            ServiceRef = \"service_ref\",\n            EnvironmentRef = \"environment_ref\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            HealthSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestHealthSourceArgs\n                {\n                    Name = \"signalfxmetrics\",\n                    Identifier = \"signalfxmetrics\",\n                    Type = \"SplunkSignalFXMetrics\",\n                    Version = \"v2\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"connectorRef\",\n                        [\"queryDefinitions\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"metric_infra_cpu\",\n                                [\"identifier\"] = \"metric_infra_cpu\",\n                                [\"query\"] = \"***\",\n                                [\"groupName\"] = \"g\",\n                                [\"riskProfile\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"riskCategory\"] = \"Errors\",\n                                    [\"thresholdTypes\"] = new[]\n                                    {\n                                        \"ACT_WHEN_HIGHER\",\n                                        \"ACT_WHEN_LOWER\",\n                                    },\n                                },\n                                [\"liveMonitoringEnabled\"] = \"true\",\n                                [\"continuousVerificationEnabled\"] = \"true\",\n                                [\"sliEnabled\"] = \"false\",\n                            },\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"name2\",\n                                [\"identifier\"] = \"identifier2\",\n                                [\"groupName\"] = \"g2\",\n                                [\"query\"] = \"*\",\n                                [\"riskProfile\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"riskCategory\"] = \"Performance_Other\",\n                                    [\"thresholdTypes\"] = new[]\n                                    {\n                                        \"ACT_WHEN_HIGHER\",\n                                    },\n                                },\n                                [\"liveMonitoringEnabled\"] = \"true\",\n                                [\"continuousVerificationEnabled\"] = \"false\",\n                                [\"sliEnabled\"] = \"false\",\n                                [\"metricThresholds\"] = new[]\n                                {\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"IgnoreThreshold\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"Ignore\",\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metrictype\"] = \"Custom\",\n                                        [\"metricName\"] = \"identifier2\",\n                                    },\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"FailImmediately\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"FailAfterOccurrence\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"count\"] = 2,\n                                            },\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metricType\"] = \"Custom\",\n                                        [\"metricName\"] = \"identifier2\",\n                                    },\n                                },\n                            },\n                        },\n                    }),\n                },\n            },\n        },\n    });\n\n    //Sample template for Grafana Loki Log Health Source\n    var example4 = new Harness.Platform.MonitoredService(\"example4\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.MonitoredServiceRequestArgs\n        {\n            Name = \"name\",\n            Type = \"Application\",\n            Description = \"description\",\n            ServiceRef = \"service_ref\",\n            EnvironmentRef = \"environment_ref\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            HealthSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestHealthSourceArgs\n                {\n                    Name = \"Test\",\n                    Identifier = \"Test\",\n                    Type = \"GrafanaLokiLogs\",\n                    Version = \"v2\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"connectorRef\",\n                        [\"queryDefinitions\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"Demo\",\n                                [\"identifier\"] = \"Demo\",\n                                [\"query\"] = \"{job=~\\\".+\\\"}\",\n                                [\"groupName\"] = \"Log_Group\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"serviceInstanceField\"] = \"job\",\n                                },\n                            },\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"log2\",\n                                [\"identifier\"] = \"identifier2\",\n                                [\"groupName\"] = \"g2\",\n                                [\"query\"] = \"error\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"serviceInstanceField\"] = \"_sourcehost\",\n                                },\n                                [\"liveMonitoringEnabled\"] = \"false\",\n                                [\"continuousVerificationEnabled\"] = \"false\",\n                                [\"sliEnabled\"] = \"false\",\n                            },\n                        },\n                    }),\n                },\n            },\n        },\n    });\n\n    //Sample template for Azure Metrics Health Source\n    var example5 = new Harness.Platform.MonitoredService(\"example5\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.MonitoredServiceRequestArgs\n        {\n            Name = \"name\",\n            Type = \"Application\",\n            Description = \"description\",\n            ServiceRef = \"service_ref\",\n            EnvironmentRef = \"environment_ref\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            HealthSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestHealthSourceArgs\n                {\n                    Name = \"azure metrics verify step\",\n                    Identifier = \"azure_metrics_verify_step\",\n                    Type = \"AzureMetrics\",\n                    Version = \"v2\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"connectorRef\",\n                        [\"queryDefinitions\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"metric\",\n                                [\"identifier\"] = \"metric\",\n                                [\"query\"] = \"default\",\n                                [\"groupName\"] = \"g1\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"serviceInstanceField\"] = \"host\",\n                                    [\"index\"] = \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n                                    [\"healthSourceMetricName\"] = \"cpuUsagePercentage\",\n                                    [\"healthSourceMetricNamespace\"] = \"insights.container/nodes\",\n                                    [\"aggregationType\"] = \"average\",\n                                },\n                                [\"riskProfile\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"riskCategory\"] = \"Performance_Other\",\n                                    [\"thresholdTypes\"] = new[]\n                                    {\n                                        \"ACT_WHEN_HIGHER\",\n                                    },\n                                },\n                                [\"liveMonitoringEnabled\"] = \"true\",\n                                [\"continuousVerificationEnabled\"] = \"true\",\n                                [\"sliEnabled\"] = \"false\",\n                                [\"metricThresholds\"] = new[]\n                                {\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"IgnoreThreshold\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"Ignore\",\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metrictype\"] = \"Custom\",\n                                        [\"metricName\"] = \"metric\",\n                                    },\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"FailImmediately\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"FailAfterOccurrence\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"count\"] = 2,\n                                            },\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metricType\"] = \"Custom\",\n                                        [\"metricName\"] = \"metric\",\n                                    },\n                                },\n                            },\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"name2\",\n                                [\"identifier\"] = \"identifier2\",\n                                [\"groupName\"] = \"g2\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"serviceInstanceField\"] = \"host\",\n                                    [\"index\"] = \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n                                    [\"healthSourceMetricName\"] = \"cpuUsagePercentage\",\n                                    [\"healthSourceMetricNamespace\"] = \"insights.container/nodes\",\n                                    [\"aggregationType\"] = \"average\",\n                                },\n                                [\"riskProfile\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"riskCategory\"] = \"Performance_Other\",\n                                    [\"thresholdTypes\"] = new[]\n                                    {\n                                        \"ACT_WHEN_HIGHER\",\n                                    },\n                                },\n                                [\"liveMonitoringEnabled\"] = \"false\",\n                                [\"continuousVerificationEnabled\"] = \"false\",\n                                [\"sliEnabled\"] = \"false\",\n                            },\n                        },\n                    }),\n                },\n            },\n        },\n    });\n\n    //Sample template for Azure Log Health Source\n    var example6 = new Harness.Platform.MonitoredService(\"example6\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.MonitoredServiceRequestArgs\n        {\n            Name = \"name\",\n            Type = \"Application\",\n            Description = \"description\",\n            ServiceRef = \"service_ref\",\n            EnvironmentRef = \"environment_ref\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            HealthSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestHealthSourceArgs\n                {\n                    Name = \"Demo azure\",\n                    Identifier = \"Demo_azure\",\n                    Type = \"AzureLogs\",\n                    Version = \"v2\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"connectorRef\",\n                        [\"queryDefinitions\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"name\"] = \"name2\",\n                                [\"identifier\"] = \"identifier2\",\n                                [\"groupName\"] = \"g2\",\n                                [\"query\"] = \"*\",\n                                [\"queryParams\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"serviceInstanceField\"] = \"Name\",\n                                    [\"timeStampIdentifier\"] = \"StartedTime\",\n                                    [\"messageIdentifier\"] = \"Image\",\n                                    [\"index\"] = \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n                                },\n                                [\"liveMonitoringEnabled\"] = \"false\",\n                                [\"continuousVerificationEnabled\"] = \"false\",\n                            },\n                        },\n                    }),\n                },\n            },\n        },\n    });\n\n    //Sample template for Prometheus Metrics Health Source\n    var example7 = new Harness.Platform.MonitoredService(\"example7\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.MonitoredServiceRequestArgs\n        {\n            Name = \"name\",\n            Type = \"Application\",\n            Description = \"description\",\n            ServiceRef = \"service_ref\",\n            EnvironmentRef = \"environment_ref\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            HealthSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestHealthSourceArgs\n                {\n                    Name = \"prometheus metrics verify step\",\n                    Identifier = \"prometheus_metrics\",\n                    Type = \"Prometheus\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"connectorRef\",\n                        [\"metricDefinitions\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"identifier\"] = \"Prometheus_Metric\",\n                                [\"metricName\"] = \"Prometheus Metric\",\n                                [\"riskProfile\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"riskCategory\"] = \"Performance_Other\",\n                                    [\"thresholdTypes\"] = new[]\n                                    {\n                                        \"ACT_WHEN_HIGHER\",\n                                    },\n                                },\n                                [\"analysis\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"liveMonitoring\"] = new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"enabled\"] = true,\n                                    },\n                                    [\"deploymentVerification\"] = new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"enabled\"] = true,\n                                        [\"serviceInstanceFieldName\"] = \"pod_name\",\n                                    },\n                                },\n                                [\"query\"] = \"count(up{group=\\\"cv\\\",group=\\\"cv\\\"})\",\n                                [\"groupName\"] = \"met\",\n                                [\"isManualQuery\"] = true,\n                            },\n                        },\n                        [\"metricPacks\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"identifier\"] = \"Custom\",\n                                [\"metricThresholds\"] = new[]\n                                {\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"IgnoreThreshold\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"Ignore\",\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metrictype\"] = \"Custom\",\n                                        [\"metricName\"] = \"Prometheus Metric\",\n                                    },\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"FailImmediately\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"FailAfterOccurrence\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"count\"] = 2,\n                                            },\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metricType\"] = \"Custom\",\n                                        [\"metricName\"] = \"Prometheus Metric\",\n                                    },\n                                },\n                            },\n                        },\n                    }),\n                },\n            },\n        },\n    });\n\n    //Sample template for Datadog Metrics Health Source\n    var example8 = new Harness.Platform.MonitoredService(\"example8\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.MonitoredServiceRequestArgs\n        {\n            Name = \"name\",\n            Type = \"Application\",\n            Description = \"description\",\n            ServiceRef = \"service_ref\",\n            EnvironmentRef = \"environment_ref\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            HealthSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestHealthSourceArgs\n                {\n                    Name = \"ddm\",\n                    Identifier = \"ddm\",\n                    Type = \"DatadogMetrics\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"connectorRef\",\n                        [\"feature\"] = \"Datadog Cloud Metrics\",\n                        [\"metricDefinitions\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"metricName\"] = \"metric\",\n                                [\"metricPath\"] = \"M1\",\n                                [\"identifier\"] = \"metric\",\n                                [\"query\"] = @\"avg:kubernetes.cpu.limits{*}.rollup(avg, 60);\navg:kubernetes.cpu.limits{*}.rollup(avg, 30);\n(a+b)/10\",\n                                [\"isManualQuery\"] = true,\n                                [\"isCustomCreatedMetric\"] = true,\n                                [\"riskProfile\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"riskCategory\"] = \"Performance_Other\",\n                                    [\"thresholdTypes\"] = new[]\n                                    {\n                                        \"ACT_WHEN_HIGHER\",\n                                    },\n                                },\n                                [\"analysis\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"liveMonitoring\"] = new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"enabled\"] = true,\n                                    },\n                                    [\"deploymentVerification\"] = new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"enabled\"] = true,\n                                        [\"serviceInstanceFieldName\"] = \"pod\",\n                                    },\n                                },\n                            },\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"metricName\"] = \"dashboard_metric_cpu\",\n                                [\"identifier\"] = \"metric_cpu\",\n                                [\"query\"] = @\"avg:kubernetes.cpu.limits{*}.rollup(avg, 60);\navg:kubernetes.cpu.limits{*}.rollup(avg, 30);\n(a+b)/10\",\n                                [\"isManualQuery\"] = false,\n                                [\"dashboardName\"] = \"dashboard\",\n                                [\"metricPath\"] = \"M1\",\n                                [\"groupingQuery\"] = \"avg:kubernetes.cpu.limits{*} by {host}.rollup(avg, 60)\",\n                                [\"metric\"] = \"kubernetes.cpu.limits\",\n                                [\"aggregation\"] = \"avg\",\n                                [\"isCustomCreatedMetric\"] = true,\n                                [\"riskProfile\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"riskCategory\"] = \"Performance_Other\",\n                                    [\"thresholdTypes\"] = new[]\n                                    {\n                                        \"ACT_WHEN_HIGHER\",\n                                    },\n                                },\n                                [\"analysis\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"liveMonitoring\"] = new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"enabled\"] = true,\n                                    },\n                                    [\"deploymentVerification\"] = new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"enabled\"] = true,\n                                        [\"serviceInstanceFieldName\"] = \"pod\",\n                                    },\n                                },\n                            },\n                        },\n                        [\"metricPacks\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"identifier\"] = \"Custom\",\n                                [\"metricThresholds\"] = new[]\n                                {\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"IgnoreThreshold\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"Ignore\",\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metrictype\"] = \"Custom\",\n                                        [\"metricName\"] = \"metric\",\n                                    },\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"FailImmediately\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"FailAfterOccurrence\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"count\"] = 2,\n                                            },\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metricType\"] = \"Custom\",\n                                        [\"metricName\"] = \"metric\",\n                                    },\n                                },\n                            },\n                        },\n                    }),\n                },\n            },\n        },\n    });\n\n    //Sample template for New Relic Metrics Health Source\n    var example9 = new Harness.Platform.MonitoredService(\"example9\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.MonitoredServiceRequestArgs\n        {\n            Name = \"name\",\n            Type = \"Application\",\n            Description = \"description\",\n            ServiceRef = \"service_ref\",\n            EnvironmentRef = \"environment_ref\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            HealthSources = new[]\n            {\n                new Harness.Platform.Inputs.MonitoredServiceRequestHealthSourceArgs\n                {\n                    Name = \"name\",\n                    Identifier = \"identifier\",\n                    Type = \"NewRelic\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"connectorRef\"] = \"account.Newrelicautomation_do_not_delete\",\n                        [\"feature\"] = \"apm\",\n                        [\"applicationId\"] = \"107019083\",\n                        [\"applicationName\"] = \"My Application\",\n                        [\"metricData\"] = new Dictionary\u003cstring, object?\u003e\n                        {\n                            [\"Performance\"] = true,\n                        },\n                        [\"metricPacks\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"identifier\"] = \"Performance\",\n                            },\n                        },\n                        [\"newRelicMetricDefinitions\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"identifier\"] = \"New_Relic_Metric\",\n                                [\"metricName\"] = \"New Relic Metric\",\n                                [\"riskProfile\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"riskCategory\"] = \"Performance_Other\",\n                                    [\"thresholdTypes\"] = new[]\n                                    {\n                                        \"ACT_WHEN_HIGHER\",\n                                    },\n                                },\n                                [\"analysis\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"deploymentVerification\"] = new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"enabled\"] = true,\n                                    },\n                                },\n                                [\"groupName\"] = \"group1\",\n                                [\"nrql\"] = \"SELECT count(apm.service.instance.count) FROM Metric WHERE appName LIKE 'My Application' TIMESERIES\",\n                                [\"responseMapping\"] = new Dictionary\u003cstring, object?\u003e\n                                {\n                                    [\"metricValueJsonPath\"] = \"$.['timeSeries'].[*].['results'].[*].['count']\",\n                                    [\"timestampJsonPath\"] = \"$.['timeSeries'].[*].['beginTimeSeconds']\",\n                                },\n                            },\n                        },\n                        [\"metricPacks\"] = new[]\n                        {\n                            new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"identifier\"] = \"Custom\",\n                                [\"metricThresholds\"] = new[]\n                                {\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"IgnoreThreshold\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"Ignore\",\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metricType\"] = \"Custom\",\n                                        [\"metricName\"] = \"New Relic Metric\",\n                                    },\n                                    new Dictionary\u003cstring, object?\u003e\n                                    {\n                                        [\"type\"] = \"FailImmediately\",\n                                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"action\"] = \"FailAfterOccurrence\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"count\"] = 2,\n                                            },\n                                        },\n                                        [\"criteria\"] = new Dictionary\u003cstring, object?\u003e\n                                        {\n                                            [\"type\"] = \"Absolute\",\n                                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                                            {\n                                                [\"greaterThan\"] = 100,\n                                            },\n                                        },\n                                        [\"metricType\"] = \"Custom\",\n                                        [\"metricName\"] = \"New Relic Metric\",\n                                    },\n                                },\n                            },\n                        },\n                    }),\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\": \"connectorRef\",\n\t\t\t\"queryDefinitions\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"name\",\n\t\t\t\t\t\"identifier\": \"infraquery\",\n\t\t\t\t\t\"query\":      \"query\",\n\t\t\t\t\t\"index\":      \"index\",\n\t\t\t\t\t\"groupName\":  \"Logs_Group\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"index\":                \"index\",\n\t\t\t\t\t\t\"serviceInstanceField\": \"serviceInstanceIdentifier\",\n\t\t\t\t\t\t\"timeStampIdentifier\":  \"timeStampIdentifier\",\n\t\t\t\t\t\t\"timeStampFormat\":      \"timeStampFormat\",\n\t\t\t\t\t\t\"messageIdentifier\":    \"messageIdentifier\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"name2\",\n\t\t\t\t\t\"identifier\": \"errorquery\",\n\t\t\t\t\t\"query\":      \"query2\",\n\t\t\t\t\t\"index\":      \"index2\",\n\t\t\t\t\t\"groupName\":  \"Logs_Group\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"index\":                \"index\",\n\t\t\t\t\t\t\"serviceInstanceField\": \"serviceInstanceIdentifier\",\n\t\t\t\t\t\t\"timeStampIdentifier\":  \"timeStampIdentifier\",\n\t\t\t\t\t\t\"timeStampFormat\":      \"timeStampFormat\",\n\t\t\t\t\t\t\"messageIdentifier\":    \"messageIdentifier\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\":       \"account.pd\",\n\t\t\t\"pagerDutyServiceId\": \"P0N21OB\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\"name\":               \"FH\",\n\t\t\t\"webhookUrl\":         \"https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH\",\n\t\t\t\"webhookCurlCommand\": \"curl -X POST -H 'content-type: application/json' -H 'X-Api-Key: sample_api_key' --url 'https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH' -d '{ \\\"eventIdentifier\\\": \\\"\u003cstring\u003e\\\" (optional), \\\"user\\\": \\\"user@harness.io\\\", \\\"startTime\\\": timeInMs, \\\"endTime\\\": timeInMs, \\\"eventDetail\\\": { \\\"description\\\": \\\"\u003cString\u003e\\\", \\\"changeEventDetailsLink\\\": \\\"urlString\\\" (optional), \\\"externalLinkToEntity\\\": \\\"urlString\\\" (optional), \\\"name\\\": \\\"changeEventName\\\" } }'\",\n\t\t\t\"type\":               \"Alert\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson2 := string(tmpJSON2)\n\t\ttmpJSON3, err := json.Marshal(map[string]interface{}{\n\t\t\t\"type\": \"FeatureFlag\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson3 := string(tmpJSON3)\n\t\ttmpJSON4, err := json.Marshal(map[string]interface{}{\n\t\t\t\"type\": \"Deployment\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson4 := string(tmpJSON4)\n\t\ttmpJSON5, err := json.Marshal(map[string]interface{}{\n\t\t\t\"type\":               \"Alert\",\n\t\t\t\"authorizationToken\": \"abc\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson5 := string(tmpJSON5)\n\t\t// Sample template for Elastic Search Log Health Source\n\t\t_, err = platform.NewMonitoredService(ctx, \"example\", \u0026platform.MonitoredServiceArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.MonitoredServiceRequestArgs{\n\t\t\t\tName:           pulumi.String(\"name\"),\n\t\t\t\tType:           pulumi.String(\"Application\"),\n\t\t\t\tDescription:    pulumi.String(\"description\"),\n\t\t\t\tServiceRef:     pulumi.String(\"service_ref\"),\n\t\t\t\tEnvironmentRef: pulumi.String(\"environment_ref\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tHealthSources: platform.MonitoredServiceRequestHealthSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestHealthSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"name\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\t\t\t\tType:       pulumi.String(\"ElasticSearch\"),\n\t\t\t\t\t\tVersion:    pulumi.String(\"v2\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json0),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tChangeSources: platform.MonitoredServiceRequestChangeSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestChangeSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"BAC\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"BAC\"),\n\t\t\t\t\t\tType:       pulumi.String(\"PagerDuty\"),\n\t\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\t\tSpec:       pulumi.String(json1),\n\t\t\t\t\t\tCategory:   pulumi.String(\"Alert\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestChangeSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"FH\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"FH\"),\n\t\t\t\t\t\tType:       pulumi.String(\"CustomIncident\"),\n\t\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\t\tSpec:       pulumi.String(json2),\n\t\t\t\t\t\tCategory:   pulumi.String(\"Alert\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestChangeSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"customff\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"customff\"),\n\t\t\t\t\t\tType:       pulumi.String(\"CustomFF\"),\n\t\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\t\tCategory:   pulumi.String(\"FeatureFlag\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json3),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestChangeSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"customdeploy\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"customdeploy\"),\n\t\t\t\t\t\tType:       pulumi.String(\"CustomDeploy\"),\n\t\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\t\tCategory:   pulumi.String(\"Deployment\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json4),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestChangeSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"customincident\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"customincident\"),\n\t\t\t\t\t\tType:       pulumi.String(\"CustomIncident\"),\n\t\t\t\t\t\tEnabled:    pulumi.Bool(true),\n\t\t\t\t\t\tCategory:   pulumi.String(\"Alert\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json5),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tNotificationRuleRefs: platform.MonitoredServiceRequestNotificationRuleRefArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestNotificationRuleRefArgs{\n\t\t\t\t\t\tNotificationRuleRef: pulumi.String(\"notification_rule_ref\"),\n\t\t\t\t\t\tEnabled:             pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestNotificationRuleRefArgs{\n\t\t\t\t\t\tNotificationRuleRef: pulumi.String(\"notification_rule_ref1\"),\n\t\t\t\t\t\tEnabled:             pulumi.Bool(false),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON6, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\": \"connectorRef\",\n\t\t\t\"queryDefinitions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"metric_cpu\",\n\t\t\t\t\t\"identifier\": \"metric_cpu\",\n\t\t\t\t\t\"query\":      \"metric=cpu\",\n\t\t\t\t\t\"groupName\":  \"g1\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"serviceInstanceField\": \"_sourcehost\",\n\t\t\t\t\t},\n\t\t\t\t\t\"riskProfile\": map[string]interface{}{\n\t\t\t\t\t\t\"riskCategory\": \"Performance_Other\",\n\t\t\t\t\t\t\"thresholdTypes\": []string{\n\t\t\t\t\t\t\t\"ACT_WHEN_HIGHER\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"liveMonitoringEnabled\":         \"true\",\n\t\t\t\t\t\"continuousVerificationEnabled\": \"true\",\n\t\t\t\t\t\"sliEnabled\":                    \"false\",\n\t\t\t\t\t\"metricThresholds\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"IgnoreThreshold\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"Ignore\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metricType\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"metric_cpu\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"FailImmediately\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"FailAfterOccurrence\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"count\": 2,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metricType\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"metric_cpu\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"name2\",\n\t\t\t\t\t\"identifier\": \"identifier2\",\n\t\t\t\t\t\"groupName\":  \"g2\",\n\t\t\t\t\t\"query\":      \"metric=memory\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"serviceInstanceField\": \"_sourcehost\",\n\t\t\t\t\t},\n\t\t\t\t\t\"riskProfile\": map[string]interface{}{\n\t\t\t\t\t\t\"riskCategory\": \"Performance_Other\",\n\t\t\t\t\t\t\"thresholdTypes\": []string{\n\t\t\t\t\t\t\t\"ACT_WHEN_HIGHER\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"liveMonitoringEnabled\":         \"false\",\n\t\t\t\t\t\"continuousVerificationEnabled\": \"false\",\n\t\t\t\t\t\"sliEnabled\":                    \"false\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson6 := string(tmpJSON6)\n\t\t// Sample template for Sumologic Metrics Health Source\n\t\t_, err = platform.NewMonitoredService(ctx, \"example1\", \u0026platform.MonitoredServiceArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.MonitoredServiceRequestArgs{\n\t\t\t\tName:           pulumi.String(\"name\"),\n\t\t\t\tType:           pulumi.String(\"Application\"),\n\t\t\t\tDescription:    pulumi.String(\"description\"),\n\t\t\t\tServiceRef:     pulumi.String(\"service_ref\"),\n\t\t\t\tEnvironmentRef: pulumi.String(\"environment_ref\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tHealthSources: platform.MonitoredServiceRequestHealthSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestHealthSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"sumologicmetrics\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"sumo_metric_identifier\"),\n\t\t\t\t\t\tType:       pulumi.String(\"SumologicMetrics\"),\n\t\t\t\t\t\tVersion:    pulumi.String(\"v2\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json6),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON7, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\": \"connectorRef\",\n\t\t\t\"queryDefinitions\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"log1\",\n\t\t\t\t\t\"identifier\": \"log1\",\n\t\t\t\t\t\"query\":      \"*\",\n\t\t\t\t\t\"groupName\":  \"Logs Group\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"serviceInstanceField\": \"_sourcehost\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"log2\",\n\t\t\t\t\t\"identifier\": \"identifier2\",\n\t\t\t\t\t\"groupName\":  \"g2\",\n\t\t\t\t\t\"query\":      \"error\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"serviceInstanceField\": \"_sourcehost\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson7 := string(tmpJSON7)\n\t\t// Sample template for Sumologic Log Health Source\n\t\t_, err = platform.NewMonitoredService(ctx, \"example2\", \u0026platform.MonitoredServiceArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.MonitoredServiceRequestArgs{\n\t\t\t\tName:           pulumi.String(\"name\"),\n\t\t\t\tType:           pulumi.String(\"Application\"),\n\t\t\t\tDescription:    pulumi.String(\"description\"),\n\t\t\t\tServiceRef:     pulumi.String(\"service_ref\"),\n\t\t\t\tEnvironmentRef: pulumi.String(\"environment_ref\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tHealthSources: platform.MonitoredServiceRequestHealthSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestHealthSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"sumologic\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"sumo_metric_identifier\"),\n\t\t\t\t\t\tType:       pulumi.String(\"SumologicLogs\"),\n\t\t\t\t\t\tVersion:    pulumi.String(\"v2\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json7),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON8, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\": \"connectorRef\",\n\t\t\t\"queryDefinitions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"metric_infra_cpu\",\n\t\t\t\t\t\"identifier\": \"metric_infra_cpu\",\n\t\t\t\t\t\"query\":      \"***\",\n\t\t\t\t\t\"groupName\":  \"g\",\n\t\t\t\t\t\"riskProfile\": map[string]interface{}{\n\t\t\t\t\t\t\"riskCategory\": \"Errors\",\n\t\t\t\t\t\t\"thresholdTypes\": []string{\n\t\t\t\t\t\t\t\"ACT_WHEN_HIGHER\",\n\t\t\t\t\t\t\t\"ACT_WHEN_LOWER\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"liveMonitoringEnabled\":         \"true\",\n\t\t\t\t\t\"continuousVerificationEnabled\": \"true\",\n\t\t\t\t\t\"sliEnabled\":                    \"false\",\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"name2\",\n\t\t\t\t\t\"identifier\": \"identifier2\",\n\t\t\t\t\t\"groupName\":  \"g2\",\n\t\t\t\t\t\"query\":      \"*\",\n\t\t\t\t\t\"riskProfile\": map[string]interface{}{\n\t\t\t\t\t\t\"riskCategory\": \"Performance_Other\",\n\t\t\t\t\t\t\"thresholdTypes\": []string{\n\t\t\t\t\t\t\t\"ACT_WHEN_HIGHER\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"liveMonitoringEnabled\":         \"true\",\n\t\t\t\t\t\"continuousVerificationEnabled\": \"false\",\n\t\t\t\t\t\"sliEnabled\":                    \"false\",\n\t\t\t\t\t\"metricThresholds\": []interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"IgnoreThreshold\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"Ignore\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metrictype\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"identifier2\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"FailImmediately\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"FailAfterOccurrence\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"count\": 2,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metricType\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"identifier2\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson8 := string(tmpJSON8)\n\t\t// Sample template for Splunk Signal FX Health Source\n\t\t_, err = platform.NewMonitoredService(ctx, \"example3\", \u0026platform.MonitoredServiceArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.MonitoredServiceRequestArgs{\n\t\t\t\tName:           pulumi.String(\"name\"),\n\t\t\t\tType:           pulumi.String(\"Application\"),\n\t\t\t\tDescription:    pulumi.String(\"description\"),\n\t\t\t\tServiceRef:     pulumi.String(\"service_ref\"),\n\t\t\t\tEnvironmentRef: pulumi.String(\"environment_ref\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tHealthSources: platform.MonitoredServiceRequestHealthSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestHealthSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"signalfxmetrics\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"signalfxmetrics\"),\n\t\t\t\t\t\tType:       pulumi.String(\"SplunkSignalFXMetrics\"),\n\t\t\t\t\t\tVersion:    pulumi.String(\"v2\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json8),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON9, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\": \"connectorRef\",\n\t\t\t\"queryDefinitions\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"Demo\",\n\t\t\t\t\t\"identifier\": \"Demo\",\n\t\t\t\t\t\"query\":      \"{job=~\\\".+\\\"}\",\n\t\t\t\t\t\"groupName\":  \"Log_Group\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"serviceInstanceField\": \"job\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"log2\",\n\t\t\t\t\t\"identifier\": \"identifier2\",\n\t\t\t\t\t\"groupName\":  \"g2\",\n\t\t\t\t\t\"query\":      \"error\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"serviceInstanceField\": \"_sourcehost\",\n\t\t\t\t\t},\n\t\t\t\t\t\"liveMonitoringEnabled\":         \"false\",\n\t\t\t\t\t\"continuousVerificationEnabled\": \"false\",\n\t\t\t\t\t\"sliEnabled\":                    \"false\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson9 := string(tmpJSON9)\n\t\t// Sample template for Grafana Loki Log Health Source\n\t\t_, err = platform.NewMonitoredService(ctx, \"example4\", \u0026platform.MonitoredServiceArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.MonitoredServiceRequestArgs{\n\t\t\t\tName:           pulumi.String(\"name\"),\n\t\t\t\tType:           pulumi.String(\"Application\"),\n\t\t\t\tDescription:    pulumi.String(\"description\"),\n\t\t\t\tServiceRef:     pulumi.String(\"service_ref\"),\n\t\t\t\tEnvironmentRef: pulumi.String(\"environment_ref\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tHealthSources: platform.MonitoredServiceRequestHealthSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestHealthSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"Test\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"Test\"),\n\t\t\t\t\t\tType:       pulumi.String(\"GrafanaLokiLogs\"),\n\t\t\t\t\t\tVersion:    pulumi.String(\"v2\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json9),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON10, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\": \"connectorRef\",\n\t\t\t\"queryDefinitions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"metric\",\n\t\t\t\t\t\"identifier\": \"metric\",\n\t\t\t\t\t\"query\":      \"default\",\n\t\t\t\t\t\"groupName\":  \"g1\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"serviceInstanceField\":        \"host\",\n\t\t\t\t\t\t\"index\":                       \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n\t\t\t\t\t\t\"healthSourceMetricName\":      \"cpuUsagePercentage\",\n\t\t\t\t\t\t\"healthSourceMetricNamespace\": \"insights.container/nodes\",\n\t\t\t\t\t\t\"aggregationType\":             \"average\",\n\t\t\t\t\t},\n\t\t\t\t\t\"riskProfile\": map[string]interface{}{\n\t\t\t\t\t\t\"riskCategory\": \"Performance_Other\",\n\t\t\t\t\t\t\"thresholdTypes\": []string{\n\t\t\t\t\t\t\t\"ACT_WHEN_HIGHER\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"liveMonitoringEnabled\":         \"true\",\n\t\t\t\t\t\"continuousVerificationEnabled\": \"true\",\n\t\t\t\t\t\"sliEnabled\":                    \"false\",\n\t\t\t\t\t\"metricThresholds\": []interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"IgnoreThreshold\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"Ignore\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metrictype\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"metric\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"FailImmediately\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"FailAfterOccurrence\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"count\": 2,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metricType\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"metric\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"name2\",\n\t\t\t\t\t\"identifier\": \"identifier2\",\n\t\t\t\t\t\"groupName\":  \"g2\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"serviceInstanceField\":        \"host\",\n\t\t\t\t\t\t\"index\":                       \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n\t\t\t\t\t\t\"healthSourceMetricName\":      \"cpuUsagePercentage\",\n\t\t\t\t\t\t\"healthSourceMetricNamespace\": \"insights.container/nodes\",\n\t\t\t\t\t\t\"aggregationType\":             \"average\",\n\t\t\t\t\t},\n\t\t\t\t\t\"riskProfile\": map[string]interface{}{\n\t\t\t\t\t\t\"riskCategory\": \"Performance_Other\",\n\t\t\t\t\t\t\"thresholdTypes\": []string{\n\t\t\t\t\t\t\t\"ACT_WHEN_HIGHER\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"liveMonitoringEnabled\":         \"false\",\n\t\t\t\t\t\"continuousVerificationEnabled\": \"false\",\n\t\t\t\t\t\"sliEnabled\":                    \"false\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson10 := string(tmpJSON10)\n\t\t// Sample template for Azure Metrics Health Source\n\t\t_, err = platform.NewMonitoredService(ctx, \"example5\", \u0026platform.MonitoredServiceArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.MonitoredServiceRequestArgs{\n\t\t\t\tName:           pulumi.String(\"name\"),\n\t\t\t\tType:           pulumi.String(\"Application\"),\n\t\t\t\tDescription:    pulumi.String(\"description\"),\n\t\t\t\tServiceRef:     pulumi.String(\"service_ref\"),\n\t\t\t\tEnvironmentRef: pulumi.String(\"environment_ref\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tHealthSources: platform.MonitoredServiceRequestHealthSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestHealthSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"azure metrics verify step\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"azure_metrics_verify_step\"),\n\t\t\t\t\t\tType:       pulumi.String(\"AzureMetrics\"),\n\t\t\t\t\t\tVersion:    pulumi.String(\"v2\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json10),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON11, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\": \"connectorRef\",\n\t\t\t\"queryDefinitions\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"name2\",\n\t\t\t\t\t\"identifier\": \"identifier2\",\n\t\t\t\t\t\"groupName\":  \"g2\",\n\t\t\t\t\t\"query\":      \"*\",\n\t\t\t\t\t\"queryParams\": map[string]interface{}{\n\t\t\t\t\t\t\"serviceInstanceField\": \"Name\",\n\t\t\t\t\t\t\"timeStampIdentifier\":  \"StartedTime\",\n\t\t\t\t\t\t\"messageIdentifier\":    \"Image\",\n\t\t\t\t\t\t\"index\":                \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\",\n\t\t\t\t\t},\n\t\t\t\t\t\"liveMonitoringEnabled\":         \"false\",\n\t\t\t\t\t\"continuousVerificationEnabled\": \"false\",\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson11 := string(tmpJSON11)\n\t\t// Sample template for Azure Log Health Source\n\t\t_, err = platform.NewMonitoredService(ctx, \"example6\", \u0026platform.MonitoredServiceArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.MonitoredServiceRequestArgs{\n\t\t\t\tName:           pulumi.String(\"name\"),\n\t\t\t\tType:           pulumi.String(\"Application\"),\n\t\t\t\tDescription:    pulumi.String(\"description\"),\n\t\t\t\tServiceRef:     pulumi.String(\"service_ref\"),\n\t\t\t\tEnvironmentRef: pulumi.String(\"environment_ref\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tHealthSources: platform.MonitoredServiceRequestHealthSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestHealthSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"Demo azure\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"Demo_azure\"),\n\t\t\t\t\t\tType:       pulumi.String(\"AzureLogs\"),\n\t\t\t\t\t\tVersion:    pulumi.String(\"v2\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json11),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON12, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\": \"connectorRef\",\n\t\t\t\"metricDefinitions\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"identifier\": \"Prometheus_Metric\",\n\t\t\t\t\t\"metricName\": \"Prometheus Metric\",\n\t\t\t\t\t\"riskProfile\": map[string]interface{}{\n\t\t\t\t\t\t\"riskCategory\": \"Performance_Other\",\n\t\t\t\t\t\t\"thresholdTypes\": []string{\n\t\t\t\t\t\t\t\"ACT_WHEN_HIGHER\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"analysis\": map[string]interface{}{\n\t\t\t\t\t\t\"liveMonitoring\": map[string]interface{}{\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"deploymentVerification\": map[string]interface{}{\n\t\t\t\t\t\t\t\"enabled\":                  true,\n\t\t\t\t\t\t\t\"serviceInstanceFieldName\": \"pod_name\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"query\":         \"count(up{group=\\\"cv\\\",group=\\\"cv\\\"})\",\n\t\t\t\t\t\"groupName\":     \"met\",\n\t\t\t\t\t\"isManualQuery\": true,\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"metricPacks\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"identifier\": \"Custom\",\n\t\t\t\t\t\"metricThresholds\": []interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"IgnoreThreshold\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"Ignore\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metrictype\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"Prometheus Metric\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"FailImmediately\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"FailAfterOccurrence\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"count\": 2,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metricType\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"Prometheus Metric\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson12 := string(tmpJSON12)\n\t\t// Sample template for Prometheus Metrics Health Source\n\t\t_, err = platform.NewMonitoredService(ctx, \"example7\", \u0026platform.MonitoredServiceArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.MonitoredServiceRequestArgs{\n\t\t\t\tName:           pulumi.String(\"name\"),\n\t\t\t\tType:           pulumi.String(\"Application\"),\n\t\t\t\tDescription:    pulumi.String(\"description\"),\n\t\t\t\tServiceRef:     pulumi.String(\"service_ref\"),\n\t\t\t\tEnvironmentRef: pulumi.String(\"environment_ref\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tHealthSources: platform.MonitoredServiceRequestHealthSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestHealthSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"prometheus metrics verify step\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"prometheus_metrics\"),\n\t\t\t\t\t\tType:       pulumi.String(\"Prometheus\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json12),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON13, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\": \"connectorRef\",\n\t\t\t\"feature\":      \"Datadog Cloud Metrics\",\n\t\t\t\"metricDefinitions\": []interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"metricName\":            \"metric\",\n\t\t\t\t\t\"metricPath\":            \"M1\",\n\t\t\t\t\t\"identifier\":            \"metric\",\n\t\t\t\t\t\"query\":                 \"avg:kubernetes.cpu.limits{*}.rollup(avg, 60);\\navg:kubernetes.cpu.limits{*}.rollup(avg, 30);\\n(a+b)/10\",\n\t\t\t\t\t\"isManualQuery\":         true,\n\t\t\t\t\t\"isCustomCreatedMetric\": true,\n\t\t\t\t\t\"riskProfile\": map[string]interface{}{\n\t\t\t\t\t\t\"riskCategory\": \"Performance_Other\",\n\t\t\t\t\t\t\"thresholdTypes\": []string{\n\t\t\t\t\t\t\t\"ACT_WHEN_HIGHER\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"analysis\": map[string]interface{}{\n\t\t\t\t\t\t\"liveMonitoring\": map[string]interface{}{\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"deploymentVerification\": map[string]interface{}{\n\t\t\t\t\t\t\t\"enabled\":                  true,\n\t\t\t\t\t\t\t\"serviceInstanceFieldName\": \"pod\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"metricName\":            \"dashboard_metric_cpu\",\n\t\t\t\t\t\"identifier\":            \"metric_cpu\",\n\t\t\t\t\t\"query\":                 \"avg:kubernetes.cpu.limits{*}.rollup(avg, 60);\\navg:kubernetes.cpu.limits{*}.rollup(avg, 30);\\n(a+b)/10\",\n\t\t\t\t\t\"isManualQuery\":         false,\n\t\t\t\t\t\"dashboardName\":         \"dashboard\",\n\t\t\t\t\t\"metricPath\":            \"M1\",\n\t\t\t\t\t\"groupingQuery\":         \"avg:kubernetes.cpu.limits{*} by {host}.rollup(avg, 60)\",\n\t\t\t\t\t\"metric\":                \"kubernetes.cpu.limits\",\n\t\t\t\t\t\"aggregation\":           \"avg\",\n\t\t\t\t\t\"isCustomCreatedMetric\": true,\n\t\t\t\t\t\"riskProfile\": map[string]interface{}{\n\t\t\t\t\t\t\"riskCategory\": \"Performance_Other\",\n\t\t\t\t\t\t\"thresholdTypes\": []string{\n\t\t\t\t\t\t\t\"ACT_WHEN_HIGHER\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"analysis\": map[string]interface{}{\n\t\t\t\t\t\t\"liveMonitoring\": map[string]interface{}{\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"deploymentVerification\": map[string]interface{}{\n\t\t\t\t\t\t\t\"enabled\":                  true,\n\t\t\t\t\t\t\t\"serviceInstanceFieldName\": \"pod\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"metricPacks\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"identifier\": \"Custom\",\n\t\t\t\t\t\"metricThresholds\": []interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"IgnoreThreshold\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"Ignore\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metrictype\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"metric\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"FailImmediately\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"FailAfterOccurrence\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"count\": 2,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metricType\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"metric\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson13 := string(tmpJSON13)\n\t\t// Sample template for Datadog Metrics Health Source\n\t\t_, err = platform.NewMonitoredService(ctx, \"example8\", \u0026platform.MonitoredServiceArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.MonitoredServiceRequestArgs{\n\t\t\t\tName:           pulumi.String(\"name\"),\n\t\t\t\tType:           pulumi.String(\"Application\"),\n\t\t\t\tDescription:    pulumi.String(\"description\"),\n\t\t\t\tServiceRef:     pulumi.String(\"service_ref\"),\n\t\t\t\tEnvironmentRef: pulumi.String(\"environment_ref\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tHealthSources: platform.MonitoredServiceRequestHealthSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestHealthSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"ddm\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"ddm\"),\n\t\t\t\t\t\tType:       pulumi.String(\"DatadogMetrics\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json13),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON14, err := json.Marshal(map[string]interface{}{\n\t\t\t\"connectorRef\":    \"account.Newrelicautomation_do_not_delete\",\n\t\t\t\"feature\":         \"apm\",\n\t\t\t\"applicationId\":   \"107019083\",\n\t\t\t\"applicationName\": \"My Application\",\n\t\t\t\"metricData\": map[string]interface{}{\n\t\t\t\t\"Performance\": true,\n\t\t\t},\n\t\t\t\"metricPacks\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"identifier\": \"Performance\",\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"newRelicMetricDefinitions\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"identifier\": \"New_Relic_Metric\",\n\t\t\t\t\t\"metricName\": \"New Relic Metric\",\n\t\t\t\t\t\"riskProfile\": map[string]interface{}{\n\t\t\t\t\t\t\"riskCategory\": \"Performance_Other\",\n\t\t\t\t\t\t\"thresholdTypes\": []string{\n\t\t\t\t\t\t\t\"ACT_WHEN_HIGHER\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"analysis\": map[string]interface{}{\n\t\t\t\t\t\t\"deploymentVerification\": map[string]interface{}{\n\t\t\t\t\t\t\t\"enabled\": true,\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\t\"groupName\": \"group1\",\n\t\t\t\t\t\"nrql\":      \"SELECT count(apm.service.instance.count) FROM Metric WHERE appName LIKE 'My Application' TIMESERIES\",\n\t\t\t\t\t\"responseMapping\": map[string]interface{}{\n\t\t\t\t\t\t\"metricValueJsonPath\": \"$.['timeSeries'].[*].['results'].[*].['count']\",\n\t\t\t\t\t\t\"timestampJsonPath\":   \"$.['timeSeries'].[*].['beginTimeSeconds']\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\t\"metricPacks\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"identifier\": \"Custom\",\n\t\t\t\t\t\"metricThresholds\": []map[string]interface{}{\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"IgnoreThreshold\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"Ignore\",\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metricType\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"New Relic Metric\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\t\t\"type\": \"FailImmediately\",\n\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"action\": \"FailAfterOccurrence\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"count\": 2,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"criteria\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\"type\": \"Absolute\",\n\t\t\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\t\t\"greaterThan\": 100,\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\"metricType\": \"Custom\",\n\t\t\t\t\t\t\t\"metricName\": \"New Relic Metric\",\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson14 := string(tmpJSON14)\n\t\t// Sample template for New Relic Metrics Health Source\n\t\t_, err = platform.NewMonitoredService(ctx, \"example9\", \u0026platform.MonitoredServiceArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.MonitoredServiceRequestArgs{\n\t\t\t\tName:           pulumi.String(\"name\"),\n\t\t\t\tType:           pulumi.String(\"Application\"),\n\t\t\t\tDescription:    pulumi.String(\"description\"),\n\t\t\t\tServiceRef:     pulumi.String(\"service_ref\"),\n\t\t\t\tEnvironmentRef: pulumi.String(\"environment_ref\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tHealthSources: platform.MonitoredServiceRequestHealthSourceArray{\n\t\t\t\t\t\u0026platform.MonitoredServiceRequestHealthSourceArgs{\n\t\t\t\t\t\tName:       pulumi.String(\"name\"),\n\t\t\t\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\t\t\t\tType:       pulumi.String(\"NewRelic\"),\n\t\t\t\t\t\tSpec:       pulumi.String(json14),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.MonitoredService;\nimport com.pulumi.harness.platform.MonitoredServiceArgs;\nimport com.pulumi.harness.platform.inputs.MonitoredServiceRequestArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        //Sample template for Elastic Search Log Health Source\n        var example = new MonitoredService(\"example\", MonitoredServiceArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(MonitoredServiceRequestArgs.builder()\n                .name(\"name\")\n                .type(\"Application\")\n                .description(\"description\")\n                .serviceRef(\"service_ref\")\n                .environmentRef(\"environment_ref\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .healthSources(MonitoredServiceRequestHealthSourceArgs.builder()\n                    .name(\"name\")\n                    .identifier(\"identifier\")\n                    .type(\"ElasticSearch\")\n                    .version(\"v2\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"connectorRef\", \"connectorRef\"),\n                            jsonProperty(\"queryDefinitions\", jsonArray(\n                                jsonObject(\n                                    jsonProperty(\"name\", \"name\"),\n                                    jsonProperty(\"identifier\", \"infraquery\"),\n                                    jsonProperty(\"query\", \"query\"),\n                                    jsonProperty(\"index\", \"index\"),\n                                    jsonProperty(\"groupName\", \"Logs_Group\"),\n                                    jsonProperty(\"queryParams\", jsonObject(\n                                        jsonProperty(\"index\", \"index\"),\n                                        jsonProperty(\"serviceInstanceField\", \"serviceInstanceIdentifier\"),\n                                        jsonProperty(\"timeStampIdentifier\", \"timeStampIdentifier\"),\n                                        jsonProperty(\"timeStampFormat\", \"timeStampFormat\"),\n                                        jsonProperty(\"messageIdentifier\", \"messageIdentifier\")\n                                    ))\n                                ), \n                                jsonObject(\n                                    jsonProperty(\"name\", \"name2\"),\n                                    jsonProperty(\"identifier\", \"errorquery\"),\n                                    jsonProperty(\"query\", \"query2\"),\n                                    jsonProperty(\"index\", \"index2\"),\n                                    jsonProperty(\"groupName\", \"Logs_Group\"),\n                                    jsonProperty(\"queryParams\", jsonObject(\n                                        jsonProperty(\"index\", \"index\"),\n                                        jsonProperty(\"serviceInstanceField\", \"serviceInstanceIdentifier\"),\n                                        jsonProperty(\"timeStampIdentifier\", \"timeStampIdentifier\"),\n                                        jsonProperty(\"timeStampFormat\", \"timeStampFormat\"),\n                                        jsonProperty(\"messageIdentifier\", \"messageIdentifier\")\n                                    ))\n                                )\n                            ))\n                        )))\n                    .build())\n                .changeSources(                \n                    MonitoredServiceRequestChangeSourceArgs.builder()\n                        .name(\"BAC\")\n                        .identifier(\"BAC\")\n                        .type(\"PagerDuty\")\n                        .enabled(true)\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"connectorRef\", \"account.pd\"),\n                                jsonProperty(\"pagerDutyServiceId\", \"P0N21OB\")\n                            )))\n                        .category(\"Alert\")\n                        .build(),\n                    MonitoredServiceRequestChangeSourceArgs.builder()\n                        .name(\"FH\")\n                        .identifier(\"FH\")\n                        .type(\"CustomIncident\")\n                        .enabled(true)\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"name\", \"FH\"),\n                                jsonProperty(\"webhookUrl\", \"https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH\"),\n                                jsonProperty(\"webhookCurlCommand\", \"curl -X POST -H 'content-type: application/json' -H 'X-Api-Key: sample_api_key' --url 'https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH' -d '{ \\\"eventIdentifier\\\": \\\"\u003cstring\u003e\\\" (optional), \\\"user\\\": \\\"user@harness.io\\\", \\\"startTime\\\": timeInMs, \\\"endTime\\\": timeInMs, \\\"eventDetail\\\": { \\\"description\\\": \\\"\u003cString\u003e\\\", \\\"changeEventDetailsLink\\\": \\\"urlString\\\" (optional), \\\"externalLinkToEntity\\\": \\\"urlString\\\" (optional), \\\"name\\\": \\\"changeEventName\\\" } }'\"),\n                                jsonProperty(\"type\", \"Alert\")\n                            )))\n                        .category(\"Alert\")\n                        .build(),\n                    MonitoredServiceRequestChangeSourceArgs.builder()\n                        .name(\"customff\")\n                        .identifier(\"customff\")\n                        .type(\"CustomFF\")\n                        .enabled(true)\n                        .category(\"FeatureFlag\")\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"type\", \"FeatureFlag\")\n                            )))\n                        .build(),\n                    MonitoredServiceRequestChangeSourceArgs.builder()\n                        .name(\"customdeploy\")\n                        .identifier(\"customdeploy\")\n                        .type(\"CustomDeploy\")\n                        .enabled(true)\n                        .category(\"Deployment\")\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"type\", \"Deployment\")\n                            )))\n                        .build(),\n                    MonitoredServiceRequestChangeSourceArgs.builder()\n                        .name(\"customincident\")\n                        .identifier(\"customincident\")\n                        .type(\"CustomIncident\")\n                        .enabled(true)\n                        .category(\"Alert\")\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"type\", \"Alert\"),\n                                jsonProperty(\"authorizationToken\", \"abc\")\n                            )))\n                        .build())\n                .notificationRuleRefs(                \n                    MonitoredServiceRequestNotificationRuleRefArgs.builder()\n                        .notificationRuleRef(\"notification_rule_ref\")\n                        .enabled(true)\n                        .build(),\n                    MonitoredServiceRequestNotificationRuleRefArgs.builder()\n                        .notificationRuleRef(\"notification_rule_ref1\")\n                        .enabled(false)\n                        .build())\n                .build())\n            .build());\n\n        //Sample template for Sumologic Metrics Health Source\n        var example1 = new MonitoredService(\"example1\", MonitoredServiceArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(MonitoredServiceRequestArgs.builder()\n                .name(\"name\")\n                .type(\"Application\")\n                .description(\"description\")\n                .serviceRef(\"service_ref\")\n                .environmentRef(\"environment_ref\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .healthSources(MonitoredServiceRequestHealthSourceArgs.builder()\n                    .name(\"sumologicmetrics\")\n                    .identifier(\"sumo_metric_identifier\")\n                    .type(\"SumologicMetrics\")\n                    .version(\"v2\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"connectorRef\", \"connectorRef\"),\n                            jsonProperty(\"queryDefinitions\", jsonArray(\n                                jsonObject(\n                                    jsonProperty(\"name\", \"metric_cpu\"),\n                                    jsonProperty(\"identifier\", \"metric_cpu\"),\n                                    jsonProperty(\"query\", \"metric=cpu\"),\n                                    jsonProperty(\"groupName\", \"g1\"),\n                                    jsonProperty(\"queryParams\", jsonObject(\n                                        jsonProperty(\"serviceInstanceField\", \"_sourcehost\")\n                                    )),\n                                    jsonProperty(\"riskProfile\", jsonObject(\n                                        jsonProperty(\"riskCategory\", \"Performance_Other\"),\n                                        jsonProperty(\"thresholdTypes\", jsonArray(\"ACT_WHEN_HIGHER\"))\n                                    )),\n                                    jsonProperty(\"liveMonitoringEnabled\", \"true\"),\n                                    jsonProperty(\"continuousVerificationEnabled\", \"true\"),\n                                    jsonProperty(\"sliEnabled\", \"false\"),\n                                    jsonProperty(\"metricThresholds\", jsonArray(\n                                        jsonObject(\n                                            jsonProperty(\"type\", \"IgnoreThreshold\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"action\", \"Ignore\")\n                                            )),\n                                            jsonProperty(\"criteria\", jsonObject(\n                                                jsonProperty(\"type\", \"Absolute\"),\n                                                jsonProperty(\"spec\", jsonObject(\n                                                    jsonProperty(\"greaterThan\", 100)\n                                                ))\n                                            )),\n                                            jsonProperty(\"metricType\", \"Custom\"),\n                                            jsonProperty(\"metricName\", \"metric_cpu\")\n                                        ), \n                                        jsonObject(\n                                            jsonProperty(\"type\", \"FailImmediately\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"action\", \"FailAfterOccurrence\"),\n                                                jsonProperty(\"spec\", jsonObject(\n                                                    jsonProperty(\"count\", 2)\n                                                ))\n                                            )),\n                                            jsonProperty(\"criteria\", jsonObject(\n                                                jsonProperty(\"type\", \"Absolute\"),\n                                                jsonProperty(\"spec\", jsonObject(\n                                                    jsonProperty(\"greaterThan\", 100)\n                                                ))\n                                            )),\n                                            jsonProperty(\"metricType\", \"Custom\"),\n                                            jsonProperty(\"metricName\", \"metric_cpu\")\n                                        )\n                                    ))\n                                ), \n                                jsonObject(\n                                    jsonProperty(\"name\", \"name2\"),\n                                    jsonProperty(\"identifier\", \"identifier2\"),\n                                    jsonProperty(\"groupName\", \"g2\"),\n                                    jsonProperty(\"query\", \"metric=memory\"),\n                                    jsonProperty(\"queryParams\", jsonObject(\n                                        jsonProperty(\"serviceInstanceField\", \"_sourcehost\")\n                                    )),\n                                    jsonProperty(\"riskProfile\", jsonObject(\n                                        jsonProperty(\"riskCategory\", \"Performance_Other\"),\n                                        jsonProperty(\"thresholdTypes\", jsonArray(\"ACT_WHEN_HIGHER\"))\n                                    )),\n                                    jsonProperty(\"liveMonitoringEnabled\", \"false\"),\n                                    jsonProperty(\"continuousVerificationEnabled\", \"false\"),\n                                    jsonProperty(\"sliEnabled\", \"false\")\n                                )\n                            ))\n                        )))\n                    .build())\n                .build())\n            .build());\n\n        //Sample template for Sumologic Log Health Source\n        var example2 = new MonitoredService(\"example2\", MonitoredServiceArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(MonitoredServiceRequestArgs.builder()\n                .name(\"name\")\n                .type(\"Application\")\n                .description(\"description\")\n                .serviceRef(\"service_ref\")\n                .environmentRef(\"environment_ref\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .healthSources(MonitoredServiceRequestHealthSourceArgs.builder()\n                    .name(\"sumologic\")\n                    .identifier(\"sumo_metric_identifier\")\n                    .type(\"SumologicLogs\")\n                    .version(\"v2\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"connectorRef\", \"connectorRef\"),\n                            jsonProperty(\"queryDefinitions\", jsonArray(\n                                jsonObject(\n                                    jsonProperty(\"name\", \"log1\"),\n                                    jsonProperty(\"identifier\", \"log1\"),\n                                    jsonProperty(\"query\", \"*\"),\n                                    jsonProperty(\"groupName\", \"Logs Group\"),\n                                    jsonProperty(\"queryParams\", jsonObject(\n                                        jsonProperty(\"serviceInstanceField\", \"_sourcehost\")\n                                    ))\n                                ), \n                                jsonObject(\n                                    jsonProperty(\"name\", \"log2\"),\n                                    jsonProperty(\"identifier\", \"identifier2\"),\n                                    jsonProperty(\"groupName\", \"g2\"),\n                                    jsonProperty(\"query\", \"error\"),\n                                    jsonProperty(\"queryParams\", jsonObject(\n                                        jsonProperty(\"serviceInstanceField\", \"_sourcehost\")\n                                    ))\n                                )\n                            ))\n                        )))\n                    .build())\n                .build())\n            .build());\n\n        //Sample template for Splunk Signal FX Health Source\n        var example3 = new MonitoredService(\"example3\", MonitoredServiceArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(MonitoredServiceRequestArgs.builder()\n                .name(\"name\")\n                .type(\"Application\")\n                .description(\"description\")\n                .serviceRef(\"service_ref\")\n                .environmentRef(\"environment_ref\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .healthSources(MonitoredServiceRequestHealthSourceArgs.builder()\n                    .name(\"signalfxmetrics\")\n                    .identifier(\"signalfxmetrics\")\n                    .type(\"SplunkSignalFXMetrics\")\n                    .version(\"v2\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"connectorRef\", \"connectorRef\"),\n                            jsonProperty(\"queryDefinitions\", jsonArray(\n                                jsonObject(\n                                    jsonProperty(\"name\", \"metric_infra_cpu\"),\n                                    jsonProperty(\"identifier\", \"metric_infra_cpu\"),\n                                    jsonProperty(\"query\", \"***\"),\n                                    jsonProperty(\"groupName\", \"g\"),\n                                    jsonProperty(\"riskProfile\", jsonObject(\n                                        jsonProperty(\"riskCategory\", \"Errors\"),\n                                        jsonProperty(\"thresholdTypes\", jsonArray(\n                                            \"ACT_WHEN_HIGHER\", \n                                            \"ACT_WHEN_LOWER\"\n                                        ))\n                                    )),\n                                    jsonProperty(\"liveMonitoringEnabled\", \"true\"),\n                                    jsonProperty(\"continuousVerificationEnabled\", \"true\"),\n                                    jsonProperty(\"sliEnabled\", \"false\")\n                                ), \n                                jsonObject(\n                                    jsonProperty(\"name\", \"name2\"),\n                                    jsonProperty(\"identifier\", \"identifier2\"),\n                                    jsonProperty(\"groupName\", \"g2\"),\n                                    jsonProperty(\"query\", \"*\"),\n                                    jsonProperty(\"riskProfile\", jsonObject(\n                                        jsonProperty(\"riskCategory\", \"Performance_Other\"),\n                                        jsonProperty(\"thresholdTypes\", jsonArray(\"ACT_WHEN_HIGHER\"))\n                                    )),\n                                    jsonProperty(\"liveMonitoringEnabled\", \"true\"),\n                                    jsonProperty(\"continuousVerificationEnabled\", \"false\"),\n                                    jsonProperty(\"sliEnabled\", \"false\"),\n                                    jsonProperty(\"metricThresholds\", jsonArray(\n                                        jsonObject(\n                                            jsonProperty(\"type\", \"IgnoreThreshold\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"action\", \"Ignore\")\n                                            )),\n                                            jsonProperty(\"criteria\", jsonObject(\n                                                jsonProperty(\"type\", \"Absolute\"),\n                                                jsonProperty(\"spec\", jsonObject(\n                                                    jsonProperty(\"greaterThan\", 100)\n                                                ))\n                                            )),\n                                            jsonProperty(\"metrictype\", \"Custom\"),\n                                            jsonProperty(\"metricName\", \"identifier2\")\n                                        ), \n                                        jsonObject(\n                                            jsonProperty(\"type\", \"FailImmediately\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"action\", \"FailAfterOccurrence\"),\n                                                jsonProperty(\"spec\", jsonObject(\n                                                    jsonProperty(\"count\", 2)\n                                                ))\n                                            )),\n                                            jsonProperty(\"criteria\", jsonObject(\n                                                jsonProperty(\"type\", \"Absolute\"),\n                                                jsonProperty(\"spec\", jsonObject(\n                                                    jsonProperty(\"greaterThan\", 100)\n                                                ))\n                                            )),\n                                            jsonProperty(\"metricType\", \"Custom\"),\n                                            jsonProperty(\"metricName\", \"identifier2\")\n                                        )\n                                    ))\n                                )\n                            ))\n                        )))\n                    .build())\n                .build())\n            .build());\n\n        //Sample template for Grafana Loki Log Health Source\n        var example4 = new MonitoredService(\"example4\", MonitoredServiceArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(MonitoredServiceRequestArgs.builder()\n                .name(\"name\")\n                .type(\"Application\")\n                .description(\"description\")\n                .serviceRef(\"service_ref\")\n                .environmentRef(\"environment_ref\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .healthSources(MonitoredServiceRequestHealthSourceArgs.builder()\n                    .name(\"Test\")\n                    .identifier(\"Test\")\n                    .type(\"GrafanaLokiLogs\")\n                    .version(\"v2\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"connectorRef\", \"connectorRef\"),\n                            jsonProperty(\"queryDefinitions\", jsonArray(\n                                jsonObject(\n                                    jsonProperty(\"name\", \"Demo\"),\n                                    jsonProperty(\"identifier\", \"Demo\"),\n                                    jsonProperty(\"query\", \"{job=~\\\".+\\\"}\"),\n                                    jsonProperty(\"groupName\", \"Log_Group\"),\n                                    jsonProperty(\"queryParams\", jsonObject(\n                                        jsonProperty(\"serviceInstanceField\", \"job\")\n                                    ))\n                                ), \n                                jsonObject(\n                                    jsonProperty(\"name\", \"log2\"),\n                                    jsonProperty(\"identifier\", \"identifier2\"),\n                                    jsonProperty(\"groupName\", \"g2\"),\n                                    jsonProperty(\"query\", \"error\"),\n                                    jsonProperty(\"queryParams\", jsonObject(\n                                        jsonProperty(\"serviceInstanceField\", \"_sourcehost\")\n                                    )),\n                                    jsonProperty(\"liveMonitoringEnabled\", \"false\"),\n                                    jsonProperty(\"continuousVerificationEnabled\", \"false\"),\n                                    jsonProperty(\"sliEnabled\", \"false\")\n                                )\n                            ))\n                        )))\n                    .build())\n                .build())\n            .build());\n\n        //Sample template for Azure Metrics Health Source\n        var example5 = new MonitoredService(\"example5\", MonitoredServiceArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(MonitoredServiceRequestArgs.builder()\n                .name(\"name\")\n                .type(\"Application\")\n                .description(\"description\")\n                .serviceRef(\"service_ref\")\n                .environmentRef(\"environment_ref\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .healthSources(MonitoredServiceRequestHealthSourceArgs.builder()\n                    .name(\"azure metrics verify step\")\n                    .identifier(\"azure_metrics_verify_step\")\n                    .type(\"AzureMetrics\")\n                    .version(\"v2\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"connectorRef\", \"connectorRef\"),\n                            jsonProperty(\"queryDefinitions\", jsonArray(\n                                jsonObject(\n                                    jsonProperty(\"name\", \"metric\"),\n                                    jsonProperty(\"identifier\", \"metric\"),\n                                    jsonProperty(\"query\", \"default\"),\n                                    jsonProperty(\"groupName\", \"g1\"),\n                                    jsonProperty(\"queryParams\", jsonObject(\n                                        jsonProperty(\"serviceInstanceField\", \"host\"),\n                                        jsonProperty(\"index\", \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\"),\n                                        jsonProperty(\"healthSourceMetricName\", \"cpuUsagePercentage\"),\n                                        jsonProperty(\"healthSourceMetricNamespace\", \"insights.container/nodes\"),\n                                        jsonProperty(\"aggregationType\", \"average\")\n                                    )),\n                                    jsonProperty(\"riskProfile\", jsonObject(\n                                        jsonProperty(\"riskCategory\", \"Performance_Other\"),\n                                        jsonProperty(\"thresholdTypes\", jsonArray(\"ACT_WHEN_HIGHER\"))\n                                    )),\n                                    jsonProperty(\"liveMonitoringEnabled\", \"true\"),\n                                    jsonProperty(\"continuousVerificationEnabled\", \"true\"),\n                                    jsonProperty(\"sliEnabled\", \"false\"),\n                                    jsonProperty(\"metricThresholds\", jsonArray(\n                                        jsonObject(\n                                            jsonProperty(\"type\", \"IgnoreThreshold\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"action\", \"Ignore\")\n                                            )),\n                                            jsonProperty(\"criteria\", jsonObject(\n                                                jsonProperty(\"type\", \"Absolute\"),\n                                                jsonProperty(\"spec\", jsonObject(\n                                                    jsonProperty(\"greaterThan\", 100)\n                                                ))\n                                            )),\n                                            jsonProperty(\"metrictype\", \"Custom\"),\n                                            jsonProperty(\"metricName\", \"metric\")\n                                        ), \n                                        jsonObject(\n                                            jsonProperty(\"type\", \"FailImmediately\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"action\", \"FailAfterOccurrence\"),\n                                                jsonProperty(\"spec\", jsonObject(\n                                                    jsonProperty(\"count\", 2)\n                                                ))\n                                            )),\n                                            jsonProperty(\"criteria\", jsonObject(\n                                                jsonProperty(\"type\", \"Absolute\"),\n                                                jsonProperty(\"spec\", jsonObject(\n                                                    jsonProperty(\"greaterThan\", 100)\n                                                ))\n                                            )),\n                                            jsonProperty(\"metricType\", \"Custom\"),\n                                            jsonProperty(\"metricName\", \"metric\")\n                                        )\n                                    ))\n                                ), \n                                jsonObject(\n                                    jsonProperty(\"name\", \"name2\"),\n                                    jsonProperty(\"identifier\", \"identifier2\"),\n                                    jsonProperty(\"groupName\", \"g2\"),\n                                    jsonProperty(\"queryParams\", jsonObject(\n                                        jsonProperty(\"serviceInstanceField\", \"host\"),\n                                        jsonProperty(\"index\", \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\"),\n                                        jsonProperty(\"healthSourceMetricName\", \"cpuUsagePercentage\"),\n                                        jsonProperty(\"healthSourceMetricNamespace\", \"insights.container/nodes\"),\n                                        jsonProperty(\"aggregationType\", \"average\")\n                                    )),\n                                    jsonProperty(\"riskProfile\", jsonObject(\n                                        jsonProperty(\"riskCategory\", \"Performance_Other\"),\n                                        jsonProperty(\"thresholdTypes\", jsonArray(\"ACT_WHEN_HIGHER\"))\n                                    )),\n                                    jsonProperty(\"liveMonitoringEnabled\", \"false\"),\n                                    jsonProperty(\"continuousVerificationEnabled\", \"false\"),\n                                    jsonProperty(\"sliEnabled\", \"false\")\n                                )\n                            ))\n                        )))\n                    .build())\n                .build())\n            .build());\n\n        //Sample template for Azure Log Health Source\n        var example6 = new MonitoredService(\"example6\", MonitoredServiceArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(MonitoredServiceRequestArgs.builder()\n                .name(\"name\")\n                .type(\"Application\")\n                .description(\"description\")\n                .serviceRef(\"service_ref\")\n                .environmentRef(\"environment_ref\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .healthSources(MonitoredServiceRequestHealthSourceArgs.builder()\n                    .name(\"Demo azure\")\n                    .identifier(\"Demo_azure\")\n                    .type(\"AzureLogs\")\n                    .version(\"v2\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"connectorRef\", \"connectorRef\"),\n                            jsonProperty(\"queryDefinitions\", jsonArray(jsonObject(\n                                jsonProperty(\"name\", \"name2\"),\n                                jsonProperty(\"identifier\", \"identifier2\"),\n                                jsonProperty(\"groupName\", \"g2\"),\n                                jsonProperty(\"query\", \"*\"),\n                                jsonProperty(\"queryParams\", jsonObject(\n                                    jsonProperty(\"serviceInstanceField\", \"Name\"),\n                                    jsonProperty(\"timeStampIdentifier\", \"StartedTime\"),\n                                    jsonProperty(\"messageIdentifier\", \"Image\"),\n                                    jsonProperty(\"index\", \"/subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\")\n                                )),\n                                jsonProperty(\"liveMonitoringEnabled\", \"false\"),\n                                jsonProperty(\"continuousVerificationEnabled\", \"false\")\n                            )))\n                        )))\n                    .build())\n                .build())\n            .build());\n\n        //Sample template for Prometheus Metrics Health Source\n        var example7 = new MonitoredService(\"example7\", MonitoredServiceArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(MonitoredServiceRequestArgs.builder()\n                .name(\"name\")\n                .type(\"Application\")\n                .description(\"description\")\n                .serviceRef(\"service_ref\")\n                .environmentRef(\"environment_ref\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .healthSources(MonitoredServiceRequestHealthSourceArgs.builder()\n                    .name(\"prometheus metrics verify step\")\n                    .identifier(\"prometheus_metrics\")\n                    .type(\"Prometheus\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"connectorRef\", \"connectorRef\"),\n                            jsonProperty(\"metricDefinitions\", jsonArray(jsonObject(\n                                jsonProperty(\"identifier\", \"Prometheus_Metric\"),\n                                jsonProperty(\"metricName\", \"Prometheus Metric\"),\n                                jsonProperty(\"riskProfile\", jsonObject(\n                                    jsonProperty(\"riskCategory\", \"Performance_Other\"),\n                                    jsonProperty(\"thresholdTypes\", jsonArray(\"ACT_WHEN_HIGHER\"))\n                                )),\n                                jsonProperty(\"analysis\", jsonObject(\n                                    jsonProperty(\"liveMonitoring\", jsonObject(\n                                        jsonProperty(\"enabled\", true)\n                                    )),\n                                    jsonProperty(\"deploymentVerification\", jsonObject(\n                                        jsonProperty(\"enabled\", true),\n                                        jsonProperty(\"serviceInstanceFieldName\", \"pod_name\")\n                                    ))\n                                )),\n                                jsonProperty(\"query\", \"count(up{group=\\\"cv\\\",group=\\\"cv\\\"})\"),\n                                jsonProperty(\"groupName\", \"met\"),\n                                jsonProperty(\"isManualQuery\", true)\n                            ))),\n                            jsonProperty(\"metricPacks\", jsonArray(jsonObject(\n                                jsonProperty(\"identifier\", \"Custom\"),\n                                jsonProperty(\"metricThresholds\", jsonArray(\n                                    jsonObject(\n                                        jsonProperty(\"type\", \"IgnoreThreshold\"),\n                                        jsonProperty(\"spec\", jsonObject(\n                                            jsonProperty(\"action\", \"Ignore\")\n                                        )),\n                                        jsonProperty(\"criteria\", jsonObject(\n                                            jsonProperty(\"type\", \"Absolute\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"greaterThan\", 100)\n                                            ))\n                                        )),\n                                        jsonProperty(\"metrictype\", \"Custom\"),\n                                        jsonProperty(\"metricName\", \"Prometheus Metric\")\n                                    ), \n                                    jsonObject(\n                                        jsonProperty(\"type\", \"FailImmediately\"),\n                                        jsonProperty(\"spec\", jsonObject(\n                                            jsonProperty(\"action\", \"FailAfterOccurrence\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"count\", 2)\n                                            ))\n                                        )),\n                                        jsonProperty(\"criteria\", jsonObject(\n                                            jsonProperty(\"type\", \"Absolute\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"greaterThan\", 100)\n                                            ))\n                                        )),\n                                        jsonProperty(\"metricType\", \"Custom\"),\n                                        jsonProperty(\"metricName\", \"Prometheus Metric\")\n                                    )\n                                ))\n                            )))\n                        )))\n                    .build())\n                .build())\n            .build());\n\n        //Sample template for Datadog Metrics Health Source\n        var example8 = new MonitoredService(\"example8\", MonitoredServiceArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(MonitoredServiceRequestArgs.builder()\n                .name(\"name\")\n                .type(\"Application\")\n                .description(\"description\")\n                .serviceRef(\"service_ref\")\n                .environmentRef(\"environment_ref\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .healthSources(MonitoredServiceRequestHealthSourceArgs.builder()\n                    .name(\"ddm\")\n                    .identifier(\"ddm\")\n                    .type(\"DatadogMetrics\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"connectorRef\", \"connectorRef\"),\n                            jsonProperty(\"feature\", \"Datadog Cloud Metrics\"),\n                            jsonProperty(\"metricDefinitions\", jsonArray(\n                                jsonObject(\n                                    jsonProperty(\"metricName\", \"metric\"),\n                                    jsonProperty(\"metricPath\", \"M1\"),\n                                    jsonProperty(\"identifier\", \"metric\"),\n                                    jsonProperty(\"query\", \"\"\"\navg:kubernetes.cpu.limits{*}.rollup(avg, 60);\navg:kubernetes.cpu.limits{*}.rollup(avg, 30);\n(a+b)/10                                    \"\"\"),\n                                    jsonProperty(\"isManualQuery\", true),\n                                    jsonProperty(\"isCustomCreatedMetric\", true),\n                                    jsonProperty(\"riskProfile\", jsonObject(\n                                        jsonProperty(\"riskCategory\", \"Performance_Other\"),\n                                        jsonProperty(\"thresholdTypes\", jsonArray(\"ACT_WHEN_HIGHER\"))\n                                    )),\n                                    jsonProperty(\"analysis\", jsonObject(\n                                        jsonProperty(\"liveMonitoring\", jsonObject(\n                                            jsonProperty(\"enabled\", true)\n                                        )),\n                                        jsonProperty(\"deploymentVerification\", jsonObject(\n                                            jsonProperty(\"enabled\", true),\n                                            jsonProperty(\"serviceInstanceFieldName\", \"pod\")\n                                        ))\n                                    ))\n                                ), \n                                jsonObject(\n                                    jsonProperty(\"metricName\", \"dashboard_metric_cpu\"),\n                                    jsonProperty(\"identifier\", \"metric_cpu\"),\n                                    jsonProperty(\"query\", \"\"\"\navg:kubernetes.cpu.limits{*}.rollup(avg, 60);\navg:kubernetes.cpu.limits{*}.rollup(avg, 30);\n(a+b)/10                                    \"\"\"),\n                                    jsonProperty(\"isManualQuery\", false),\n                                    jsonProperty(\"dashboardName\", \"dashboard\"),\n                                    jsonProperty(\"metricPath\", \"M1\"),\n                                    jsonProperty(\"groupingQuery\", \"avg:kubernetes.cpu.limits{*} by {host}.rollup(avg, 60)\"),\n                                    jsonProperty(\"metric\", \"kubernetes.cpu.limits\"),\n                                    jsonProperty(\"aggregation\", \"avg\"),\n                                    jsonProperty(\"isCustomCreatedMetric\", true),\n                                    jsonProperty(\"riskProfile\", jsonObject(\n                                        jsonProperty(\"riskCategory\", \"Performance_Other\"),\n                                        jsonProperty(\"thresholdTypes\", jsonArray(\"ACT_WHEN_HIGHER\"))\n                                    )),\n                                    jsonProperty(\"analysis\", jsonObject(\n                                        jsonProperty(\"liveMonitoring\", jsonObject(\n                                            jsonProperty(\"enabled\", true)\n                                        )),\n                                        jsonProperty(\"deploymentVerification\", jsonObject(\n                                            jsonProperty(\"enabled\", true),\n                                            jsonProperty(\"serviceInstanceFieldName\", \"pod\")\n                                        ))\n                                    ))\n                                )\n                            )),\n                            jsonProperty(\"metricPacks\", jsonArray(jsonObject(\n                                jsonProperty(\"identifier\", \"Custom\"),\n                                jsonProperty(\"metricThresholds\", jsonArray(\n                                    jsonObject(\n                                        jsonProperty(\"type\", \"IgnoreThreshold\"),\n                                        jsonProperty(\"spec\", jsonObject(\n                                            jsonProperty(\"action\", \"Ignore\")\n                                        )),\n                                        jsonProperty(\"criteria\", jsonObject(\n                                            jsonProperty(\"type\", \"Absolute\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"greaterThan\", 100)\n                                            ))\n                                        )),\n                                        jsonProperty(\"metrictype\", \"Custom\"),\n                                        jsonProperty(\"metricName\", \"metric\")\n                                    ), \n                                    jsonObject(\n                                        jsonProperty(\"type\", \"FailImmediately\"),\n                                        jsonProperty(\"spec\", jsonObject(\n                                            jsonProperty(\"action\", \"FailAfterOccurrence\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"count\", 2)\n                                            ))\n                                        )),\n                                        jsonProperty(\"criteria\", jsonObject(\n                                            jsonProperty(\"type\", \"Absolute\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"greaterThan\", 100)\n                                            ))\n                                        )),\n                                        jsonProperty(\"metricType\", \"Custom\"),\n                                        jsonProperty(\"metricName\", \"metric\")\n                                    )\n                                ))\n                            )))\n                        )))\n                    .build())\n                .build())\n            .build());\n\n        //Sample template for New Relic Metrics Health Source\n        var example9 = new MonitoredService(\"example9\", MonitoredServiceArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(MonitoredServiceRequestArgs.builder()\n                .name(\"name\")\n                .type(\"Application\")\n                .description(\"description\")\n                .serviceRef(\"service_ref\")\n                .environmentRef(\"environment_ref\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .healthSources(MonitoredServiceRequestHealthSourceArgs.builder()\n                    .name(\"name\")\n                    .identifier(\"identifier\")\n                    .type(\"NewRelic\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"connectorRef\", \"account.Newrelicautomation_do_not_delete\"),\n                            jsonProperty(\"feature\", \"apm\"),\n                            jsonProperty(\"applicationId\", \"107019083\"),\n                            jsonProperty(\"applicationName\", \"My Application\"),\n                            jsonProperty(\"metricData\", jsonObject(\n                                jsonProperty(\"Performance\", true)\n                            )),\n                            jsonProperty(\"metricPacks\", jsonArray(jsonObject(\n                                jsonProperty(\"identifier\", \"Performance\")\n                            ))),\n                            jsonProperty(\"newRelicMetricDefinitions\", jsonArray(jsonObject(\n                                jsonProperty(\"identifier\", \"New_Relic_Metric\"),\n                                jsonProperty(\"metricName\", \"New Relic Metric\"),\n                                jsonProperty(\"riskProfile\", jsonObject(\n                                    jsonProperty(\"riskCategory\", \"Performance_Other\"),\n                                    jsonProperty(\"thresholdTypes\", jsonArray(\"ACT_WHEN_HIGHER\"))\n                                )),\n                                jsonProperty(\"analysis\", jsonObject(\n                                    jsonProperty(\"deploymentVerification\", jsonObject(\n                                        jsonProperty(\"enabled\", true)\n                                    ))\n                                )),\n                                jsonProperty(\"groupName\", \"group1\"),\n                                jsonProperty(\"nrql\", \"SELECT count(apm.service.instance.count) FROM Metric WHERE appName LIKE 'My Application' TIMESERIES\"),\n                                jsonProperty(\"responseMapping\", jsonObject(\n                                    jsonProperty(\"metricValueJsonPath\", \"$.['timeSeries'].[*].['results'].[*].['count']\"),\n                                    jsonProperty(\"timestampJsonPath\", \"$.['timeSeries'].[*].['beginTimeSeconds']\")\n                                ))\n                            ))),\n                            jsonProperty(\"metricPacks\", jsonArray(jsonObject(\n                                jsonProperty(\"identifier\", \"Custom\"),\n                                jsonProperty(\"metricThresholds\", jsonArray(\n                                    jsonObject(\n                                        jsonProperty(\"type\", \"IgnoreThreshold\"),\n                                        jsonProperty(\"spec\", jsonObject(\n                                            jsonProperty(\"action\", \"Ignore\")\n                                        )),\n                                        jsonProperty(\"criteria\", jsonObject(\n                                            jsonProperty(\"type\", \"Absolute\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"greaterThan\", 100)\n                                            ))\n                                        )),\n                                        jsonProperty(\"metricType\", \"Custom\"),\n                                        jsonProperty(\"metricName\", \"New Relic Metric\")\n                                    ), \n                                    jsonObject(\n                                        jsonProperty(\"type\", \"FailImmediately\"),\n                                        jsonProperty(\"spec\", jsonObject(\n                                            jsonProperty(\"action\", \"FailAfterOccurrence\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"count\", 2)\n                                            ))\n                                        )),\n                                        jsonProperty(\"criteria\", jsonObject(\n                                            jsonProperty(\"type\", \"Absolute\"),\n                                            jsonProperty(\"spec\", jsonObject(\n                                                jsonProperty(\"greaterThan\", 100)\n                                            ))\n                                        )),\n                                        jsonProperty(\"metricType\", \"Custom\"),\n                                        jsonProperty(\"metricName\", \"New Relic Metric\")\n                                    )\n                                ))\n                            )))\n                        )))\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  #Sample template for Elastic Search Log Health Source\n  example:\n    type: harness:platform:MonitoredService\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        type: Application\n        description: description\n        serviceRef: service_ref\n        environmentRef: environment_ref\n        tags:\n          - foo:bar\n          - bar:foo\n        healthSources:\n          - name: name\n            identifier: identifier\n            type: ElasticSearch\n            version: v2\n            spec:\n              fn::toJSON:\n                connectorRef: connectorRef\n                queryDefinitions:\n                  - name: name\n                    identifier: infraquery\n                    query: query\n                    index: index\n                    groupName: Logs_Group\n                    queryParams:\n                      index: index\n                      serviceInstanceField: serviceInstanceIdentifier\n                      timeStampIdentifier: timeStampIdentifier\n                      timeStampFormat: timeStampFormat\n                      messageIdentifier: messageIdentifier\n                  - name: name2\n                    identifier: errorquery\n                    query: query2\n                    index: index2\n                    groupName: Logs_Group\n                    queryParams:\n                      index: index\n                      serviceInstanceField: serviceInstanceIdentifier\n                      timeStampIdentifier: timeStampIdentifier\n                      timeStampFormat: timeStampFormat\n                      messageIdentifier: messageIdentifier\n        changeSources:\n          - name: BAC\n            identifier: BAC\n            type: PagerDuty\n            enabled: true\n            spec:\n              fn::toJSON:\n                connectorRef: account.pd\n                pagerDutyServiceId: P0N21OB\n            category: Alert\n          - name: FH\n            identifier: FH\n            type: CustomIncident\n            enabled: true\n            spec:\n              fn::toJSON:\n                name: FH\n                webhookUrl: https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH\n                webhookCurlCommand: 'curl -X POST -H ''content-type: application/json'' -H ''X-Api-Key: sample_api_key'' --url ''https://harness.io/cv/api/account/sampleAcc/org/sampleOrg/project/sampleProj/webhook/custom-change?monitoredServiceIdentifier=checkout_prod\u0026changeSourceIdentifier=FH'' -d ''{ \"eventIdentifier\": \"\u003cstring\u003e\" (optional), \"user\": \"user@harness.io\", \"startTime\": timeInMs, \"endTime\": timeInMs, \"eventDetail\": { \"description\": \"\u003cString\u003e\", \"changeEventDetailsLink\": \"urlString\" (optional), \"externalLinkToEntity\": \"urlString\" (optional), \"name\": \"changeEventName\" } }'''\n                type: Alert\n            category: Alert\n          - name: customff\n            identifier: customff\n            type: CustomFF\n            enabled: true\n            category: FeatureFlag\n            spec:\n              fn::toJSON:\n                type: FeatureFlag\n          - name: customdeploy\n            identifier: customdeploy\n            type: CustomDeploy\n            enabled: true\n            category: Deployment\n            spec:\n              fn::toJSON:\n                type: Deployment\n          - name: customincident\n            identifier: customincident\n            type: CustomIncident\n            enabled: true\n            category: Alert\n            spec:\n              fn::toJSON:\n                type: Alert\n                authorizationToken: abc\n        notificationRuleRefs:\n          - notificationRuleRef: notification_rule_ref\n            enabled: true\n          - notificationRuleRef: notification_rule_ref1\n            enabled: false\n  #Sample template for Sumologic Metrics Health Source\n  example1:\n    type: harness:platform:MonitoredService\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        type: Application\n        description: description\n        serviceRef: service_ref\n        environmentRef: environment_ref\n        tags:\n          - foo:bar\n          - bar:foo\n        healthSources:\n          - name: sumologicmetrics\n            identifier: sumo_metric_identifier\n            type: SumologicMetrics\n            version: v2\n            spec:\n              fn::toJSON:\n                connectorRef: connectorRef\n                queryDefinitions:\n                  - name: metric_cpu\n                    identifier: metric_cpu\n                    query: metric=cpu\n                    groupName: g1\n                    queryParams:\n                      serviceInstanceField: _sourcehost\n                    riskProfile:\n                      riskCategory: Performance_Other\n                      thresholdTypes:\n                        - ACT_WHEN_HIGHER\n                    liveMonitoringEnabled: 'true'\n                    continuousVerificationEnabled: 'true'\n                    sliEnabled: 'false'\n                    metricThresholds:\n                      - type: IgnoreThreshold\n                        spec:\n                          action: Ignore\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metricType: Custom\n                        metricName: metric_cpu\n                      - type: FailImmediately\n                        spec:\n                          action: FailAfterOccurrence\n                          spec:\n                            count: 2\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metricType: Custom\n                        metricName: metric_cpu\n                  - name: name2\n                    identifier: identifier2\n                    groupName: g2\n                    query: metric=memory\n                    queryParams:\n                      serviceInstanceField: _sourcehost\n                    riskProfile:\n                      riskCategory: Performance_Other\n                      thresholdTypes:\n                        - ACT_WHEN_HIGHER\n                    liveMonitoringEnabled: 'false'\n                    continuousVerificationEnabled: 'false'\n                    sliEnabled: 'false'\n  #Sample template for Sumologic Log Health Source\n  example2:\n    type: harness:platform:MonitoredService\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        type: Application\n        description: description\n        serviceRef: service_ref\n        environmentRef: environment_ref\n        tags:\n          - foo:bar\n          - bar:foo\n        healthSources:\n          - name: sumologic\n            identifier: sumo_metric_identifier\n            type: SumologicLogs\n            version: v2\n            spec:\n              fn::toJSON:\n                connectorRef: connectorRef\n                queryDefinitions:\n                  - name: log1\n                    identifier: log1\n                    query: '*'\n                    groupName: Logs Group\n                    queryParams:\n                      serviceInstanceField: _sourcehost\n                  - name: log2\n                    identifier: identifier2\n                    groupName: g2\n                    query: error\n                    queryParams:\n                      serviceInstanceField: _sourcehost\n  #Sample template for Splunk Signal FX Health Source\n  example3:\n    type: harness:platform:MonitoredService\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        type: Application\n        description: description\n        serviceRef: service_ref\n        environmentRef: environment_ref\n        tags:\n          - foo:bar\n          - bar:foo\n        healthSources:\n          - name: signalfxmetrics\n            identifier: signalfxmetrics\n            type: SplunkSignalFXMetrics\n            version: v2\n            spec:\n              fn::toJSON:\n                connectorRef: connectorRef\n                queryDefinitions:\n                  - name: metric_infra_cpu\n                    identifier: metric_infra_cpu\n                    query: '***'\n                    groupName: g\n                    riskProfile:\n                      riskCategory: Errors\n                      thresholdTypes:\n                        - ACT_WHEN_HIGHER\n                        - ACT_WHEN_LOWER\n                    liveMonitoringEnabled: 'true'\n                    continuousVerificationEnabled: 'true'\n                    sliEnabled: 'false'\n                  - name: name2\n                    identifier: identifier2\n                    groupName: g2\n                    query: '*'\n                    riskProfile:\n                      riskCategory: Performance_Other\n                      thresholdTypes:\n                        - ACT_WHEN_HIGHER\n                    liveMonitoringEnabled: 'true'\n                    continuousVerificationEnabled: 'false'\n                    sliEnabled: 'false'\n                    metricThresholds:\n                      - type: IgnoreThreshold\n                        spec:\n                          action: Ignore\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metrictype: Custom\n                        metricName: identifier2\n                      - type: FailImmediately\n                        spec:\n                          action: FailAfterOccurrence\n                          spec:\n                            count: 2\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metricType: Custom\n                        metricName: identifier2\n  #Sample template for Grafana Loki Log Health Source\n  example4:\n    type: harness:platform:MonitoredService\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        type: Application\n        description: description\n        serviceRef: service_ref\n        environmentRef: environment_ref\n        tags:\n          - foo:bar\n          - bar:foo\n        healthSources:\n          - name: Test\n            identifier: Test\n            type: GrafanaLokiLogs\n            version: v2\n            spec:\n              fn::toJSON:\n                connectorRef: connectorRef\n                queryDefinitions:\n                  - name: Demo\n                    identifier: Demo\n                    query: '{job=~\".+\"}'\n                    groupName: Log_Group\n                    queryParams:\n                      serviceInstanceField: job\n                  - name: log2\n                    identifier: identifier2\n                    groupName: g2\n                    query: error\n                    queryParams:\n                      serviceInstanceField: _sourcehost\n                    liveMonitoringEnabled: 'false'\n                    continuousVerificationEnabled: 'false'\n                    sliEnabled: 'false'\n  #Sample template for Azure Metrics Health Source\n  example5:\n    type: harness:platform:MonitoredService\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        type: Application\n        description: description\n        serviceRef: service_ref\n        environmentRef: environment_ref\n        tags:\n          - foo:bar\n          - bar:foo\n        healthSources:\n          - name: azure metrics verify step\n            identifier: azure_metrics_verify_step\n            type: AzureMetrics\n            version: v2\n            spec:\n              fn::toJSON:\n                connectorRef: connectorRef\n                queryDefinitions:\n                  - name: metric\n                    identifier: metric\n                    query: default\n                    groupName: g1\n                    queryParams:\n                      serviceInstanceField: host\n                      index: /subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\n                      healthSourceMetricName: cpuUsagePercentage\n                      healthSourceMetricNamespace: insights.container/nodes\n                      aggregationType: average\n                    riskProfile:\n                      riskCategory: Performance_Other\n                      thresholdTypes:\n                        - ACT_WHEN_HIGHER\n                    liveMonitoringEnabled: 'true'\n                    continuousVerificationEnabled: 'true'\n                    sliEnabled: 'false'\n                    metricThresholds:\n                      - type: IgnoreThreshold\n                        spec:\n                          action: Ignore\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metrictype: Custom\n                        metricName: metric\n                      - type: FailImmediately\n                        spec:\n                          action: FailAfterOccurrence\n                          spec:\n                            count: 2\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metricType: Custom\n                        metricName: metric\n                  - name: name2\n                    identifier: identifier2\n                    groupName: g2\n                    queryParams:\n                      serviceInstanceField: host\n                      index: /subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\n                      healthSourceMetricName: cpuUsagePercentage\n                      healthSourceMetricNamespace: insights.container/nodes\n                      aggregationType: average\n                    riskProfile:\n                      riskCategory: Performance_Other\n                      thresholdTypes:\n                        - ACT_WHEN_HIGHER\n                    liveMonitoringEnabled: 'false'\n                    continuousVerificationEnabled: 'false'\n                    sliEnabled: 'false'\n  #Sample template for Azure Log Health Source\n  example6:\n    type: harness:platform:MonitoredService\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        type: Application\n        description: description\n        serviceRef: service_ref\n        environmentRef: environment_ref\n        tags:\n          - foo:bar\n          - bar:foo\n        healthSources:\n          - name: Demo azure\n            identifier: Demo_azure\n            type: AzureLogs\n            version: v2\n            spec:\n              fn::toJSON:\n                connectorRef: connectorRef\n                queryDefinitions:\n                  - name: name2\n                    identifier: identifier2\n                    groupName: g2\n                    query: '*'\n                    queryParams:\n                      serviceInstanceField: Name\n                      timeStampIdentifier: StartedTime\n                      messageIdentifier: Image\n                      index: /subscriptions/12d2db62-5aa9-471d-84bb-faa489b3e319/resourceGroups/srm-test/providers/Microsoft.ContainerService/managedClusters/srm-test\n                    liveMonitoringEnabled: 'false'\n                    continuousVerificationEnabled: 'false'\n  #Sample template for Prometheus Metrics Health Source\n  example7:\n    type: harness:platform:MonitoredService\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        type: Application\n        description: description\n        serviceRef: service_ref\n        environmentRef: environment_ref\n        tags:\n          - foo:bar\n          - bar:foo\n        healthSources:\n          - name: prometheus metrics verify step\n            identifier: prometheus_metrics\n            type: Prometheus\n            spec:\n              fn::toJSON:\n                connectorRef: connectorRef\n                metricDefinitions:\n                  - identifier: Prometheus_Metric\n                    metricName: Prometheus Metric\n                    riskProfile:\n                      riskCategory: Performance_Other\n                      thresholdTypes:\n                        - ACT_WHEN_HIGHER\n                    analysis:\n                      liveMonitoring:\n                        enabled: true\n                      deploymentVerification:\n                        enabled: true\n                        serviceInstanceFieldName: pod_name\n                    query: count(up{group=\"cv\",group=\"cv\"})\n                    groupName: met\n                    isManualQuery: true\n                metricPacks:\n                  - identifier: Custom\n                    metricThresholds:\n                      - type: IgnoreThreshold\n                        spec:\n                          action: Ignore\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metrictype: Custom\n                        metricName: Prometheus Metric\n                      - type: FailImmediately\n                        spec:\n                          action: FailAfterOccurrence\n                          spec:\n                            count: 2\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metricType: Custom\n                        metricName: Prometheus Metric\n  #Sample template for Datadog Metrics Health Source\n  example8:\n    type: harness:platform:MonitoredService\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        type: Application\n        description: description\n        serviceRef: service_ref\n        environmentRef: environment_ref\n        tags:\n          - foo:bar\n          - bar:foo\n        healthSources:\n          - name: ddm\n            identifier: ddm\n            type: DatadogMetrics\n            spec:\n              fn::toJSON:\n                connectorRef: connectorRef\n                feature: Datadog Cloud Metrics\n                metricDefinitions:\n                  - metricName: metric\n                    metricPath: M1\n                    identifier: metric\n                    query: |-\n                      avg:kubernetes.cpu.limits{*}.rollup(avg, 60);\n                      avg:kubernetes.cpu.limits{*}.rollup(avg, 30);\n                      (a+b)/10\n                    isManualQuery: true\n                    isCustomCreatedMetric: true\n                    riskProfile:\n                      riskCategory: Performance_Other\n                      thresholdTypes:\n                        - ACT_WHEN_HIGHER\n                    analysis:\n                      liveMonitoring:\n                        enabled: true\n                      deploymentVerification:\n                        enabled: true\n                        serviceInstanceFieldName: pod\n                  - metricName: dashboard_metric_cpu\n                    identifier: metric_cpu\n                    query: |-\n                      avg:kubernetes.cpu.limits{*}.rollup(avg, 60);\n                      avg:kubernetes.cpu.limits{*}.rollup(avg, 30);\n                      (a+b)/10\n                    isManualQuery: false\n                    dashboardName: dashboard\n                    metricPath: M1\n                    groupingQuery: avg:kubernetes.cpu.limits{*} by {host}.rollup(avg, 60)\n                    metric: kubernetes.cpu.limits\n                    aggregation: avg\n                    isCustomCreatedMetric: true\n                    riskProfile:\n                      riskCategory: Performance_Other\n                      thresholdTypes:\n                        - ACT_WHEN_HIGHER\n                    analysis:\n                      liveMonitoring:\n                        enabled: true\n                      deploymentVerification:\n                        enabled: true\n                        serviceInstanceFieldName: pod\n                metricPacks:\n                  - identifier: Custom\n                    metricThresholds:\n                      - type: IgnoreThreshold\n                        spec:\n                          action: Ignore\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metrictype: Custom\n                        metricName: metric\n                      - type: FailImmediately\n                        spec:\n                          action: FailAfterOccurrence\n                          spec:\n                            count: 2\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metricType: Custom\n                        metricName: metric\n  #Sample template for New Relic Metrics Health Source\n  example9:\n    type: harness:platform:MonitoredService\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        type: Application\n        description: description\n        serviceRef: service_ref\n        environmentRef: environment_ref\n        tags:\n          - foo:bar\n          - bar:foo\n        healthSources:\n          - name: name\n            identifier: identifier\n            type: NewRelic\n            spec:\n              fn::toJSON:\n                connectorRef: account.Newrelicautomation_do_not_delete\n                feature: apm\n                applicationId: '107019083'\n                applicationName: My Application\n                metricData:\n                  Performance: true\n                metricPacks:\n                  - identifier: Performance\n                newRelicMetricDefinitions:\n                  - identifier: New_Relic_Metric\n                    metricName: New Relic Metric\n                    riskProfile:\n                      riskCategory: Performance_Other\n                      thresholdTypes:\n                        - ACT_WHEN_HIGHER\n                    analysis:\n                      deploymentVerification:\n                        enabled: true\n                    groupName: group1\n                    nrql: SELECT count(apm.service.instance.count) FROM Metric WHERE appName LIKE 'My Application' TIMESERIES\n                    responseMapping:\n                      metricValueJsonPath: $.['timeSeries'].[*].['results'].[*].['count']\n                      timestampJsonPath: $.['timeSeries'].[*].['beginTimeSeconds']\n                metricPacks:\n                  - identifier: Custom\n                    metricThresholds:\n                      - type: IgnoreThreshold\n                        spec:\n                          action: Ignore\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metricType: Custom\n                        metricName: New Relic Metric\n                      - type: FailImmediately\n                        spec:\n                          action: FailAfterOccurrence\n                          spec:\n                            count: 2\n                        criteria:\n                          type: Absolute\n                          spec:\n                            greaterThan: 100\n                        metricType: Custom\n                        metricName: New Relic Metric\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level\u003cspan pulumi-lang-nodejs=\" monitoredService\n\" pulumi-lang-dotnet=\" MonitoredService\n\" pulumi-lang-go=\" monitoredService\n\" pulumi-lang-python=\" monitored_service\n\" pulumi-lang-yaml=\" monitoredService\n\" pulumi-lang-java=\" monitoredService\n\"\u003e monitored_service\n\u003c/span\u003e\n```sh\n$ pulumi import harness:platform/monitoredService:MonitoredService example \u003cmonitored_service_id\u003e\n```\n\nImport organization level\u003cspan pulumi-lang-nodejs=\" monitoredService\n\" pulumi-lang-dotnet=\" MonitoredService\n\" pulumi-lang-go=\" monitoredService\n\" pulumi-lang-python=\" monitored_service\n\" pulumi-lang-yaml=\" monitoredService\n\" pulumi-lang-java=\" monitoredService\n\"\u003e monitored_service\n\u003c/span\u003e\n```sh\n$ pulumi import harness:platform/monitoredService:MonitoredService example \u003corg_id\u003e/\u003cmonitored_service_id\u003e\n```\n\nImport project level\u003cspan pulumi-lang-nodejs=\" monitoredService\n\" pulumi-lang-dotnet=\" MonitoredService\n\" pulumi-lang-go=\" monitoredService\n\" pulumi-lang-python=\" monitored_service\n\" pulumi-lang-yaml=\" monitoredService\n\" pulumi-lang-java=\" monitoredService\n\"\u003e monitored_service\n\u003c/span\u003e\n```sh\n$ pulumi import harness:platform/monitoredService:MonitoredService example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cmonitored_service_id\u003e\n```\n\n","properties":{"identifier":{"type":"string","description":"Identifier of the monitored service.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the monitored service is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the monitored service is configured.\n"},"request":{"$ref":"#/types/harness:platform/MonitoredServiceRequest:MonitoredServiceRequest","description":"Request for creating or updating a monitored service.\n"}},"required":["identifier","orgId","projectId"],"inputProperties":{"identifier":{"type":"string","description":"Identifier of the monitored service.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the monitored service is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the monitored service is configured.\n"},"request":{"$ref":"#/types/harness:platform/MonitoredServiceRequest:MonitoredServiceRequest","description":"Request for creating or updating a monitored service.\n"}},"requiredInputs":["identifier","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering MonitoredService resources.\n","properties":{"identifier":{"type":"string","description":"Identifier of the monitored service.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the monitored service is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the monitored service is configured.\n"},"request":{"$ref":"#/types/harness:platform/MonitoredServiceRequest:MonitoredServiceRequest","description":"Request for creating or updating a monitored service.\n"}},"type":"object"}},"harness:platform/newrelicConnector:NewrelicConnector":{"description":"Resource for creating a New Relic connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.NewrelicConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://newrelic.com/\",\n    delegateSelectors: [\"harness-delegate\"],\n    accountId: \"nr_account_id\",\n    apiKeyRef: \"account.secret_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.NewrelicConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://newrelic.com/\",\n    delegate_selectors=[\"harness-delegate\"],\n    account_id=\"nr_account_id\",\n    api_key_ref=\"account.secret_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.NewrelicConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://newrelic.com/\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        AccountId = \"nr_account_id\",\n        ApiKeyRef = \"account.secret_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewNewrelicConnector(ctx, \"test\", \u0026platform.NewrelicConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://newrelic.com/\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tAccountId: pulumi.String(\"nr_account_id\"),\n\t\t\tApiKeyRef: pulumi.String(\"account.secret_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.NewrelicConnector;\nimport com.pulumi.harness.platform.NewrelicConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new NewrelicConnector(\"test\", NewrelicConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://newrelic.com/\")\n            .delegateSelectors(\"harness-delegate\")\n            .accountId(\"nr_account_id\")\n            .apiKeyRef(\"account.secret_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:NewrelicConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://newrelic.com/\n      delegateSelectors:\n        - harness-delegate\n      accountId: nr_account_id\n      apiKeyRef: account.secret_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level newrelic connector\n\n```sh\n$ pulumi import harness:platform/newrelicConnector:NewrelicConnector example \u003cconnector_id\u003e\n```\n\nImport org level newrelic connector\n\n```sh\n$ pulumi import harness:platform/newrelicConnector:NewrelicConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level newrelic connector\n\n```sh\n$ pulumi import harness:platform/newrelicConnector:NewrelicConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account ID of the NewRelic account.\n"},"apiKeyRef":{"type":"string","description":"Reference to the Harness secret containing the api 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the NewRelic server.\n"}},"required":["accountId","apiKeyRef","identifier","name","url"],"inputProperties":{"accountId":{"type":"string","description":"Account ID of the NewRelic account.\n"},"apiKeyRef":{"type":"string","description":"Reference to the Harness secret containing the api 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the NewRelic server.\n"}},"requiredInputs":["accountId","apiKeyRef","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering NewrelicConnector resources.\n","properties":{"accountId":{"type":"string","description":"Account ID of the NewRelic account.\n"},"apiKeyRef":{"type":"string","description":"Reference to the Harness secret containing the api 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the NewRelic server.\n"}},"type":"object"}},"harness:platform/nexusConnector:NexusConnector":{"description":"Resource for creating a Nexus connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level nexus connector\n\n```sh\n$ pulumi import harness:platform/nexusConnector:NexusConnector example \u003cconnector_id\u003e\n```\n\nImport org level nexus connector\n\n```sh\n$ pulumi import harness:platform/nexusConnector:NexusConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level nexus connector\n\n```sh\n$ pulumi import harness:platform/nexusConnector:NexusConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"credentials":{"$ref":"#/types/harness:platform/NexusConnectorCredentials:NexusConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Nexus server.\n"},"version":{"type":"string","description":"Version of the Nexus server. Valid values are 2.x, 3.x\n"}},"required":["identifier","name","url","version"],"inputProperties":{"credentials":{"$ref":"#/types/harness:platform/NexusConnectorCredentials:NexusConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Nexus server.\n"},"version":{"type":"string","description":"Version of the Nexus server. Valid values are 2.x, 3.x\n"}},"requiredInputs":["identifier","url","version"],"stateInputs":{"description":"Input properties used for looking up and filtering NexusConnector resources.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/NexusConnectorCredentials:NexusConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Nexus server.\n"},"version":{"type":"string","description":"Version of the Nexus server. Valid values are 2.x, 3.x\n"}},"type":"object"}},"harness:platform/notificationRule:NotificationRule":{"description":"Resource for creating a Notification Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Sample resource for SLO\nconst example = new harness.platform.NotificationRule(\"example\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        notificationMethod: {\n            type: \"Slack\",\n            spec: JSON.stringify({\n                webhook_url: \"http://myslackwebhookurl.com\",\n                user_groups: [\"account.test\"],\n            }),\n        },\n        type: \"ServiceLevelObjective\",\n        conditions: [\n            {\n                type: \"ErrorBudgetBurnRate\",\n                spec: JSON.stringify({\n                    threshold: 1,\n                }),\n            },\n            {\n                type: \"ErrorBudgetRemainingPercentage\",\n                spec: JSON.stringify({\n                    threshold: 30,\n                }),\n            },\n            {\n                type: \"ErrorBudgetRemainingMinutes\",\n                spec: JSON.stringify({\n                    threshold: 300,\n                }),\n            },\n        ],\n    },\n});\n// Sample resource for Monitored Service\nconst example1 = new harness.platform.NotificationRule(\"example1\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        notificationMethod: {\n            type: \"Slack\",\n            spec: JSON.stringify({\n                webhook_url: \"http://myslackwebhookurl.com\",\n                user_groups: [\"account.test\"],\n            }),\n        },\n        type: \"MonitoredService\",\n        conditions: [\n            {\n                type: \"ChangeImpact\",\n                spec: JSON.stringify({\n                    threshold: 33,\n                    period: \"30m\",\n                    changeCategories: [\n                        \"Deployment\",\n                        \"Infrastructure\",\n                    ],\n                }),\n            },\n            {\n                type: \"HealthScore\",\n                spec: JSON.stringify({\n                    threshold: 33,\n                    period: \"30m\",\n                }),\n            },\n            {\n                type: \"ChangeObserved\",\n                spec: JSON.stringify({\n                    changeCategories: [\n                        \"Deployment\",\n                        \"Alert\",\n                        \"ChaosExperiment\",\n                    ],\n                }),\n            },\n            {\n                type: \"DeploymentImpactReport\",\n                spec: JSON.stringify({}),\n            },\n        ],\n    },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_harness as harness\n\n# Sample resource for SLO\nexample = harness.platform.NotificationRule(\"example\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"notification_method\": {\n            \"type\": \"Slack\",\n            \"spec\": json.dumps({\n                \"webhook_url\": \"http://myslackwebhookurl.com\",\n                \"user_groups\": [\"account.test\"],\n            }),\n        },\n        \"type\": \"ServiceLevelObjective\",\n        \"conditions\": [\n            {\n                \"type\": \"ErrorBudgetBurnRate\",\n                \"spec\": json.dumps({\n                    \"threshold\": 1,\n                }),\n            },\n            {\n                \"type\": \"ErrorBudgetRemainingPercentage\",\n                \"spec\": json.dumps({\n                    \"threshold\": 30,\n                }),\n            },\n            {\n                \"type\": \"ErrorBudgetRemainingMinutes\",\n                \"spec\": json.dumps({\n                    \"threshold\": 300,\n                }),\n            },\n        ],\n    })\n# Sample resource for Monitored Service\nexample1 = harness.platform.NotificationRule(\"example1\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"notification_method\": {\n            \"type\": \"Slack\",\n            \"spec\": json.dumps({\n                \"webhook_url\": \"http://myslackwebhookurl.com\",\n                \"user_groups\": [\"account.test\"],\n            }),\n        },\n        \"type\": \"MonitoredService\",\n        \"conditions\": [\n            {\n                \"type\": \"ChangeImpact\",\n                \"spec\": json.dumps({\n                    \"threshold\": 33,\n                    \"period\": \"30m\",\n                    \"changeCategories\": [\n                        \"Deployment\",\n                        \"Infrastructure\",\n                    ],\n                }),\n            },\n            {\n                \"type\": \"HealthScore\",\n                \"spec\": json.dumps({\n                    \"threshold\": 33,\n                    \"period\": \"30m\",\n                }),\n            },\n            {\n                \"type\": \"ChangeObserved\",\n                \"spec\": json.dumps({\n                    \"changeCategories\": [\n                        \"Deployment\",\n                        \"Alert\",\n                        \"ChaosExperiment\",\n                    ],\n                }),\n            },\n            {\n                \"type\": \"DeploymentImpactReport\",\n                \"spec\": json.dumps({}),\n            },\n        ],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Sample resource for SLO\n    var example = new Harness.Platform.NotificationRule(\"example\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.NotificationRuleRequestArgs\n        {\n            Name = \"name\",\n            NotificationMethod = new Harness.Platform.Inputs.NotificationRuleRequestNotificationMethodArgs\n            {\n                Type = \"Slack\",\n                Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"webhook_url\"] = \"http://myslackwebhookurl.com\",\n                    [\"user_groups\"] = new[]\n                    {\n                        \"account.test\",\n                    },\n                }),\n            },\n            Type = \"ServiceLevelObjective\",\n            Conditions = new[]\n            {\n                new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs\n                {\n                    Type = \"ErrorBudgetBurnRate\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"threshold\"] = 1,\n                    }),\n                },\n                new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs\n                {\n                    Type = \"ErrorBudgetRemainingPercentage\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"threshold\"] = 30,\n                    }),\n                },\n                new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs\n                {\n                    Type = \"ErrorBudgetRemainingMinutes\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"threshold\"] = 300,\n                    }),\n                },\n            },\n        },\n    });\n\n    // Sample resource for Monitored Service\n    var example1 = new Harness.Platform.NotificationRule(\"example1\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.NotificationRuleRequestArgs\n        {\n            Name = \"name\",\n            NotificationMethod = new Harness.Platform.Inputs.NotificationRuleRequestNotificationMethodArgs\n            {\n                Type = \"Slack\",\n                Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"webhook_url\"] = \"http://myslackwebhookurl.com\",\n                    [\"user_groups\"] = new[]\n                    {\n                        \"account.test\",\n                    },\n                }),\n            },\n            Type = \"MonitoredService\",\n            Conditions = new[]\n            {\n                new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs\n                {\n                    Type = \"ChangeImpact\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"threshold\"] = 33,\n                        [\"period\"] = \"30m\",\n                        [\"changeCategories\"] = new[]\n                        {\n                            \"Deployment\",\n                            \"Infrastructure\",\n                        },\n                    }),\n                },\n                new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs\n                {\n                    Type = \"HealthScore\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"threshold\"] = 33,\n                        [\"period\"] = \"30m\",\n                    }),\n                },\n                new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs\n                {\n                    Type = \"ChangeObserved\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"changeCategories\"] = new[]\n                        {\n                            \"Deployment\",\n                            \"Alert\",\n                            \"ChaosExperiment\",\n                        },\n                    }),\n                },\n                new Harness.Platform.Inputs.NotificationRuleRequestConditionArgs\n                {\n                    Type = \"DeploymentImpactReport\",\n                    Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                    {\n                    }),\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"webhook_url\": \"http://myslackwebhookurl.com\",\n\t\t\t\"user_groups\": []string{\n\t\t\t\t\"account.test\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"threshold\": 1,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\ttmpJSON2, err := json.Marshal(map[string]interface{}{\n\t\t\t\"threshold\": 30,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson2 := string(tmpJSON2)\n\t\ttmpJSON3, err := json.Marshal(map[string]interface{}{\n\t\t\t\"threshold\": 300,\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson3 := string(tmpJSON3)\n\t\t// Sample resource for SLO\n\t\t_, err = platform.NewNotificationRule(ctx, \"example\", \u0026platform.NotificationRuleArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.NotificationRuleRequestArgs{\n\t\t\t\tName: pulumi.String(\"name\"),\n\t\t\t\tNotificationMethod: \u0026platform.NotificationRuleRequestNotificationMethodArgs{\n\t\t\t\t\tType: pulumi.String(\"Slack\"),\n\t\t\t\t\tSpec: pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"ServiceLevelObjective\"),\n\t\t\t\tConditions: platform.NotificationRuleRequestConditionArray{\n\t\t\t\t\t\u0026platform.NotificationRuleRequestConditionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ErrorBudgetBurnRate\"),\n\t\t\t\t\t\tSpec: pulumi.String(json1),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026platform.NotificationRuleRequestConditionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ErrorBudgetRemainingPercentage\"),\n\t\t\t\t\t\tSpec: pulumi.String(json2),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026platform.NotificationRuleRequestConditionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ErrorBudgetRemainingMinutes\"),\n\t\t\t\t\t\tSpec: pulumi.String(json3),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\ttmpJSON4, err := json.Marshal(map[string]interface{}{\n\t\t\t\"webhook_url\": \"http://myslackwebhookurl.com\",\n\t\t\t\"user_groups\": []string{\n\t\t\t\t\"account.test\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson4 := string(tmpJSON4)\n\t\ttmpJSON5, err := json.Marshal(map[string]interface{}{\n\t\t\t\"threshold\": 33,\n\t\t\t\"period\":    \"30m\",\n\t\t\t\"changeCategories\": []string{\n\t\t\t\t\"Deployment\",\n\t\t\t\t\"Infrastructure\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson5 := string(tmpJSON5)\n\t\ttmpJSON6, err := json.Marshal(map[string]interface{}{\n\t\t\t\"threshold\": 33,\n\t\t\t\"period\":    \"30m\",\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson6 := string(tmpJSON6)\n\t\ttmpJSON7, err := json.Marshal(map[string]interface{}{\n\t\t\t\"changeCategories\": []string{\n\t\t\t\t\"Deployment\",\n\t\t\t\t\"Alert\",\n\t\t\t\t\"ChaosExperiment\",\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson7 := string(tmpJSON7)\n\t\ttmpJSON8, err := json.Marshal(map[string]interface{}{})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson8 := string(tmpJSON8)\n\t\t// Sample resource for Monitored Service\n\t\t_, err = platform.NewNotificationRule(ctx, \"example1\", \u0026platform.NotificationRuleArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.NotificationRuleRequestArgs{\n\t\t\t\tName: pulumi.String(\"name\"),\n\t\t\t\tNotificationMethod: \u0026platform.NotificationRuleRequestNotificationMethodArgs{\n\t\t\t\t\tType: pulumi.String(\"Slack\"),\n\t\t\t\t\tSpec: pulumi.String(json4),\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"MonitoredService\"),\n\t\t\t\tConditions: platform.NotificationRuleRequestConditionArray{\n\t\t\t\t\t\u0026platform.NotificationRuleRequestConditionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ChangeImpact\"),\n\t\t\t\t\t\tSpec: pulumi.String(json5),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026platform.NotificationRuleRequestConditionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"HealthScore\"),\n\t\t\t\t\t\tSpec: pulumi.String(json6),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026platform.NotificationRuleRequestConditionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"ChangeObserved\"),\n\t\t\t\t\t\tSpec: pulumi.String(json7),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026platform.NotificationRuleRequestConditionArgs{\n\t\t\t\t\t\tType: pulumi.String(\"DeploymentImpactReport\"),\n\t\t\t\t\t\tSpec: pulumi.String(json8),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.NotificationRule;\nimport com.pulumi.harness.platform.NotificationRuleArgs;\nimport com.pulumi.harness.platform.inputs.NotificationRuleRequestArgs;\nimport com.pulumi.harness.platform.inputs.NotificationRuleRequestNotificationMethodArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Sample resource for SLO\n        var example = new NotificationRule(\"example\", NotificationRuleArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(NotificationRuleRequestArgs.builder()\n                .name(\"name\")\n                .notificationMethod(NotificationRuleRequestNotificationMethodArgs.builder()\n                    .type(\"Slack\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"webhook_url\", \"http://myslackwebhookurl.com\"),\n                            jsonProperty(\"user_groups\", jsonArray(\"account.test\"))\n                        )))\n                    .build())\n                .type(\"ServiceLevelObjective\")\n                .conditions(                \n                    NotificationRuleRequestConditionArgs.builder()\n                        .type(\"ErrorBudgetBurnRate\")\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"threshold\", 1)\n                            )))\n                        .build(),\n                    NotificationRuleRequestConditionArgs.builder()\n                        .type(\"ErrorBudgetRemainingPercentage\")\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"threshold\", 30)\n                            )))\n                        .build(),\n                    NotificationRuleRequestConditionArgs.builder()\n                        .type(\"ErrorBudgetRemainingMinutes\")\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"threshold\", 300)\n                            )))\n                        .build())\n                .build())\n            .build());\n\n        // Sample resource for Monitored Service\n        var example1 = new NotificationRule(\"example1\", NotificationRuleArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(NotificationRuleRequestArgs.builder()\n                .name(\"name\")\n                .notificationMethod(NotificationRuleRequestNotificationMethodArgs.builder()\n                    .type(\"Slack\")\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"webhook_url\", \"http://myslackwebhookurl.com\"),\n                            jsonProperty(\"user_groups\", jsonArray(\"account.test\"))\n                        )))\n                    .build())\n                .type(\"MonitoredService\")\n                .conditions(                \n                    NotificationRuleRequestConditionArgs.builder()\n                        .type(\"ChangeImpact\")\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"threshold\", 33),\n                                jsonProperty(\"period\", \"30m\"),\n                                jsonProperty(\"changeCategories\", jsonArray(\n                                    \"Deployment\", \n                                    \"Infrastructure\"\n                                ))\n                            )))\n                        .build(),\n                    NotificationRuleRequestConditionArgs.builder()\n                        .type(\"HealthScore\")\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"threshold\", 33),\n                                jsonProperty(\"period\", \"30m\")\n                            )))\n                        .build(),\n                    NotificationRuleRequestConditionArgs.builder()\n                        .type(\"ChangeObserved\")\n                        .spec(serializeJson(\n                            jsonObject(\n                                jsonProperty(\"changeCategories\", jsonArray(\n                                    \"Deployment\", \n                                    \"Alert\", \n                                    \"ChaosExperiment\"\n                                ))\n                            )))\n                        .build(),\n                    NotificationRuleRequestConditionArgs.builder()\n                        .type(\"DeploymentImpactReport\")\n                        .spec(serializeJson(\n                            jsonObject(\n\n                            )))\n                        .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Sample resource for SLO\n  example:\n    type: harness:platform:NotificationRule\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        notificationMethod:\n          type: Slack\n          spec:\n            fn::toJSON:\n              webhook_url: http://myslackwebhookurl.com\n              user_groups:\n                - account.test\n        type: ServiceLevelObjective\n        conditions:\n          - type: ErrorBudgetBurnRate\n            spec:\n              fn::toJSON:\n                threshold: 1\n          - type: ErrorBudgetRemainingPercentage\n            spec:\n              fn::toJSON:\n                threshold: 30\n          - type: ErrorBudgetRemainingMinutes\n            spec:\n              fn::toJSON:\n                threshold: 300\n  # Sample resource for Monitored Service\n  example1:\n    type: harness:platform:NotificationRule\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        notificationMethod:\n          type: Slack\n          spec:\n            fn::toJSON:\n              webhook_url: http://myslackwebhookurl.com\n              user_groups:\n                - account.test\n        type: MonitoredService\n        conditions:\n          - type: ChangeImpact\n            spec:\n              fn::toJSON:\n                threshold: 33\n                period: 30m\n                changeCategories:\n                  - Deployment\n                  - Infrastructure\n          - type: HealthScore\n            spec:\n              fn::toJSON:\n                threshold: 33\n                period: 30m\n          - type: ChangeObserved\n            spec:\n              fn::toJSON:\n                changeCategories:\n                  - Deployment\n                  - Alert\n                  - ChaosExperiment\n          - type: DeploymentImpactReport\n            spec:\n              fn::toJSON: {}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level Notification Rule\n\n```sh\n$ pulumi import harness:platform/notificationRule:NotificationRule example \u003cnotification_rule_id\u003e\n```\n\nImport organization level Notification Rule\n\n```sh\n$ pulumi import harness:platform/notificationRule:NotificationRule example \u003corg_id\u003e/\u003cnotification_rule_id\u003e\n```\n\nImport project level Notification Rule\n\n```sh\n$ pulumi import harness:platform/notificationRule:NotificationRule example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cnotification_rule_id\u003e\n```\n\n","properties":{"identifier":{"type":"string","description":"Identifier of the Notification Rule.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the Notification Rule is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the Notification Rule is configured.\n"},"request":{"$ref":"#/types/harness:platform/NotificationRuleRequest:NotificationRuleRequest","description":"Request for creating or updating Notification Rule.\n"}},"required":["identifier","orgId","projectId"],"inputProperties":{"identifier":{"type":"string","description":"Identifier of the Notification Rule.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the Notification Rule is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the Notification Rule is configured.\n"},"request":{"$ref":"#/types/harness:platform/NotificationRuleRequest:NotificationRuleRequest","description":"Request for creating or updating Notification Rule.\n"}},"requiredInputs":["identifier","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering NotificationRule resources.\n","properties":{"identifier":{"type":"string","description":"Identifier of the Notification Rule.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the Notification Rule is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the Notification Rule is configured.\n"},"request":{"$ref":"#/types/harness:platform/NotificationRuleRequest:NotificationRuleRequest","description":"Request for creating or updating Notification Rule.\n"}},"type":"object"}},"harness:platform/ociHelmConnector:OciHelmConnector":{"description":"Resource for creating a OCI Helm connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level helm connector\n\n```sh\n$ pulumi import harness:platform/ociHelmConnector:OciHelmConnector example \u003cconnector_id\u003e\n```\n\nImport org level helm connector\n\n```sh\n$ pulumi import harness:platform/ociHelmConnector:OciHelmConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level helm connector\n\n```sh\n$ pulumi import harness:platform/ociHelmConnector:OciHelmConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"credentials":{"$ref":"#/types/harness:platform/OciHelmConnectorCredentials:OciHelmConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the helm server.\n"}},"required":["forceDelete","identifier","name","url"],"inputProperties":{"credentials":{"$ref":"#/types/harness:platform/OciHelmConnectorCredentials:OciHelmConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the helm server.\n"}},"requiredInputs":["identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering OciHelmConnector resources.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/OciHelmConnectorCredentials:OciHelmConnectorCredentials","description":"Credentials to use for authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of connector\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the helm server.\n"}},"type":"object"}},"harness:platform/organization:Organization":{"description":"Resource for creating a Harness organization.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst _this = new harness.platform.Organization(\"this\", {\n    identifier: \"MyOrg\",\n    name: \"My Organization\",\n    description: \"An example organization\",\n    tags: [\n        \"foo:bar\",\n        \"baz:qux\",\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nthis = harness.platform.Organization(\"this\",\n    identifier=\"MyOrg\",\n    name=\"My Organization\",\n    description=\"An example organization\",\n    tags=[\n        \"foo:bar\",\n        \"baz:qux\",\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = new Harness.Platform.Organization(\"this\", new()\n    {\n        Identifier = \"MyOrg\",\n        Name = \"My Organization\",\n        Description = \"An example organization\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"baz:qux\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewOrganization(ctx, \"this\", \u0026platform.OrganizationArgs{\n\t\t\tIdentifier:  pulumi.String(\"MyOrg\"),\n\t\t\tName:        pulumi.String(\"My Organization\"),\n\t\t\tDescription: pulumi.String(\"An example organization\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\tpulumi.String(\"baz:qux\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Organization;\nimport com.pulumi.harness.platform.OrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var this_ = new Organization(\"this\", OrganizationArgs.builder()\n            .identifier(\"MyOrg\")\n            .name(\"My Organization\")\n            .description(\"An example organization\")\n            .tags(            \n                \"foo:bar\",\n                \"baz:qux\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  this:\n    type: harness:platform:Organization\n    properties:\n      identifier: MyOrg\n      name: My Organization\n      description: An example organization\n      tags:\n        - foo:bar\n        - baz:qux\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using organization id\n\n```sh\n$ pulumi import harness:platform/organization:Organization example \u003corganization_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["identifier","name"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering Organization resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/overrides:Overrides":{"description":"Resource for creating a Harness Override V2.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level override\n\n```sh\n$ pulumi import harness:platform/overrides:Overrides example \u003coverride_id\u003e\n```\n\nImport org level override\n\n```sh\n$ pulumi import harness:platform/overrides:Overrides example \u003corg_id\u003e/\u003coverride_id\u003e\n```\n\nImport project level override\n\n```sh\n$ pulumi import harness:platform/overrides:Overrides example \u003corg_id\u003e/\u003cproject_id\u003e/\u003coverride_id\u003e\n```\n\n","properties":{"clusterId":{"type":"string","description":"The cluster ID to which the overrides are associated.\n"},"envId":{"type":"string","description":"The environment ID to which the overrides are associated.\n"},"gitDetails":{"$ref":"#/types/harness:platform/OverridesGitDetails:OverridesGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"The identifier of the override entity.\n"},"importFromGit":{"type":"boolean","description":"import override from git\n"},"infraId":{"type":"string","description":"The infrastructure ID to which the overrides are associated.\n"},"isForceImport":{"type":"boolean","description":"force import override from remote even if same file path already exist\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceId":{"type":"string","description":"The service ID to which the overrides applies.\n"},"type":{"type":"string","description":"The type of the overrides.\n"},"yaml":{"type":"string","description":"The yaml of the override entity\n"}},"required":["clusterId","envId","gitDetails","identifier","importFromGit","infraId","isForceImport","serviceId","type","yaml"],"inputProperties":{"clusterId":{"type":"string","description":"The cluster ID to which the overrides are associated.\n"},"envId":{"type":"string","description":"The environment ID to which the overrides are associated.\n"},"gitDetails":{"$ref":"#/types/harness:platform/OverridesGitDetails:OverridesGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"The identifier of the override entity.\n"},"importFromGit":{"type":"boolean","description":"import override from git\n"},"infraId":{"type":"string","description":"The infrastructure ID to which the overrides are associated.\n"},"isForceImport":{"type":"boolean","description":"force import override from remote even if same file path already exist\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceId":{"type":"string","description":"The service ID to which the overrides applies.\n"},"type":{"type":"string","description":"The type of the overrides.\n"},"yaml":{"type":"string","description":"The yaml of the override entity\n"}},"requiredInputs":["envId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering Overrides resources.\n","properties":{"clusterId":{"type":"string","description":"The cluster ID to which the overrides are associated.\n"},"envId":{"type":"string","description":"The environment ID to which the overrides are associated.\n"},"gitDetails":{"$ref":"#/types/harness:platform/OverridesGitDetails:OverridesGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"The identifier of the override entity.\n"},"importFromGit":{"type":"boolean","description":"import override from git\n"},"infraId":{"type":"string","description":"The infrastructure ID to which the overrides are associated.\n"},"isForceImport":{"type":"boolean","description":"force import override from remote even if same file path already exist\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceId":{"type":"string","description":"The service ID to which the overrides applies.\n"},"type":{"type":"string","description":"The type of the overrides.\n"},"yaml":{"type":"string","description":"The yaml of the override entity\n"}},"type":"object"}},"harness:platform/pagerdutyConnector:PagerdutyConnector":{"description":"Resource for creating a PagerDuty connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.PagerdutyConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    delegateSelectors: [\"harness-delegate\"],\n    apiTokenRef: \"account.secret_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.PagerdutyConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    delegate_selectors=[\"harness-delegate\"],\n    api_token_ref=\"account.secret_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.PagerdutyConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        ApiTokenRef = \"account.secret_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewPagerdutyConnector(ctx, \"test\", \u0026platform.PagerdutyConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tApiTokenRef: pulumi.String(\"account.secret_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PagerdutyConnector;\nimport com.pulumi.harness.platform.PagerdutyConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new PagerdutyConnector(\"test\", PagerdutyConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .delegateSelectors(\"harness-delegate\")\n            .apiTokenRef(\"account.secret_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:PagerdutyConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      delegateSelectors:\n        - harness-delegate\n      apiTokenRef: account.secret_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level pagerduty connector\n\n```sh\n$ pulumi import harness:platform/pagerdutyConnector:PagerdutyConnector example \u003cconnector_id\u003e\n```\n\nImport org level pagerduty connector\n\n```sh\n$ pulumi import harness:platform/pagerdutyConnector:PagerdutyConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level pagerduty connector\n\n```sh\n$ pulumi import harness:platform/pagerdutyConnector:PagerdutyConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"apiTokenRef":{"type":"string","description":"Reference to the Harness secret containing the 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["apiTokenRef","identifier","name"],"inputProperties":{"apiTokenRef":{"type":"string","description":"Reference to the Harness secret containing the 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["apiTokenRef","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering PagerdutyConnector resources.\n","properties":{"apiTokenRef":{"type":"string","description":"Reference to the Harness secret containing the 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/pipeline:Pipeline":{"description":"Resource for creating a Harness pipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.Pipeline(\"example\", {\n    identifier: \"identifier\",\n    orgId: \"orgIdentifier\",\n    projectId: \"projectIdentifier\",\n    name: \"name\",\n    gitDetails: {\n        branchName: \"branchName\",\n        commitMessage: \"commitMessage\",\n        filePath: \"filePath\",\n        connectorRef: \"connectorRef\",\n        storeType: \"REMOTE\",\n        repoName: \"repoName\",\n    },\n    tags: {},\n    yaml: `pipeline:\n    name: name\n    identifier: identifier\n    allowStageExecutions: false\n    projectIdentifier: projectIdentifier\n    orgIdentifier: orgIdentifier\n    tags: {}\n    stages:\n        - stage:\n            name: dep\n            identifier: dep\n            description: \\\\\"\\\\\"\n            type: Deployment\n            spec:\n                serviceConfig:\n                    serviceRef: service\n                    serviceDefinition:\n                        type: Kubernetes\n                        spec:\n                            variables: []\n                infrastructure:\n                    environmentRef: testenv\n                    infrastructureDefinition:\n                        type: KubernetesDirect\n                        spec:\n                            connectorRef: testconf\n                            namespace: test\n                            releaseName: release-\u003c+INFRA_KEY\u003e\n                    allowSimultaneousDeployments: false\n                execution:\n                    steps:\n                        - stepGroup:\n                                name: Canary Deployment\n                                identifier: canaryDepoyment\n                                steps:\n                                    - step:\n                                        name: Canary Deployment\n                                        identifier: canaryDeployment\n                                        type: K8sCanaryDeploy\n                                        timeout: 10m\n                                        spec:\n                                            instanceSelection:\n                                                type: Count\n                                                spec:\n                                                    count: 1\n                                            skipDryRun: false\n                                    - step:\n                                        name: Canary Delete\n                                        identifier: canaryDelete\n                                        type: K8sCanaryDelete\n                                        timeout: 10m\n                                        spec: {}\n                                rollbackSteps:\n                                    - step:\n                                        name: Canary Delete\n                                        identifier: rollbackCanaryDelete\n                                        type: K8sCanaryDelete\n                                        timeout: 10m\n                                        spec: {}\n                        - stepGroup:\n                                name: Primary Deployment\n                                identifier: primaryDepoyment\n                                steps:\n                                    - step:\n                                        name: Rolling Deployment\n                                        identifier: rollingDeployment\n                                        type: K8sRollingDeploy\n                                        timeout: 10m\n                                        spec:\n                                            skipDryRun: false\n                                rollbackSteps:\n                                    - step:\n                                        name: Rolling Rollback\n                                        identifier: rollingRollback\n                                        type: K8sRollingRollback\n                                        timeout: 10m\n                                        spec: {}\n                    rollbackSteps: []\n            tags: {}\n            failureStrategies:\n                - onFailure:\n                        errors:\n                            - AllErrors\n                        action:\n                            type: StageRollback\n`,\n});\n//## Importing Pipeline from Git\nconst test = new harness.platform.Organization(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n});\nconst testPipeline = new harness.platform.Pipeline(\"test\", {\n    identifier: \"gitx\",\n    orgId: \"default\",\n    projectId: \"V\",\n    name: \"gitx\",\n    importFromGit: true,\n    gitImportInfo: {\n        branchName: \"main\",\n        filePath: \".harness/gitx.yaml\",\n        connectorRef: \"account.DoNotDeleteGithub\",\n        repoName: \"open-repo\",\n    },\n    pipelineImportRequest: {\n        pipelineName: \"gitx\",\n        pipelineDescription: \"Pipeline Description\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.Pipeline(\"example\",\n    identifier=\"identifier\",\n    org_id=\"orgIdentifier\",\n    project_id=\"projectIdentifier\",\n    name=\"name\",\n    git_details={\n        \"branch_name\": \"branchName\",\n        \"commit_message\": \"commitMessage\",\n        \"file_path\": \"filePath\",\n        \"connector_ref\": \"connectorRef\",\n        \"store_type\": \"REMOTE\",\n        \"repo_name\": \"repoName\",\n    },\n    tags={},\n    yaml=\"\"\"pipeline:\n    name: name\n    identifier: identifier\n    allowStageExecutions: false\n    projectIdentifier: projectIdentifier\n    orgIdentifier: orgIdentifier\n    tags: {}\n    stages:\n        - stage:\n            name: dep\n            identifier: dep\n            description: \\\"\\\"\n            type: Deployment\n            spec:\n                serviceConfig:\n                    serviceRef: service\n                    serviceDefinition:\n                        type: Kubernetes\n                        spec:\n                            variables: []\n                infrastructure:\n                    environmentRef: testenv\n                    infrastructureDefinition:\n                        type: KubernetesDirect\n                        spec:\n                            connectorRef: testconf\n                            namespace: test\n                            releaseName: release-\u003c+INFRA_KEY\u003e\n                    allowSimultaneousDeployments: false\n                execution:\n                    steps:\n                        - stepGroup:\n                                name: Canary Deployment\n                                identifier: canaryDepoyment\n                                steps:\n                                    - step:\n                                        name: Canary Deployment\n                                        identifier: canaryDeployment\n                                        type: K8sCanaryDeploy\n                                        timeout: 10m\n                                        spec:\n                                            instanceSelection:\n                                                type: Count\n                                                spec:\n                                                    count: 1\n                                            skipDryRun: false\n                                    - step:\n                                        name: Canary Delete\n                                        identifier: canaryDelete\n                                        type: K8sCanaryDelete\n                                        timeout: 10m\n                                        spec: {}\n                                rollbackSteps:\n                                    - step:\n                                        name: Canary Delete\n                                        identifier: rollbackCanaryDelete\n                                        type: K8sCanaryDelete\n                                        timeout: 10m\n                                        spec: {}\n                        - stepGroup:\n                                name: Primary Deployment\n                                identifier: primaryDepoyment\n                                steps:\n                                    - step:\n                                        name: Rolling Deployment\n                                        identifier: rollingDeployment\n                                        type: K8sRollingDeploy\n                                        timeout: 10m\n                                        spec:\n                                            skipDryRun: false\n                                rollbackSteps:\n                                    - step:\n                                        name: Rolling Rollback\n                                        identifier: rollingRollback\n                                        type: K8sRollingRollback\n                                        timeout: 10m\n                                        spec: {}\n                    rollbackSteps: []\n            tags: {}\n            failureStrategies:\n                - onFailure:\n                        errors:\n                            - AllErrors\n                        action:\n                            type: StageRollback\n\"\"\")\n### Importing Pipeline from Git\ntest = harness.platform.Organization(\"test\",\n    identifier=\"identifier\",\n    name=\"name\")\ntest_pipeline = harness.platform.Pipeline(\"test\",\n    identifier=\"gitx\",\n    org_id=\"default\",\n    project_id=\"V\",\n    name=\"gitx\",\n    import_from_git=True,\n    git_import_info={\n        \"branch_name\": \"main\",\n        \"file_path\": \".harness/gitx.yaml\",\n        \"connector_ref\": \"account.DoNotDeleteGithub\",\n        \"repo_name\": \"open-repo\",\n    },\n    pipeline_import_request={\n        \"pipeline_name\": \"gitx\",\n        \"pipeline_description\": \"Pipeline Description\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.Pipeline(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"orgIdentifier\",\n        ProjectId = \"projectIdentifier\",\n        Name = \"name\",\n        GitDetails = new Harness.Platform.Inputs.PipelineGitDetailsArgs\n        {\n            BranchName = \"branchName\",\n            CommitMessage = \"commitMessage\",\n            FilePath = \"filePath\",\n            ConnectorRef = \"connectorRef\",\n            StoreType = \"REMOTE\",\n            RepoName = \"repoName\",\n        },\n        Tags = null,\n        Yaml = @\"pipeline:\n    name: name\n    identifier: identifier\n    allowStageExecutions: false\n    projectIdentifier: projectIdentifier\n    orgIdentifier: orgIdentifier\n    tags: {}\n    stages:\n        - stage:\n            name: dep\n            identifier: dep\n            description: \\\"\"\\\"\"\n            type: Deployment\n            spec:\n                serviceConfig:\n                    serviceRef: service\n                    serviceDefinition:\n                        type: Kubernetes\n                        spec:\n                            variables: []\n                infrastructure:\n                    environmentRef: testenv\n                    infrastructureDefinition:\n                        type: KubernetesDirect\n                        spec:\n                            connectorRef: testconf\n                            namespace: test\n                            releaseName: release-\u003c+INFRA_KEY\u003e\n                    allowSimultaneousDeployments: false\n                execution:\n                    steps:\n                        - stepGroup:\n                                name: Canary Deployment\n                                identifier: canaryDepoyment\n                                steps:\n                                    - step:\n                                        name: Canary Deployment\n                                        identifier: canaryDeployment\n                                        type: K8sCanaryDeploy\n                                        timeout: 10m\n                                        spec:\n                                            instanceSelection:\n                                                type: Count\n                                                spec:\n                                                    count: 1\n                                            skipDryRun: false\n                                    - step:\n                                        name: Canary Delete\n                                        identifier: canaryDelete\n                                        type: K8sCanaryDelete\n                                        timeout: 10m\n                                        spec: {}\n                                rollbackSteps:\n                                    - step:\n                                        name: Canary Delete\n                                        identifier: rollbackCanaryDelete\n                                        type: K8sCanaryDelete\n                                        timeout: 10m\n                                        spec: {}\n                        - stepGroup:\n                                name: Primary Deployment\n                                identifier: primaryDepoyment\n                                steps:\n                                    - step:\n                                        name: Rolling Deployment\n                                        identifier: rollingDeployment\n                                        type: K8sRollingDeploy\n                                        timeout: 10m\n                                        spec:\n                                            skipDryRun: false\n                                rollbackSteps:\n                                    - step:\n                                        name: Rolling Rollback\n                                        identifier: rollingRollback\n                                        type: K8sRollingRollback\n                                        timeout: 10m\n                                        spec: {}\n                    rollbackSteps: []\n            tags: {}\n            failureStrategies:\n                - onFailure:\n                        errors:\n                            - AllErrors\n                        action:\n                            type: StageRollback\n\",\n    });\n\n    //## Importing Pipeline from Git\n    var test = new Harness.Platform.Organization(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n    });\n\n    var testPipeline = new Harness.Platform.Pipeline(\"test\", new()\n    {\n        Identifier = \"gitx\",\n        OrgId = \"default\",\n        ProjectId = \"V\",\n        Name = \"gitx\",\n        ImportFromGit = true,\n        GitImportInfo = new Harness.Platform.Inputs.PipelineGitImportInfoArgs\n        {\n            BranchName = \"main\",\n            FilePath = \".harness/gitx.yaml\",\n            ConnectorRef = \"account.DoNotDeleteGithub\",\n            RepoName = \"open-repo\",\n        },\n        PipelineImportRequest = new Harness.Platform.Inputs.PipelinePipelineImportRequestArgs\n        {\n            PipelineName = \"gitx\",\n            PipelineDescription = \"Pipeline Description\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewPipeline(ctx, \"example\", \u0026platform.PipelineArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tOrgId:      pulumi.String(\"orgIdentifier\"),\n\t\t\tProjectId:  pulumi.String(\"projectIdentifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tGitDetails: \u0026platform.PipelineGitDetailsArgs{\n\t\t\t\tBranchName:    pulumi.String(\"branchName\"),\n\t\t\t\tCommitMessage: pulumi.String(\"commitMessage\"),\n\t\t\t\tFilePath:      pulumi.String(\"filePath\"),\n\t\t\t\tConnectorRef:  pulumi.String(\"connectorRef\"),\n\t\t\t\tStoreType:     pulumi.String(\"REMOTE\"),\n\t\t\t\tRepoName:      pulumi.String(\"repoName\"),\n\t\t\t},\n\t\t\tTags: pulumi.StringArray{},\n\t\t\tYaml: pulumi.String(`pipeline:\n    name: name\n    identifier: identifier\n    allowStageExecutions: false\n    projectIdentifier: projectIdentifier\n    orgIdentifier: orgIdentifier\n    tags: {}\n    stages:\n        - stage:\n            name: dep\n            identifier: dep\n            description: \\\"\\\"\n            type: Deployment\n            spec:\n                serviceConfig:\n                    serviceRef: service\n                    serviceDefinition:\n                        type: Kubernetes\n                        spec:\n                            variables: []\n                infrastructure:\n                    environmentRef: testenv\n                    infrastructureDefinition:\n                        type: KubernetesDirect\n                        spec:\n                            connectorRef: testconf\n                            namespace: test\n                            releaseName: release-\u003c+INFRA_KEY\u003e\n                    allowSimultaneousDeployments: false\n                execution:\n                    steps:\n                        - stepGroup:\n                                name: Canary Deployment\n                                identifier: canaryDepoyment\n                                steps:\n                                    - step:\n                                        name: Canary Deployment\n                                        identifier: canaryDeployment\n                                        type: K8sCanaryDeploy\n                                        timeout: 10m\n                                        spec:\n                                            instanceSelection:\n                                                type: Count\n                                                spec:\n                                                    count: 1\n                                            skipDryRun: false\n                                    - step:\n                                        name: Canary Delete\n                                        identifier: canaryDelete\n                                        type: K8sCanaryDelete\n                                        timeout: 10m\n                                        spec: {}\n                                rollbackSteps:\n                                    - step:\n                                        name: Canary Delete\n                                        identifier: rollbackCanaryDelete\n                                        type: K8sCanaryDelete\n                                        timeout: 10m\n                                        spec: {}\n                        - stepGroup:\n                                name: Primary Deployment\n                                identifier: primaryDepoyment\n                                steps:\n                                    - step:\n                                        name: Rolling Deployment\n                                        identifier: rollingDeployment\n                                        type: K8sRollingDeploy\n                                        timeout: 10m\n                                        spec:\n                                            skipDryRun: false\n                                rollbackSteps:\n                                    - step:\n                                        name: Rolling Rollback\n                                        identifier: rollingRollback\n                                        type: K8sRollingRollback\n                                        timeout: 10m\n                                        spec: {}\n                    rollbackSteps: []\n            tags: {}\n            failureStrategies:\n                - onFailure:\n                        errors:\n                            - AllErrors\n                        action:\n                            type: StageRollback\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ## Importing Pipeline from Git\n\t\t_, err = platform.NewOrganization(ctx, \"test\", \u0026platform.OrganizationArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewPipeline(ctx, \"test\", \u0026platform.PipelineArgs{\n\t\t\tIdentifier:    pulumi.String(\"gitx\"),\n\t\t\tOrgId:         pulumi.String(\"default\"),\n\t\t\tProjectId:     pulumi.String(\"V\"),\n\t\t\tName:          pulumi.String(\"gitx\"),\n\t\t\tImportFromGit: pulumi.Bool(true),\n\t\t\tGitImportInfo: \u0026platform.PipelineGitImportInfoArgs{\n\t\t\t\tBranchName:   pulumi.String(\"main\"),\n\t\t\t\tFilePath:     pulumi.String(\".harness/gitx.yaml\"),\n\t\t\t\tConnectorRef: pulumi.String(\"account.DoNotDeleteGithub\"),\n\t\t\t\tRepoName:     pulumi.String(\"open-repo\"),\n\t\t\t},\n\t\t\tPipelineImportRequest: \u0026platform.PipelinePipelineImportRequestArgs{\n\t\t\t\tPipelineName:        pulumi.String(\"gitx\"),\n\t\t\t\tPipelineDescription: pulumi.String(\"Pipeline Description\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Pipeline;\nimport com.pulumi.harness.platform.PipelineArgs;\nimport com.pulumi.harness.platform.inputs.PipelineGitDetailsArgs;\nimport com.pulumi.harness.platform.Organization;\nimport com.pulumi.harness.platform.OrganizationArgs;\nimport com.pulumi.harness.platform.inputs.PipelineGitImportInfoArgs;\nimport com.pulumi.harness.platform.inputs.PipelinePipelineImportRequestArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Pipeline(\"example\", PipelineArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"orgIdentifier\")\n            .projectId(\"projectIdentifier\")\n            .name(\"name\")\n            .gitDetails(PipelineGitDetailsArgs.builder()\n                .branchName(\"branchName\")\n                .commitMessage(\"commitMessage\")\n                .filePath(\"filePath\")\n                .connectorRef(\"connectorRef\")\n                .storeType(\"REMOTE\")\n                .repoName(\"repoName\")\n                .build())\n            .tags(Map.ofEntries(\n            ))\n            .yaml(\"\"\"\npipeline:\n    name: name\n    identifier: identifier\n    allowStageExecutions: false\n    projectIdentifier: projectIdentifier\n    orgIdentifier: orgIdentifier\n    tags: {}\n    stages:\n        - stage:\n            name: dep\n            identifier: dep\n            description: \\\"\\\"\n            type: Deployment\n            spec:\n                serviceConfig:\n                    serviceRef: service\n                    serviceDefinition:\n                        type: Kubernetes\n                        spec:\n                            variables: []\n                infrastructure:\n                    environmentRef: testenv\n                    infrastructureDefinition:\n                        type: KubernetesDirect\n                        spec:\n                            connectorRef: testconf\n                            namespace: test\n                            releaseName: release-\u003c+INFRA_KEY\u003e\n                    allowSimultaneousDeployments: false\n                execution:\n                    steps:\n                        - stepGroup:\n                                name: Canary Deployment\n                                identifier: canaryDepoyment\n                                steps:\n                                    - step:\n                                        name: Canary Deployment\n                                        identifier: canaryDeployment\n                                        type: K8sCanaryDeploy\n                                        timeout: 10m\n                                        spec:\n                                            instanceSelection:\n                                                type: Count\n                                                spec:\n                                                    count: 1\n                                            skipDryRun: false\n                                    - step:\n                                        name: Canary Delete\n                                        identifier: canaryDelete\n                                        type: K8sCanaryDelete\n                                        timeout: 10m\n                                        spec: {}\n                                rollbackSteps:\n                                    - step:\n                                        name: Canary Delete\n                                        identifier: rollbackCanaryDelete\n                                        type: K8sCanaryDelete\n                                        timeout: 10m\n                                        spec: {}\n                        - stepGroup:\n                                name: Primary Deployment\n                                identifier: primaryDepoyment\n                                steps:\n                                    - step:\n                                        name: Rolling Deployment\n                                        identifier: rollingDeployment\n                                        type: K8sRollingDeploy\n                                        timeout: 10m\n                                        spec:\n                                            skipDryRun: false\n                                rollbackSteps:\n                                    - step:\n                                        name: Rolling Rollback\n                                        identifier: rollingRollback\n                                        type: K8sRollingRollback\n                                        timeout: 10m\n                                        spec: {}\n                    rollbackSteps: []\n            tags: {}\n            failureStrategies:\n                - onFailure:\n                        errors:\n                            - AllErrors\n                        action:\n                            type: StageRollback\n            \"\"\")\n            .build());\n\n        //## Importing Pipeline from Git\n        var test = new Organization(\"test\", OrganizationArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .build());\n\n        var testPipeline = new Pipeline(\"testPipeline\", PipelineArgs.builder()\n            .identifier(\"gitx\")\n            .orgId(\"default\")\n            .projectId(\"V\")\n            .name(\"gitx\")\n            .importFromGit(true)\n            .gitImportInfo(PipelineGitImportInfoArgs.builder()\n                .branchName(\"main\")\n                .filePath(\".harness/gitx.yaml\")\n                .connectorRef(\"account.DoNotDeleteGithub\")\n                .repoName(\"open-repo\")\n                .build())\n            .pipelineImportRequest(PipelinePipelineImportRequestArgs.builder()\n                .pipelineName(\"gitx\")\n                .pipelineDescription(\"Pipeline Description\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:Pipeline\n    properties:\n      identifier: identifier\n      orgId: orgIdentifier\n      projectId: projectIdentifier\n      name: name\n      gitDetails:\n        branchName: branchName\n        commitMessage: commitMessage\n        filePath: filePath\n        connectorRef: connectorRef\n        storeType: REMOTE\n        repoName: repoName\n      tags: {}\n      yaml: |\n        pipeline:\n            name: name\n            identifier: identifier\n            allowStageExecutions: false\n            projectIdentifier: projectIdentifier\n            orgIdentifier: orgIdentifier\n            tags: {}\n            stages:\n                - stage:\n                    name: dep\n                    identifier: dep\n                    description: \\\"\\\"\n                    type: Deployment\n                    spec:\n                        serviceConfig:\n                            serviceRef: service\n                            serviceDefinition:\n                                type: Kubernetes\n                                spec:\n                                    variables: []\n                        infrastructure:\n                            environmentRef: testenv\n                            infrastructureDefinition:\n                                type: KubernetesDirect\n                                spec:\n                                    connectorRef: testconf\n                                    namespace: test\n                                    releaseName: release-\u003c+INFRA_KEY\u003e\n                            allowSimultaneousDeployments: false\n                        execution:\n                            steps:\n                                - stepGroup:\n                                        name: Canary Deployment\n                                        identifier: canaryDepoyment\n                                        steps:\n                                            - step:\n                                                name: Canary Deployment\n                                                identifier: canaryDeployment\n                                                type: K8sCanaryDeploy\n                                                timeout: 10m\n                                                spec:\n                                                    instanceSelection:\n                                                        type: Count\n                                                        spec:\n                                                            count: 1\n                                                    skipDryRun: false\n                                            - step:\n                                                name: Canary Delete\n                                                identifier: canaryDelete\n                                                type: K8sCanaryDelete\n                                                timeout: 10m\n                                                spec: {}\n                                        rollbackSteps:\n                                            - step:\n                                                name: Canary Delete\n                                                identifier: rollbackCanaryDelete\n                                                type: K8sCanaryDelete\n                                                timeout: 10m\n                                                spec: {}\n                                - stepGroup:\n                                        name: Primary Deployment\n                                        identifier: primaryDepoyment\n                                        steps:\n                                            - step:\n                                                name: Rolling Deployment\n                                                identifier: rollingDeployment\n                                                type: K8sRollingDeploy\n                                                timeout: 10m\n                                                spec:\n                                                    skipDryRun: false\n                                        rollbackSteps:\n                                            - step:\n                                                name: Rolling Rollback\n                                                identifier: rollingRollback\n                                                type: K8sRollingRollback\n                                                timeout: 10m\n                                                spec: {}\n                            rollbackSteps: []\n                    tags: {}\n                    failureStrategies:\n                        - onFailure:\n                                errors:\n                                    - AllErrors\n                                action:\n                                    type: StageRollback\n  ### Importing Pipeline from Git\n  test:\n    type: harness:platform:Organization\n    properties:\n      identifier: identifier\n      name: name\n  testPipeline:\n    type: harness:platform:Pipeline\n    name: test\n    properties:\n      identifier: gitx\n      orgId: default\n      projectId: V\n      name: gitx\n      importFromGit: true\n      gitImportInfo:\n        branchName: main\n        filePath: .harness/gitx.yaml\n        connectorRef: account.DoNotDeleteGithub\n        repoName: open-repo\n      pipelineImportRequest:\n        pipelineName: gitx\n        pipelineDescription: Pipeline Description\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport pipeline from default branch\n\n```sh\n$ pulumi import harness:platform/pipeline:Pipeline example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cpipeline_id\u003e\n```\n\nImport pipeline from non default branch\n\n```sh\n$ pulumi import harness:platform/pipeline:Pipeline example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cpipeline_id\u003e/\u003cbranch\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"gitDetails":{"$ref":"#/types/harness:platform/PipelineGitDetails:PipelineGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"gitImportInfo":{"$ref":"#/types/harness:platform/PipelineGitImportInfo:PipelineGitImportInfo","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"pipelineImportRequest":{"$ref":"#/types/harness:platform/PipelinePipelineImportRequest:PipelinePipelineImportRequest","description":"Contains parameters for importing a pipeline\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. These should match the tag value passed in the YAML; if this parameter is null or not passed, the tags specified in YAML should also be null.\n"},"templateApplied":{"type":"boolean","description":"If true, returns Pipeline YAML with Templates applied on it.\n"},"templateAppliedPipelineYaml":{"type":"string","description":"Pipeline YAML after resolving Templates (returned as a String).\n"},"yaml":{"type":"string","description":"YAML of the pipeline. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"required":["gitDetails","identifier","name","orgId","projectId","yaml"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"gitDetails":{"$ref":"#/types/harness:platform/PipelineGitDetails:PipelineGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"gitImportInfo":{"$ref":"#/types/harness:platform/PipelineGitImportInfo:PipelineGitImportInfo","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"pipelineImportRequest":{"$ref":"#/types/harness:platform/PipelinePipelineImportRequest:PipelinePipelineImportRequest","description":"Contains parameters for importing a pipeline\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. These should match the tag value passed in the YAML; if this parameter is null or not passed, the tags specified in YAML should also be null.\n"},"templateApplied":{"type":"boolean","description":"If true, returns Pipeline YAML with Templates applied on it.\n"},"templateAppliedPipelineYaml":{"type":"string","description":"Pipeline YAML after resolving Templates (returned as a String).\n"},"yaml":{"type":"string","description":"YAML of the pipeline. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"requiredInputs":["identifier","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering Pipeline resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"gitDetails":{"$ref":"#/types/harness:platform/PipelineGitDetails:PipelineGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"gitImportInfo":{"$ref":"#/types/harness:platform/PipelineGitImportInfo:PipelineGitImportInfo","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"pipelineImportRequest":{"$ref":"#/types/harness:platform/PipelinePipelineImportRequest:PipelinePipelineImportRequest","description":"Contains parameters for importing a pipeline\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource. These should match the tag value passed in the YAML; if this parameter is null or not passed, the tags specified in YAML should also be null.\n"},"templateApplied":{"type":"boolean","description":"If true, returns Pipeline YAML with Templates applied on it.\n"},"templateAppliedPipelineYaml":{"type":"string","description":"Pipeline YAML after resolving Templates (returned as a String).\n"},"yaml":{"type":"string","description":"YAML of the pipeline. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"type":"object"}},"harness:platform/pipelineCentralNotificationRule:PipelineCentralNotificationRule":{"description":"Resource for creating a Harness Notification Rule for Pipeline\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst projExample = new harness.platform.PipelineCentralNotificationRule(\"projExample\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    status: \"ENABLED\",\n    notificationChannelRefs: [\"account.channel\"],\n    org: \"default\",\n    project: \"proj0\",\n    notificationConditions: [{\n        conditionName: \"pipelineRuleProjectConditionName\",\n        notificationEventConfigs: [{\n            notificationEntity: \"PIPELINE\",\n            notificationEvent: \"PIPELINE_START\",\n            notificationEventDatas: [{\n                type: \"PIPELINE\",\n                scopeIdentifiers: [],\n            }],\n            entityIdentifiers: [],\n        }],\n    }],\n});\nconst orgExample = new harness.platform.PipelineCentralNotificationRule(\"orgExample\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    status: \"ENABLED\",\n    notificationChannelRefs: [\"channel\"],\n    org: \"default\",\n    notificationConditions: [{\n        conditionName: \"pipelineRuleOrgConditionName\",\n        notificationEventConfigs: [{\n            notificationEntity: \"PIPELINE\",\n            notificationEvent: \"PIPELINE_START\",\n            notificationEventDatas: [{\n                type: \"PIPELINE\",\n                scopeIdentifiers: [\n                    \"proj0\",\n                    \"random\",\n                ],\n            }],\n            entityIdentifiers: [],\n        }],\n    }],\n});\nconst accountExample = new harness.platform.PipelineCentralNotificationRule(\"accountExample\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    status: \"DISABLED\",\n    notificationChannelRefs: [\"org.channel\"],\n    notificationConditions: [{\n        conditionName: \"pipelineRuleConditionName\",\n        notificationEventConfigs: [{\n            notificationEntity: \"PIPELINE\",\n            notificationEvent: \"PIPELINE_START\",\n            notificationEventDatas: [{\n                type: \"PIPELINE\",\n                scopeIdentifiers: [\"org\"],\n            }],\n            entityIdentifiers: [],\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nproj_example = harness.platform.PipelineCentralNotificationRule(\"projExample\",\n    identifier=\"identifier\",\n    name=\"name\",\n    status=\"ENABLED\",\n    notification_channel_refs=[\"account.channel\"],\n    org=\"default\",\n    project=\"proj0\",\n    notification_conditions=[{\n        \"condition_name\": \"pipelineRuleProjectConditionName\",\n        \"notification_event_configs\": [{\n            \"notification_entity\": \"PIPELINE\",\n            \"notification_event\": \"PIPELINE_START\",\n            \"notification_event_datas\": [{\n                \"type\": \"PIPELINE\",\n                \"scope_identifiers\": [],\n            }],\n            \"entity_identifiers\": [],\n        }],\n    }])\norg_example = harness.platform.PipelineCentralNotificationRule(\"orgExample\",\n    identifier=\"identifier\",\n    name=\"name\",\n    status=\"ENABLED\",\n    notification_channel_refs=[\"channel\"],\n    org=\"default\",\n    notification_conditions=[{\n        \"condition_name\": \"pipelineRuleOrgConditionName\",\n        \"notification_event_configs\": [{\n            \"notification_entity\": \"PIPELINE\",\n            \"notification_event\": \"PIPELINE_START\",\n            \"notification_event_datas\": [{\n                \"type\": \"PIPELINE\",\n                \"scope_identifiers\": [\n                    \"proj0\",\n                    \"random\",\n                ],\n            }],\n            \"entity_identifiers\": [],\n        }],\n    }])\naccount_example = harness.platform.PipelineCentralNotificationRule(\"accountExample\",\n    identifier=\"identifier\",\n    name=\"name\",\n    status=\"DISABLED\",\n    notification_channel_refs=[\"org.channel\"],\n    notification_conditions=[{\n        \"condition_name\": \"pipelineRuleConditionName\",\n        \"notification_event_configs\": [{\n            \"notification_entity\": \"PIPELINE\",\n            \"notification_event\": \"PIPELINE_START\",\n            \"notification_event_datas\": [{\n                \"type\": \"PIPELINE\",\n                \"scope_identifiers\": [\"org\"],\n            }],\n            \"entity_identifiers\": [],\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var projExample = new Harness.Platform.PipelineCentralNotificationRule(\"projExample\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Status = \"ENABLED\",\n        NotificationChannelRefs = new[]\n        {\n            \"account.channel\",\n        },\n        Org = \"default\",\n        Project = \"proj0\",\n        NotificationConditions = new[]\n        {\n            new Harness.Platform.Inputs.PipelineCentralNotificationRuleNotificationConditionArgs\n            {\n                ConditionName = \"pipelineRuleProjectConditionName\",\n                NotificationEventConfigs = new[]\n                {\n                    new Harness.Platform.Inputs.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArgs\n                    {\n                        NotificationEntity = \"PIPELINE\",\n                        NotificationEvent = \"PIPELINE_START\",\n                        NotificationEventDatas = new[]\n                        {\n                            new Harness.Platform.Inputs.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArgs\n                            {\n                                Type = \"PIPELINE\",\n                                ScopeIdentifiers = new() { },\n                            },\n                        },\n                        EntityIdentifiers = new() { },\n                    },\n                },\n            },\n        },\n    });\n\n    var orgExample = new Harness.Platform.PipelineCentralNotificationRule(\"orgExample\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Status = \"ENABLED\",\n        NotificationChannelRefs = new[]\n        {\n            \"channel\",\n        },\n        Org = \"default\",\n        NotificationConditions = new[]\n        {\n            new Harness.Platform.Inputs.PipelineCentralNotificationRuleNotificationConditionArgs\n            {\n                ConditionName = \"pipelineRuleOrgConditionName\",\n                NotificationEventConfigs = new[]\n                {\n                    new Harness.Platform.Inputs.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArgs\n                    {\n                        NotificationEntity = \"PIPELINE\",\n                        NotificationEvent = \"PIPELINE_START\",\n                        NotificationEventDatas = new[]\n                        {\n                            new Harness.Platform.Inputs.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArgs\n                            {\n                                Type = \"PIPELINE\",\n                                ScopeIdentifiers = new[]\n                                {\n                                    \"proj0\",\n                                    \"random\",\n                                },\n                            },\n                        },\n                        EntityIdentifiers = new() { },\n                    },\n                },\n            },\n        },\n    });\n\n    var accountExample = new Harness.Platform.PipelineCentralNotificationRule(\"accountExample\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Status = \"DISABLED\",\n        NotificationChannelRefs = new[]\n        {\n            \"org.channel\",\n        },\n        NotificationConditions = new[]\n        {\n            new Harness.Platform.Inputs.PipelineCentralNotificationRuleNotificationConditionArgs\n            {\n                ConditionName = \"pipelineRuleConditionName\",\n                NotificationEventConfigs = new[]\n                {\n                    new Harness.Platform.Inputs.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArgs\n                    {\n                        NotificationEntity = \"PIPELINE\",\n                        NotificationEvent = \"PIPELINE_START\",\n                        NotificationEventDatas = new[]\n                        {\n                            new Harness.Platform.Inputs.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArgs\n                            {\n                                Type = \"PIPELINE\",\n                                ScopeIdentifiers = new[]\n                                {\n                                    \"org\",\n                                },\n                            },\n                        },\n                        EntityIdentifiers = new() { },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewPipelineCentralNotificationRule(ctx, \"projExample\", \u0026platform.PipelineCentralNotificationRuleArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tStatus:     pulumi.String(\"ENABLED\"),\n\t\t\tNotificationChannelRefs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"account.channel\"),\n\t\t\t},\n\t\t\tOrg:     pulumi.String(\"default\"),\n\t\t\tProject: pulumi.String(\"proj0\"),\n\t\t\tNotificationConditions: platform.PipelineCentralNotificationRuleNotificationConditionArray{\n\t\t\t\t\u0026platform.PipelineCentralNotificationRuleNotificationConditionArgs{\n\t\t\t\t\tConditionName: pulumi.String(\"pipelineRuleProjectConditionName\"),\n\t\t\t\t\tNotificationEventConfigs: platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArray{\n\t\t\t\t\t\t\u0026platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArgs{\n\t\t\t\t\t\t\tNotificationEntity: pulumi.String(\"PIPELINE\"),\n\t\t\t\t\t\t\tNotificationEvent:  pulumi.String(\"PIPELINE_START\"),\n\t\t\t\t\t\t\tNotificationEventDatas: platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArray{\n\t\t\t\t\t\t\t\t\u0026platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArgs{\n\t\t\t\t\t\t\t\t\tType:             pulumi.String(\"PIPELINE\"),\n\t\t\t\t\t\t\t\t\tScopeIdentifiers: pulumi.StringArray{},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tEntityIdentifiers: pulumi.StringArray{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewPipelineCentralNotificationRule(ctx, \"orgExample\", \u0026platform.PipelineCentralNotificationRuleArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tStatus:     pulumi.String(\"ENABLED\"),\n\t\t\tNotificationChannelRefs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"channel\"),\n\t\t\t},\n\t\t\tOrg: pulumi.String(\"default\"),\n\t\t\tNotificationConditions: platform.PipelineCentralNotificationRuleNotificationConditionArray{\n\t\t\t\t\u0026platform.PipelineCentralNotificationRuleNotificationConditionArgs{\n\t\t\t\t\tConditionName: pulumi.String(\"pipelineRuleOrgConditionName\"),\n\t\t\t\t\tNotificationEventConfigs: platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArray{\n\t\t\t\t\t\t\u0026platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArgs{\n\t\t\t\t\t\t\tNotificationEntity: pulumi.String(\"PIPELINE\"),\n\t\t\t\t\t\t\tNotificationEvent:  pulumi.String(\"PIPELINE_START\"),\n\t\t\t\t\t\t\tNotificationEventDatas: platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArray{\n\t\t\t\t\t\t\t\t\u0026platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArgs{\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"PIPELINE\"),\n\t\t\t\t\t\t\t\t\tScopeIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"proj0\"),\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"random\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tEntityIdentifiers: pulumi.StringArray{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewPipelineCentralNotificationRule(ctx, \"accountExample\", \u0026platform.PipelineCentralNotificationRuleArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tStatus:     pulumi.String(\"DISABLED\"),\n\t\t\tNotificationChannelRefs: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"org.channel\"),\n\t\t\t},\n\t\t\tNotificationConditions: platform.PipelineCentralNotificationRuleNotificationConditionArray{\n\t\t\t\t\u0026platform.PipelineCentralNotificationRuleNotificationConditionArgs{\n\t\t\t\t\tConditionName: pulumi.String(\"pipelineRuleConditionName\"),\n\t\t\t\t\tNotificationEventConfigs: platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArray{\n\t\t\t\t\t\t\u0026platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArgs{\n\t\t\t\t\t\t\tNotificationEntity: pulumi.String(\"PIPELINE\"),\n\t\t\t\t\t\t\tNotificationEvent:  pulumi.String(\"PIPELINE_START\"),\n\t\t\t\t\t\t\tNotificationEventDatas: platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArray{\n\t\t\t\t\t\t\t\t\u0026platform.PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArgs{\n\t\t\t\t\t\t\t\t\tType: pulumi.String(\"PIPELINE\"),\n\t\t\t\t\t\t\t\t\tScopeIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"org\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tEntityIdentifiers: pulumi.StringArray{},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PipelineCentralNotificationRule;\nimport com.pulumi.harness.platform.PipelineCentralNotificationRuleArgs;\nimport com.pulumi.harness.platform.inputs.PipelineCentralNotificationRuleNotificationConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var projExample = new PipelineCentralNotificationRule(\"projExample\", PipelineCentralNotificationRuleArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .status(\"ENABLED\")\n            .notificationChannelRefs(\"account.channel\")\n            .org(\"default\")\n            .project(\"proj0\")\n            .notificationConditions(PipelineCentralNotificationRuleNotificationConditionArgs.builder()\n                .conditionName(\"pipelineRuleProjectConditionName\")\n                .notificationEventConfigs(PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArgs.builder()\n                    .notificationEntity(\"PIPELINE\")\n                    .notificationEvent(\"PIPELINE_START\")\n                    .notificationEventDatas(PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArgs.builder()\n                        .type(\"PIPELINE\")\n                        .scopeIdentifiers()\n                        .build())\n                    .entityIdentifiers()\n                    .build())\n                .build())\n            .build());\n\n        var orgExample = new PipelineCentralNotificationRule(\"orgExample\", PipelineCentralNotificationRuleArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .status(\"ENABLED\")\n            .notificationChannelRefs(\"channel\")\n            .org(\"default\")\n            .notificationConditions(PipelineCentralNotificationRuleNotificationConditionArgs.builder()\n                .conditionName(\"pipelineRuleOrgConditionName\")\n                .notificationEventConfigs(PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArgs.builder()\n                    .notificationEntity(\"PIPELINE\")\n                    .notificationEvent(\"PIPELINE_START\")\n                    .notificationEventDatas(PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArgs.builder()\n                        .type(\"PIPELINE\")\n                        .scopeIdentifiers(                        \n                            \"proj0\",\n                            \"random\")\n                        .build())\n                    .entityIdentifiers()\n                    .build())\n                .build())\n            .build());\n\n        var accountExample = new PipelineCentralNotificationRule(\"accountExample\", PipelineCentralNotificationRuleArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .status(\"DISABLED\")\n            .notificationChannelRefs(\"org.channel\")\n            .notificationConditions(PipelineCentralNotificationRuleNotificationConditionArgs.builder()\n                .conditionName(\"pipelineRuleConditionName\")\n                .notificationEventConfigs(PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigArgs.builder()\n                    .notificationEntity(\"PIPELINE\")\n                    .notificationEvent(\"PIPELINE_START\")\n                    .notificationEventDatas(PipelineCentralNotificationRuleNotificationConditionNotificationEventConfigNotificationEventDataArgs.builder()\n                        .type(\"PIPELINE\")\n                        .scopeIdentifiers(\"org\")\n                        .build())\n                    .entityIdentifiers()\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  projExample:\n    type: harness:platform:PipelineCentralNotificationRule\n    properties:\n      identifier: identifier\n      name: name\n      status: ENABLED\n      notificationChannelRefs:\n        - account.channel\n      org: default\n      project: proj0\n      notificationConditions:\n        - conditionName: pipelineRuleProjectConditionName\n          notificationEventConfigs:\n            - notificationEntity: PIPELINE\n              notificationEvent: PIPELINE_START\n              notificationEventDatas:\n                - type: PIPELINE\n                  scopeIdentifiers: []\n              entityIdentifiers: []\n  orgExample:\n    type: harness:platform:PipelineCentralNotificationRule\n    properties:\n      identifier: identifier\n      name: name\n      status: ENABLED\n      notificationChannelRefs:\n        - channel\n      org: default\n      notificationConditions:\n        - conditionName: pipelineRuleOrgConditionName\n          notificationEventConfigs:\n            - notificationEntity: PIPELINE\n              notificationEvent: PIPELINE_START\n              notificationEventDatas:\n                - type: PIPELINE\n                  scopeIdentifiers:\n                    - proj0\n                    - random\n              entityIdentifiers: []\n  accountExample:\n    type: harness:platform:PipelineCentralNotificationRule\n    properties:\n      identifier: identifier\n      name: name\n      status: DISABLED\n      notificationChannelRefs:\n        - org.channel\n      notificationConditions:\n        - conditionName: pipelineRuleConditionName\n          notificationEventConfigs:\n            - notificationEntity: PIPELINE\n              notificationEvent: PIPELINE_START\n              notificationEventDatas:\n                - type: PIPELINE\n                  scopeIdentifiers:\n                    - org\n              entityIdentifiers: []\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level pipeline central notification rule\n\n```sh\n$ pulumi import harness:platform/pipelineCentralNotificationRule:PipelineCentralNotificationRule example \u003cnotification_rule_id\u003e\n```\n\nImport org level pipeline central notification rule\n\n```sh\n$ pulumi import harness:platform/pipelineCentralNotificationRule:PipelineCentralNotificationRule example \u003cord_id\u003e/\u003cnotification_rule_id\u003e\n```\n\nImport project level pipeline central notification rule\n\n```sh\n$ pulumi import harness:platform/pipelineCentralNotificationRule:PipelineCentralNotificationRule example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cnotification_rule_id\u003e\n```\n\n","properties":{"account":{"type":"string","description":"Account identifier associated with this notification channel.\n"},"created":{"type":"integer","description":"Timestamp when the notification rule was created.\n"},"customNotificationTemplateRef":{"$ref":"#/types/harness:platform/PipelineCentralNotificationRuleCustomNotificationTemplateRef:PipelineCentralNotificationRuleCustomNotificationTemplateRef"},"identifier":{"type":"string"},"lastModified":{"type":"integer","description":"Timestamp when the notification rule was last modified.\n"},"name":{"type":"string"},"notificationChannelRefs":{"type":"array","items":{"type":"string"}},"notificationConditions":{"type":"array","items":{"$ref":"#/types/harness:platform/PipelineCentralNotificationRuleNotificationCondition:PipelineCentralNotificationRuleNotificationCondition"}},"org":{"type":"string"},"project":{"type":"string"},"status":{"type":"string"}},"required":["account","created","identifier","lastModified","name","notificationChannelRefs","notificationConditions"],"inputProperties":{"customNotificationTemplateRef":{"$ref":"#/types/harness:platform/PipelineCentralNotificationRuleCustomNotificationTemplateRef:PipelineCentralNotificationRuleCustomNotificationTemplateRef"},"identifier":{"type":"string"},"name":{"type":"string"},"notificationChannelRefs":{"type":"array","items":{"type":"string"}},"notificationConditions":{"type":"array","items":{"$ref":"#/types/harness:platform/PipelineCentralNotificationRuleNotificationCondition:PipelineCentralNotificationRuleNotificationCondition"}},"org":{"type":"string"},"project":{"type":"string"},"status":{"type":"string"}},"requiredInputs":["identifier","notificationChannelRefs","notificationConditions"],"stateInputs":{"description":"Input properties used for looking up and filtering PipelineCentralNotificationRule resources.\n","properties":{"account":{"type":"string","description":"Account identifier associated with this notification channel.\n"},"created":{"type":"integer","description":"Timestamp when the notification rule was created.\n"},"customNotificationTemplateRef":{"$ref":"#/types/harness:platform/PipelineCentralNotificationRuleCustomNotificationTemplateRef:PipelineCentralNotificationRuleCustomNotificationTemplateRef"},"identifier":{"type":"string"},"lastModified":{"type":"integer","description":"Timestamp when the notification rule was last modified.\n"},"name":{"type":"string"},"notificationChannelRefs":{"type":"array","items":{"type":"string"}},"notificationConditions":{"type":"array","items":{"$ref":"#/types/harness:platform/PipelineCentralNotificationRuleNotificationCondition:PipelineCentralNotificationRuleNotificationCondition"}},"org":{"type":"string"},"project":{"type":"string"},"status":{"type":"string"}},"type":"object"}},"harness:platform/pipelineFilters:PipelineFilters":{"description":"Resource for creating Harness Pipeline Filters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.PipelineFilters(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    type: \"PipelineSetup\",\n    filterProperties: {\n        name: \"pipeline_name\",\n        description: \"pipeline_description\",\n        pipelineIdentifiers: [\n            \"id1\",\n            \"id2\",\n        ],\n        filterType: \"PipelineSetup\",\n    },\n    filterVisibility: \"EveryOne\",\n});\n// pipeline execution filter consisiting services (service_identifiers) filter\nconst execution = new harness.platform.PipelineFilters(\"execution\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    type: \"PipelineSetup\",\n    filterProperties: {\n        name: \"pipeline_name\",\n        description: \"pipeline_description\",\n        pipelineIdentifiers: [\n            \"id1\",\n            \"id2\",\n        ],\n        filterType: \"PipelineExecution\",\n        moduleProperties: {\n            cd: {\n                deploymentTypes: \"Kubernetes\",\n                serviceIdentifiers: [\"nginx\"],\n            },\n        },\n    },\n    filterVisibility: \"EveryOne\",\n});\n// pipeline filter with tags\nconst exampleWithTags = new harness.platform.PipelineFilters(\"example_with_tags\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    type: \"PipelineSetup\",\n    filterProperties: {\n        filterType: \"PipelineSetup\",\n        pipelineTags: [\n            {\n                key: \"tag1\",\n                value: \"123\",\n            },\n            {\n                key: \"tag2\",\n                value: \"456\",\n            },\n        ],\n        moduleProperties: {\n            cd: {\n                deploymentTypes: \"Kubernetes\",\n                serviceNames: [\n                    \"service1\",\n                    \"service2\",\n                ],\n                environmentNames: [\n                    \"env1\",\n                    \"env2\",\n                ],\n                artifactDisplayNames: [\n                    \"artificatname1\",\n                    \"artifact2\",\n                ],\n            },\n            ci: {\n                buildType: \"branch\",\n                branch: \"branch123\",\n                repoNames: \"repo1234\",\n            },\n        },\n    },\n});\nconst pipelinemoduleproperties = new harness.platform.PipelineFilters(\"pipelinemoduleproperties\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: testHarnessPlatformProject.orgId,\n    projectId: testHarnessPlatformProject.id,\n    type: \"PipelineExecution\",\n    filterProperties: {\n        filterType: \"PipelineExecution\",\n        pipelineName: \"test\",\n        pipelineTags: [\n            {\n                key: \"k1\",\n                value: \"v1\",\n            },\n            {\n                key: \"k2\",\n                value: \"v2\",\n            },\n        ],\n        moduleProperties: {\n            cd: {\n                serviceDefinitionTypes: \"Kubernetes\",\n                serviceIdentifiers: [\"K8\"],\n                environmentIdentifiers: [\"dev\"],\n                artifactDisplayNames: [\"artificatname1\"],\n            },\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.PipelineFilters(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    type=\"PipelineSetup\",\n    filter_properties={\n        \"name\": \"pipeline_name\",\n        \"description\": \"pipeline_description\",\n        \"pipeline_identifiers\": [\n            \"id1\",\n            \"id2\",\n        ],\n        \"filter_type\": \"PipelineSetup\",\n    },\n    filter_visibility=\"EveryOne\")\n# pipeline execution filter consisiting services (service_identifiers) filter\nexecution = harness.platform.PipelineFilters(\"execution\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    type=\"PipelineSetup\",\n    filter_properties={\n        \"name\": \"pipeline_name\",\n        \"description\": \"pipeline_description\",\n        \"pipeline_identifiers\": [\n            \"id1\",\n            \"id2\",\n        ],\n        \"filter_type\": \"PipelineExecution\",\n        \"module_properties\": {\n            \"cd\": {\n                \"deployment_types\": \"Kubernetes\",\n                \"service_identifiers\": [\"nginx\"],\n            },\n        },\n    },\n    filter_visibility=\"EveryOne\")\n# pipeline filter with tags\nexample_with_tags = harness.platform.PipelineFilters(\"example_with_tags\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    type=\"PipelineSetup\",\n    filter_properties={\n        \"filter_type\": \"PipelineSetup\",\n        \"pipeline_tags\": [\n            {\n                \"key\": \"tag1\",\n                \"value\": \"123\",\n            },\n            {\n                \"key\": \"tag2\",\n                \"value\": \"456\",\n            },\n        ],\n        \"module_properties\": {\n            \"cd\": {\n                \"deployment_types\": \"Kubernetes\",\n                \"service_names\": [\n                    \"service1\",\n                    \"service2\",\n                ],\n                \"environment_names\": [\n                    \"env1\",\n                    \"env2\",\n                ],\n                \"artifact_display_names\": [\n                    \"artificatname1\",\n                    \"artifact2\",\n                ],\n            },\n            \"ci\": {\n                \"build_type\": \"branch\",\n                \"branch\": \"branch123\",\n                \"repo_names\": \"repo1234\",\n            },\n        },\n    })\npipelinemoduleproperties = harness.platform.PipelineFilters(\"pipelinemoduleproperties\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=test_harness_platform_project[\"orgId\"],\n    project_id=test_harness_platform_project[\"id\"],\n    type=\"PipelineExecution\",\n    filter_properties={\n        \"filter_type\": \"PipelineExecution\",\n        \"pipeline_name\": \"test\",\n        \"pipeline_tags\": [\n            {\n                \"key\": \"k1\",\n                \"value\": \"v1\",\n            },\n            {\n                \"key\": \"k2\",\n                \"value\": \"v2\",\n            },\n        ],\n        \"module_properties\": {\n            \"cd\": {\n                \"service_definition_types\": \"Kubernetes\",\n                \"service_identifiers\": [\"K8\"],\n                \"environment_identifiers\": [\"dev\"],\n                \"artifact_display_names\": [\"artificatname1\"],\n            },\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.PipelineFilters(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Type = \"PipelineSetup\",\n        FilterProperties = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesArgs\n        {\n            Name = \"pipeline_name\",\n            Description = \"pipeline_description\",\n            PipelineIdentifiers = new[]\n            {\n                \"id1\",\n                \"id2\",\n            },\n            FilterType = \"PipelineSetup\",\n        },\n        FilterVisibility = \"EveryOne\",\n    });\n\n    // pipeline execution filter consisiting services (service_identifiers) filter\n    var execution = new Harness.Platform.PipelineFilters(\"execution\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Type = \"PipelineSetup\",\n        FilterProperties = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesArgs\n        {\n            Name = \"pipeline_name\",\n            Description = \"pipeline_description\",\n            PipelineIdentifiers = new[]\n            {\n                \"id1\",\n                \"id2\",\n            },\n            FilterType = \"PipelineExecution\",\n            ModuleProperties = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesModulePropertiesArgs\n            {\n                Cd = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesModulePropertiesCdArgs\n                {\n                    DeploymentTypes = \"Kubernetes\",\n                    ServiceIdentifiers = new[]\n                    {\n                        \"nginx\",\n                    },\n                },\n            },\n        },\n        FilterVisibility = \"EveryOne\",\n    });\n\n    // pipeline filter with tags\n    var exampleWithTags = new Harness.Platform.PipelineFilters(\"example_with_tags\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Type = \"PipelineSetup\",\n        FilterProperties = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesArgs\n        {\n            FilterType = \"PipelineSetup\",\n            PipelineTags = new[]\n            {\n                \n                {\n                    { \"key\", \"tag1\" },\n                    { \"value\", \"123\" },\n                },\n                \n                {\n                    { \"key\", \"tag2\" },\n                    { \"value\", \"456\" },\n                },\n            },\n            ModuleProperties = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesModulePropertiesArgs\n            {\n                Cd = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesModulePropertiesCdArgs\n                {\n                    DeploymentTypes = \"Kubernetes\",\n                    ServiceNames = new[]\n                    {\n                        \"service1\",\n                        \"service2\",\n                    },\n                    EnvironmentNames = new[]\n                    {\n                        \"env1\",\n                        \"env2\",\n                    },\n                    ArtifactDisplayNames = new[]\n                    {\n                        \"artificatname1\",\n                        \"artifact2\",\n                    },\n                },\n                Ci = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesModulePropertiesCiArgs\n                {\n                    BuildType = \"branch\",\n                    Branch = \"branch123\",\n                    RepoNames = \"repo1234\",\n                },\n            },\n        },\n    });\n\n    var pipelinemoduleproperties = new Harness.Platform.PipelineFilters(\"pipelinemoduleproperties\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = testHarnessPlatformProject.OrgId,\n        ProjectId = testHarnessPlatformProject.Id,\n        Type = \"PipelineExecution\",\n        FilterProperties = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesArgs\n        {\n            FilterType = \"PipelineExecution\",\n            PipelineName = \"test\",\n            PipelineTags = new[]\n            {\n                \n                {\n                    { \"key\", \"k1\" },\n                    { \"value\", \"v1\" },\n                },\n                \n                {\n                    { \"key\", \"k2\" },\n                    { \"value\", \"v2\" },\n                },\n            },\n            ModuleProperties = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesModulePropertiesArgs\n            {\n                Cd = new Harness.Platform.Inputs.PipelineFiltersFilterPropertiesModulePropertiesCdArgs\n                {\n                    ServiceDefinitionTypes = \"Kubernetes\",\n                    ServiceIdentifiers = new[]\n                    {\n                        \"K8\",\n                    },\n                    EnvironmentIdentifiers = new[]\n                    {\n                        \"dev\",\n                    },\n                    ArtifactDisplayNames = new[]\n                    {\n                        \"artificatname1\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewPipelineFilters(ctx, \"test\", \u0026platform.PipelineFiltersArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tType:       pulumi.String(\"PipelineSetup\"),\n\t\t\tFilterProperties: \u0026platform.PipelineFiltersFilterPropertiesArgs{\n\t\t\t\tName:        pulumi.String(\"pipeline_name\"),\n\t\t\t\tDescription: pulumi.String(\"pipeline_description\"),\n\t\t\t\tPipelineIdentifiers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"id1\"),\n\t\t\t\t\tpulumi.String(\"id2\"),\n\t\t\t\t},\n\t\t\t\tFilterType: pulumi.String(\"PipelineSetup\"),\n\t\t\t},\n\t\t\tFilterVisibility: pulumi.String(\"EveryOne\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// pipeline execution filter consisiting services (service_identifiers) filter\n\t\t_, err = platform.NewPipelineFilters(ctx, \"execution\", \u0026platform.PipelineFiltersArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tType:       pulumi.String(\"PipelineSetup\"),\n\t\t\tFilterProperties: \u0026platform.PipelineFiltersFilterPropertiesArgs{\n\t\t\t\tName:        pulumi.String(\"pipeline_name\"),\n\t\t\t\tDescription: pulumi.String(\"pipeline_description\"),\n\t\t\t\tPipelineIdentifiers: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"id1\"),\n\t\t\t\t\tpulumi.String(\"id2\"),\n\t\t\t\t},\n\t\t\t\tFilterType: pulumi.String(\"PipelineExecution\"),\n\t\t\t\tModuleProperties: \u0026platform.PipelineFiltersFilterPropertiesModulePropertiesArgs{\n\t\t\t\t\tCd: \u0026platform.PipelineFiltersFilterPropertiesModulePropertiesCdArgs{\n\t\t\t\t\t\tDeploymentTypes: pulumi.String(\"Kubernetes\"),\n\t\t\t\t\t\tServiceIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"nginx\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tFilterVisibility: pulumi.String(\"EveryOne\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// pipeline filter with tags\n\t\t_, err = platform.NewPipelineFilters(ctx, \"example_with_tags\", \u0026platform.PipelineFiltersArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tType:       pulumi.String(\"PipelineSetup\"),\n\t\t\tFilterProperties: \u0026platform.PipelineFiltersFilterPropertiesArgs{\n\t\t\t\tFilterType: pulumi.String(\"PipelineSetup\"),\n\t\t\t\tPipelineTags: pulumi.StringMapArray{\n\t\t\t\t\tpulumi.StringMap{\n\t\t\t\t\t\t\"key\":   pulumi.String(\"tag1\"),\n\t\t\t\t\t\t\"value\": pulumi.String(\"123\"),\n\t\t\t\t\t},\n\t\t\t\t\tpulumi.StringMap{\n\t\t\t\t\t\t\"key\":   pulumi.String(\"tag2\"),\n\t\t\t\t\t\t\"value\": pulumi.String(\"456\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tModuleProperties: \u0026platform.PipelineFiltersFilterPropertiesModulePropertiesArgs{\n\t\t\t\t\tCd: \u0026platform.PipelineFiltersFilterPropertiesModulePropertiesCdArgs{\n\t\t\t\t\t\tDeploymentTypes: pulumi.String(\"Kubernetes\"),\n\t\t\t\t\t\tServiceNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"service1\"),\n\t\t\t\t\t\t\tpulumi.String(\"service2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tEnvironmentNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"env1\"),\n\t\t\t\t\t\t\tpulumi.String(\"env2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tArtifactDisplayNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"artificatname1\"),\n\t\t\t\t\t\t\tpulumi.String(\"artifact2\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tCi: \u0026platform.PipelineFiltersFilterPropertiesModulePropertiesCiArgs{\n\t\t\t\t\t\tBuildType: pulumi.String(\"branch\"),\n\t\t\t\t\t\tBranch:    pulumi.String(\"branch123\"),\n\t\t\t\t\t\tRepoNames: pulumi.String(\"repo1234\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewPipelineFilters(ctx, \"pipelinemoduleproperties\", \u0026platform.PipelineFiltersArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tOrgId:      pulumi.Any(testHarnessPlatformProject.OrgId),\n\t\t\tProjectId:  pulumi.Any(testHarnessPlatformProject.Id),\n\t\t\tType:       pulumi.String(\"PipelineExecution\"),\n\t\t\tFilterProperties: \u0026platform.PipelineFiltersFilterPropertiesArgs{\n\t\t\t\tFilterType:   pulumi.String(\"PipelineExecution\"),\n\t\t\t\tPipelineName: pulumi.String(\"test\"),\n\t\t\t\tPipelineTags: pulumi.StringMapArray{\n\t\t\t\t\tpulumi.StringMap{\n\t\t\t\t\t\t\"key\":   pulumi.String(\"k1\"),\n\t\t\t\t\t\t\"value\": pulumi.String(\"v1\"),\n\t\t\t\t\t},\n\t\t\t\t\tpulumi.StringMap{\n\t\t\t\t\t\t\"key\":   pulumi.String(\"k2\"),\n\t\t\t\t\t\t\"value\": pulumi.String(\"v2\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tModuleProperties: \u0026platform.PipelineFiltersFilterPropertiesModulePropertiesArgs{\n\t\t\t\t\tCd: \u0026platform.PipelineFiltersFilterPropertiesModulePropertiesCdArgs{\n\t\t\t\t\t\tServiceDefinitionTypes: pulumi.String(\"Kubernetes\"),\n\t\t\t\t\t\tServiceIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"K8\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tEnvironmentIdentifiers: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"dev\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tArtifactDisplayNames: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"artificatname1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PipelineFilters;\nimport com.pulumi.harness.platform.PipelineFiltersArgs;\nimport com.pulumi.harness.platform.inputs.PipelineFiltersFilterPropertiesArgs;\nimport com.pulumi.harness.platform.inputs.PipelineFiltersFilterPropertiesModulePropertiesArgs;\nimport com.pulumi.harness.platform.inputs.PipelineFiltersFilterPropertiesModulePropertiesCdArgs;\nimport com.pulumi.harness.platform.inputs.PipelineFiltersFilterPropertiesModulePropertiesCiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new PipelineFilters(\"test\", PipelineFiltersArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .type(\"PipelineSetup\")\n            .filterProperties(PipelineFiltersFilterPropertiesArgs.builder()\n                .name(\"pipeline_name\")\n                .description(\"pipeline_description\")\n                .pipelineIdentifiers(                \n                    \"id1\",\n                    \"id2\")\n                .filterType(\"PipelineSetup\")\n                .build())\n            .filterVisibility(\"EveryOne\")\n            .build());\n\n        // pipeline execution filter consisiting services (service_identifiers) filter\n        var execution = new PipelineFilters(\"execution\", PipelineFiltersArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .type(\"PipelineSetup\")\n            .filterProperties(PipelineFiltersFilterPropertiesArgs.builder()\n                .name(\"pipeline_name\")\n                .description(\"pipeline_description\")\n                .pipelineIdentifiers(                \n                    \"id1\",\n                    \"id2\")\n                .filterType(\"PipelineExecution\")\n                .moduleProperties(PipelineFiltersFilterPropertiesModulePropertiesArgs.builder()\n                    .cd(PipelineFiltersFilterPropertiesModulePropertiesCdArgs.builder()\n                        .deploymentTypes(\"Kubernetes\")\n                        .serviceIdentifiers(\"nginx\")\n                        .build())\n                    .build())\n                .build())\n            .filterVisibility(\"EveryOne\")\n            .build());\n\n        // pipeline filter with tags\n        var exampleWithTags = new PipelineFilters(\"exampleWithTags\", PipelineFiltersArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .type(\"PipelineSetup\")\n            .filterProperties(PipelineFiltersFilterPropertiesArgs.builder()\n                .filterType(\"PipelineSetup\")\n                .pipelineTags(                \n                    Map.ofEntries(\n                        Map.entry(\"key\", \"tag1\"),\n                        Map.entry(\"value\", \"123\")\n                    ),\n                    Map.ofEntries(\n                        Map.entry(\"key\", \"tag2\"),\n                        Map.entry(\"value\", \"456\")\n                    ))\n                .moduleProperties(PipelineFiltersFilterPropertiesModulePropertiesArgs.builder()\n                    .cd(PipelineFiltersFilterPropertiesModulePropertiesCdArgs.builder()\n                        .deploymentTypes(\"Kubernetes\")\n                        .serviceNames(                        \n                            \"service1\",\n                            \"service2\")\n                        .environmentNames(                        \n                            \"env1\",\n                            \"env2\")\n                        .artifactDisplayNames(                        \n                            \"artificatname1\",\n                            \"artifact2\")\n                        .build())\n                    .ci(PipelineFiltersFilterPropertiesModulePropertiesCiArgs.builder()\n                        .buildType(\"branch\")\n                        .branch(\"branch123\")\n                        .repoNames(\"repo1234\")\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n        var pipelinemoduleproperties = new PipelineFilters(\"pipelinemoduleproperties\", PipelineFiltersArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(testHarnessPlatformProject.orgId())\n            .projectId(testHarnessPlatformProject.id())\n            .type(\"PipelineExecution\")\n            .filterProperties(PipelineFiltersFilterPropertiesArgs.builder()\n                .filterType(\"PipelineExecution\")\n                .pipelineName(\"test\")\n                .pipelineTags(                \n                    Map.ofEntries(\n                        Map.entry(\"key\", \"k1\"),\n                        Map.entry(\"value\", \"v1\")\n                    ),\n                    Map.ofEntries(\n                        Map.entry(\"key\", \"k2\"),\n                        Map.entry(\"value\", \"v2\")\n                    ))\n                .moduleProperties(PipelineFiltersFilterPropertiesModulePropertiesArgs.builder()\n                    .cd(PipelineFiltersFilterPropertiesModulePropertiesCdArgs.builder()\n                        .serviceDefinitionTypes(\"Kubernetes\")\n                        .serviceIdentifiers(\"K8\")\n                        .environmentIdentifiers(\"dev\")\n                        .artifactDisplayNames(\"artificatname1\")\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:PipelineFilters\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      type: PipelineSetup\n      filterProperties:\n        name: pipeline_name\n        description: pipeline_description\n        pipelineIdentifiers:\n          - id1\n          - id2\n        filterType: PipelineSetup\n      filterVisibility: EveryOne\n  # pipeline execution filter consisiting services (service_identifiers) filter\n  execution:\n    type: harness:platform:PipelineFilters\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      type: PipelineSetup\n      filterProperties:\n        name: pipeline_name\n        description: pipeline_description\n        pipelineIdentifiers:\n          - id1\n          - id2\n        filterType: PipelineExecution\n        moduleProperties:\n          cd:\n            deploymentTypes: Kubernetes\n            serviceIdentifiers:\n              - nginx\n      filterVisibility: EveryOne\n  # pipeline filter with tags\n  exampleWithTags:\n    type: harness:platform:PipelineFilters\n    name: example_with_tags\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      type: PipelineSetup\n      filterProperties:\n        filterType: PipelineSetup\n        pipelineTags:\n          - key: tag1\n            value: '123'\n          - key: tag2\n            value: '456'\n        moduleProperties:\n          cd:\n            deploymentTypes: Kubernetes\n            serviceNames:\n              - service1\n              - service2\n            environmentNames:\n              - env1\n              - env2\n            artifactDisplayNames:\n              - artificatname1\n              - artifact2\n          ci:\n            buildType: branch\n            branch: branch123\n            repoNames: repo1234\n  pipelinemoduleproperties:\n    type: harness:platform:PipelineFilters\n    properties:\n      identifier: identifier\n      name: name\n      orgId: ${testHarnessPlatformProject.orgId}\n      projectId: ${testHarnessPlatformProject.id}\n      type: PipelineExecution\n      filterProperties:\n        filterType: PipelineExecution\n        pipelineName: test\n        pipelineTags:\n          - key: k1\n            value: v1\n          - key: k2\n            value: v2\n        moduleProperties:\n          cd:\n            serviceDefinitionTypes: Kubernetes\n            serviceIdentifiers:\n              - K8\n            environmentIdentifiers:\n              - dev\n            artifactDisplayNames:\n              - artificatname1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level pipeline filter\n\n```sh\n$ pulumi import harness:platform/pipelineFilters:PipelineFilters example \u003cfilter_id\u003e/\u003ctype\u003e\n```\n\nImport org level pipeline filter\n\n```sh\n$ pulumi import harness:platform/pipelineFilters:PipelineFilters example \u003cord_id\u003e/\u003cfilter_id\u003e/\u003ctype\u003e\n```\n\nImport project level pipeline filter\n\n```sh\n$ pulumi import harness:platform/pipelineFilters:PipelineFilters example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cfilter_id\u003e/\u003ctype\u003e\n```\n\n","properties":{"filterProperties":{"$ref":"#/types/harness:platform/PipelineFiltersFilterProperties:PipelineFiltersFilterProperties","description":"Properties of the filters entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filters. By default, everyone can view this filter.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the pipeline filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of pipeline filters. Currently supported types are {PipelineSetup, PipelineExecution, Deployment, Template, EnvironmentGroup, Environment}\n"}},"required":["filterProperties","filterVisibility","identifier","name","type"],"inputProperties":{"filterProperties":{"$ref":"#/types/harness:platform/PipelineFiltersFilterProperties:PipelineFiltersFilterProperties","description":"Properties of the filters entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filters. By default, everyone can view this filter.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the pipeline filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of pipeline filters. Currently supported types are {PipelineSetup, PipelineExecution, Deployment, Template, EnvironmentGroup, Environment}\n"}},"requiredInputs":["filterProperties","identifier","type"],"stateInputs":{"description":"Input properties used for looking up and filtering PipelineFilters resources.\n","properties":{"filterProperties":{"$ref":"#/types/harness:platform/PipelineFiltersFilterProperties:PipelineFiltersFilterProperties","description":"Properties of the filters entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"This indicates visibility of filters. By default, everyone can view this filter.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the pipeline filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of pipeline filters. Currently supported types are {PipelineSetup, PipelineExecution, Deployment, Template, EnvironmentGroup, Environment}\n"}},"type":"object"}},"harness:platform/policy:Policy":{"description":"Resource for creating a Harness Policy.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the organization id\n\n```sh\n$ pulumi import harness:platform/policy:Policy example \u003corganization_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"gitBaseBranch":{"type":"string","description":"Base branch for the new git branch.\n"},"gitBranch":{"type":"string","description":"Git branch for the policy.\n"},"gitCommitMsg":{"type":"string","description":"Git commit message for the policy.\n"},"gitCommitSha":{"type":"string","description":"The existing commit sha of the file being updated\n"},"gitConnectorRef":{"type":"string","description":"Git connector reference for the policy.\n"},"gitFileId":{"type":"string","description":"The existing file id of the file being updated, not required for bitbucket files\n"},"gitImport":{"type":"boolean","description":"Flag to import the policy from git.\n"},"gitIsNewBranch":{"type":"boolean","description":"Flag to create a new branch for the policy.\n"},"gitPath":{"type":"string","description":"Git path for the policy.\n"},"gitRepo":{"type":"string","description":"Git repository for the policy.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"rego":{"type":"string","description":"Rego code for the policy.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["gitCommitSha","gitFileId","identifier","name","rego"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"gitBaseBranch":{"type":"string","description":"Base branch for the new git branch.\n"},"gitBranch":{"type":"string","description":"Git branch for the policy.\n"},"gitCommitMsg":{"type":"string","description":"Git commit message for the policy.\n"},"gitCommitSha":{"type":"string","description":"The existing commit sha of the file being updated\n"},"gitConnectorRef":{"type":"string","description":"Git connector reference for the policy.\n"},"gitFileId":{"type":"string","description":"The existing file id of the file being updated, not required for bitbucket files\n"},"gitImport":{"type":"boolean","description":"Flag to import the policy from git.\n"},"gitIsNewBranch":{"type":"boolean","description":"Flag to create a new branch for the policy.\n"},"gitPath":{"type":"string","description":"Git path for the policy.\n"},"gitRepo":{"type":"string","description":"Git repository for the policy.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"rego":{"type":"string","description":"Rego code for the policy.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier","rego"],"stateInputs":{"description":"Input properties used for looking up and filtering Policy resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"gitBaseBranch":{"type":"string","description":"Base branch for the new git branch.\n"},"gitBranch":{"type":"string","description":"Git branch for the policy.\n"},"gitCommitMsg":{"type":"string","description":"Git commit message for the policy.\n"},"gitCommitSha":{"type":"string","description":"The existing commit sha of the file being updated\n"},"gitConnectorRef":{"type":"string","description":"Git connector reference for the policy.\n"},"gitFileId":{"type":"string","description":"The existing file id of the file being updated, not required for bitbucket files\n"},"gitImport":{"type":"boolean","description":"Flag to import the policy from git.\n"},"gitIsNewBranch":{"type":"boolean","description":"Flag to create a new branch for the policy.\n"},"gitPath":{"type":"string","description":"Git path for the policy.\n"},"gitRepo":{"type":"string","description":"Git repository for the policy.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"rego":{"type":"string","description":"Rego code for the policy.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/policySet:PolicySet":{"description":"Resource for creating a Harness Policyset.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the organization id\n\n```sh\n$ pulumi import harness:platform/policySet:PolicySet example \u003corganization_id\u003e\n```\n\n","properties":{"action":{"type":"string","description":"Action for the policyset.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"enabled":{"type":"boolean","description":"Enabled for the policyset.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"policies":{"type":"array","items":{"$ref":"#/types/harness:platform/PolicySetPolicy:PolicySetPolicy"},"description":"List of policy identifiers / severity for the policyset.\n"},"policyReferences":{"type":"array","items":{"$ref":"#/types/harness:platform/PolicySetPolicyReference:PolicySetPolicyReference"},"description":"Set of policy identifiers / severity for the policyset. Order is not significant.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"Type for the policyset.\n"}},"required":["action","identifier","name","policies","policyReferences","type"],"inputProperties":{"action":{"type":"string","description":"Action for the policyset.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"enabled":{"type":"boolean","description":"Enabled for the policyset.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"policies":{"type":"array","items":{"$ref":"#/types/harness:platform/PolicySetPolicy:PolicySetPolicy"},"description":"List of policy identifiers / severity for the policyset.\n"},"policyReferences":{"type":"array","items":{"$ref":"#/types/harness:platform/PolicySetPolicyReference:PolicySetPolicyReference"},"description":"Set of policy identifiers / severity for the policyset. Order is not significant.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"Type for the policyset.\n"}},"requiredInputs":["action","identifier","type"],"stateInputs":{"description":"Input properties used for looking up and filtering PolicySet resources.\n","properties":{"action":{"type":"string","description":"Action for the policyset.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"enabled":{"type":"boolean","description":"Enabled for the policyset.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"policies":{"type":"array","items":{"$ref":"#/types/harness:platform/PolicySetPolicy:PolicySetPolicy"},"description":"List of policy identifiers / severity for the policyset.\n"},"policyReferences":{"type":"array","items":{"$ref":"#/types/harness:platform/PolicySetPolicyReference:PolicySetPolicyReference"},"description":"Set of policy identifiers / severity for the policyset. Order is not significant.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"type":{"type":"string","description":"Type for the policyset.\n"}},"type":"object"}},"harness:platform/project:Project":{"description":"Resource for creating a Harness project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.Project(\"test\", {\n    identifier: \"testproject\",\n    name: \"Test Project\",\n    orgId: \"org_id\",\n    color: \"#0063F7\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.Project(\"test\",\n    identifier=\"testproject\",\n    name=\"Test Project\",\n    org_id=\"org_id\",\n    color=\"#0063F7\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.Project(\"test\", new()\n    {\n        Identifier = \"testproject\",\n        Name = \"Test Project\",\n        OrgId = \"org_id\",\n        Color = \"#0063F7\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewProject(ctx, \"test\", \u0026platform.ProjectArgs{\n\t\t\tIdentifier: pulumi.String(\"testproject\"),\n\t\t\tName:       pulumi.String(\"Test Project\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tColor:      pulumi.String(\"#0063F7\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Project;\nimport com.pulumi.harness.platform.ProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new Project(\"test\", ProjectArgs.builder()\n            .identifier(\"testproject\")\n            .name(\"Test Project\")\n            .orgId(\"org_id\")\n            .color(\"#0063F7\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:Project\n    properties:\n      identifier: testproject\n      name: Test Project\n      orgId: org_id\n      color: '#0063F7'\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the organization id and the project id\n\n```sh\n$ pulumi import harness:platform/project:Project example \u003corganization_id\u003e/\u003cproject_id\u003e\n```\n\n","properties":{"color":{"type":"string","description":"Color of the project.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"modules":{"type":"array","items":{"type":"string"},"description":"Modules in the project.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["color","identifier","modules","name","orgId"],"inputProperties":{"color":{"type":"string","description":"Color of the project.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier","orgId"],"stateInputs":{"description":"Input properties used for looking up and filtering Project resources.\n","properties":{"color":{"type":"string","description":"Color of the project.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"modules":{"type":"array","items":{"type":"string"},"description":"Modules in the project.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/prometheusConnector:PrometheusConnector":{"description":"Resource for creating a Prometheus connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.PrometheusConnector(\"example\", {\n    identifier: \"idntifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://prometheus.com/\",\n    delegateSelectors: [\"harness-delegate\"],\n    userName: \"user_name\",\n    passwordRef: \"account.secret_identifier\",\n    headers: [{\n        encryptedValueRef: \"account.secret_identifier\",\n        valueEncrypted: true,\n        key: \"key\",\n        value: \"value\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.PrometheusConnector(\"example\",\n    identifier=\"idntifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://prometheus.com/\",\n    delegate_selectors=[\"harness-delegate\"],\n    user_name=\"user_name\",\n    password_ref=\"account.secret_identifier\",\n    headers=[{\n        \"encrypted_value_ref\": \"account.secret_identifier\",\n        \"value_encrypted\": True,\n        \"key\": \"key\",\n        \"value\": \"value\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.PrometheusConnector(\"example\", new()\n    {\n        Identifier = \"idntifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://prometheus.com/\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        UserName = \"user_name\",\n        PasswordRef = \"account.secret_identifier\",\n        Headers = new[]\n        {\n            new Harness.Platform.Inputs.PrometheusConnectorHeaderArgs\n            {\n                EncryptedValueRef = \"account.secret_identifier\",\n                ValueEncrypted = true,\n                Key = \"key\",\n                Value = \"value\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewPrometheusConnector(ctx, \"example\", \u0026platform.PrometheusConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"idntifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://prometheus.com/\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tUserName:    pulumi.String(\"user_name\"),\n\t\t\tPasswordRef: pulumi.String(\"account.secret_identifier\"),\n\t\t\tHeaders: platform.PrometheusConnectorHeaderArray{\n\t\t\t\t\u0026platform.PrometheusConnectorHeaderArgs{\n\t\t\t\t\tEncryptedValueRef: pulumi.String(\"account.secret_identifier\"),\n\t\t\t\t\tValueEncrypted:    pulumi.Bool(true),\n\t\t\t\t\tKey:               pulumi.String(\"key\"),\n\t\t\t\t\tValue:             pulumi.String(\"value\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PrometheusConnector;\nimport com.pulumi.harness.platform.PrometheusConnectorArgs;\nimport com.pulumi.harness.platform.inputs.PrometheusConnectorHeaderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new PrometheusConnector(\"example\", PrometheusConnectorArgs.builder()\n            .identifier(\"idntifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://prometheus.com/\")\n            .delegateSelectors(\"harness-delegate\")\n            .userName(\"user_name\")\n            .passwordRef(\"account.secret_identifier\")\n            .headers(PrometheusConnectorHeaderArgs.builder()\n                .encryptedValueRef(\"account.secret_identifier\")\n                .valueEncrypted(true)\n                .key(\"key\")\n                .value(\"value\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:PrometheusConnector\n    properties:\n      identifier: idntifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://prometheus.com/\n      delegateSelectors:\n        - harness-delegate\n      userName: user_name\n      passwordRef: account.secret_identifier\n      headers:\n        - encryptedValueRef: account.secret_identifier\n          valueEncrypted: true\n          key: key\n          value: value\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level prometheus connector\n\n```sh\n$ pulumi import harness:platform/prometheusConnector:PrometheusConnector example \u003cconnector_id\u003e\n```\n\nImport org level prometheus connector\n\n```sh\n$ pulumi import harness:platform/prometheusConnector:PrometheusConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level prometheus connector\n\n```sh\n$ pulumi import harness:platform/prometheusConnector:PrometheusConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"headers":{"type":"array","items":{"$ref":"#/types/harness:platform/PrometheusConnectorHeader:PrometheusConnectorHeader"},"description":"Headers.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"Reference to the Harness 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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Prometheus server.\n"},"userName":{"type":"string","description":"User name.\n"}},"required":["identifier","name","url"],"inputProperties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"headers":{"type":"array","items":{"$ref":"#/types/harness:platform/PrometheusConnectorHeader:PrometheusConnectorHeader"},"description":"Headers.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"Reference to the Harness 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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Prometheus server.\n"},"userName":{"type":"string","description":"User name.\n"}},"requiredInputs":["identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering PrometheusConnector resources.\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"headers":{"type":"array","items":{"$ref":"#/types/harness:platform/PrometheusConnectorHeader:PrometheusConnectorHeader"},"description":"Headers.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"Reference to the Harness 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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Prometheus server.\n"},"userName":{"type":"string","description":"User name.\n"}},"type":"object"}},"harness:platform/provider:Provider":{"description":"Resource for creating a Harness Provider.\n","properties":{"description":{"type":"string","description":"The description of the provider entity.\n"},"identifier":{"type":"string","description":"The identifier of the provider entity.\n"},"lastModifiedAt":{"type":"integer","description":"The last modified time of the provider entity.\n"},"name":{"type":"string","description":"The name of the provider entity.\n"},"spec":{"$ref":"#/types/harness:platform/ProviderSpec:ProviderSpec","description":"Contains parameters related to the provider entity.\n"},"type":{"type":"string","description":"The type of the provider entity.\n"}},"required":["identifier","lastModifiedAt","name","spec","type"],"inputProperties":{"description":{"type":"string","description":"The description of the provider entity.\n"},"identifier":{"type":"string","description":"The identifier of the provider entity.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"The name of the provider entity.\n"},"spec":{"$ref":"#/types/harness:platform/ProviderSpec:ProviderSpec","description":"Contains parameters related to the provider entity.\n"}},"requiredInputs":["identifier","spec"],"stateInputs":{"description":"Input properties used for looking up and filtering Provider resources.\n","properties":{"description":{"type":"string","description":"The description of the provider entity.\n"},"identifier":{"type":"string","description":"The identifier of the provider entity.\n","willReplaceOnChanges":true},"lastModifiedAt":{"type":"integer","description":"The last modified time of the provider entity.\n"},"name":{"type":"string","description":"The name of the provider entity.\n"},"spec":{"$ref":"#/types/harness:platform/ProviderSpec:ProviderSpec","description":"Contains parameters related to the provider entity.\n"},"type":{"type":"string","description":"The type of the provider entity.\n"}},"type":"object"}},"harness:platform/repo:Repo":{"description":"Resource for creating a Harness Repo.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.Repo(\"test\", {\n    identifier: \"test_repo_123\",\n    orgId: \"test_org_123\",\n    projectId: \"test_project_123\",\n    defaultBranch: \"main\",\n    description: \"test_description_123\",\n    sources: [{\n        repo: \"octocat/hello-worId\",\n        type: \"github\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.Repo(\"test\",\n    identifier=\"test_repo_123\",\n    org_id=\"test_org_123\",\n    project_id=\"test_project_123\",\n    default_branch=\"main\",\n    description=\"test_description_123\",\n    sources=[{\n        \"repo\": \"octocat/hello-worId\",\n        \"type\": \"github\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.Repo(\"test\", new()\n    {\n        Identifier = \"test_repo_123\",\n        OrgId = \"test_org_123\",\n        ProjectId = \"test_project_123\",\n        DefaultBranch = \"main\",\n        Description = \"test_description_123\",\n        Sources = new[]\n        {\n            new Harness.Platform.Inputs.RepoSourceArgs\n            {\n                Repo = \"octocat/hello-worId\",\n                Type = \"github\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewRepo(ctx, \"test\", \u0026platform.RepoArgs{\n\t\t\tIdentifier:    pulumi.String(\"test_repo_123\"),\n\t\t\tOrgId:         pulumi.String(\"test_org_123\"),\n\t\t\tProjectId:     pulumi.String(\"test_project_123\"),\n\t\t\tDefaultBranch: pulumi.String(\"main\"),\n\t\t\tDescription:   pulumi.String(\"test_description_123\"),\n\t\t\tSources: platform.RepoSourceArray{\n\t\t\t\t\u0026platform.RepoSourceArgs{\n\t\t\t\t\tRepo: pulumi.String(\"octocat/hello-worId\"),\n\t\t\t\t\tType: pulumi.String(\"github\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Repo;\nimport com.pulumi.harness.platform.RepoArgs;\nimport com.pulumi.harness.platform.inputs.RepoSourceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new Repo(\"test\", RepoArgs.builder()\n            .identifier(\"test_repo_123\")\n            .orgId(\"test_org_123\")\n            .projectId(\"test_project_123\")\n            .defaultBranch(\"main\")\n            .description(\"test_description_123\")\n            .sources(RepoSourceArgs.builder()\n                .repo(\"octocat/hello-worId\")\n                .type(\"github\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:Repo\n    properties:\n      identifier: test_repo_123\n      orgId: test_org_123\n      projectId: test_project_123\n      defaultBranch: main\n      description: test_description_123\n      sources:\n        - repo: octocat/hello-worId\n          type: github\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport\n\n```sh\n$ pulumi import harness:platform/repo:Repo example \u003cidentifier\u003e\n```\n\nImport using the organization id\n\n```sh\n$ pulumi import harness:platform/repo:Repo example \u003corg_id\u003e/\u003cidentifier\u003e\n```\n\nImport using the organization id and the project id\n\n```sh\n$ pulumi import harness:platform/repo:Repo example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cidentifier\u003e\n```\n\n","properties":{"created":{"type":"integer","description":"Timestamp when the repository was created.\n"},"createdBy":{"type":"integer","description":"ID of the user who created the repository.\n"},"defaultBranch":{"type":"string","description":"Default branch of the repository (Applicate only for create).\n"},"description":{"type":"string","description":"Description of the repository.\n"},"gitIgnore":{"type":"string","description":"Repository should be created with specified predefined gitignore file.\n"},"gitUrl":{"type":"string","description":"Git URL of the repository.\n"},"identifier":{"type":"string","description":"Identifier of the repository.\n"},"license":{"type":"string","description":"Repository should be created with specified predefined license file.\n"},"name":{"type":"string","description":"Name of the repository.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"path":{"type":"string","description":"Path of the repository.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"readme":{"type":"boolean","description":"Repository should be created with readme file.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoSource:RepoSource"},"description":"Configuration for importing an existing repository from SCM provider.\n"},"updated":{"type":"integer","description":"Timestamp when the repository was last updated.\n"}},"required":["created","createdBy","gitUrl","identifier","name","path","updated"],"inputProperties":{"defaultBranch":{"type":"string","description":"Default branch of the repository (Applicate only for create).\n"},"description":{"type":"string","description":"Description of the repository.\n"},"gitIgnore":{"type":"string","description":"Repository should be created with specified predefined gitignore file.\n"},"identifier":{"type":"string","description":"Identifier of the repository.\n"},"license":{"type":"string","description":"Repository should be created with specified predefined license file.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"readme":{"type":"boolean","description":"Repository should be created with readme file.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoSource:RepoSource"},"description":"Configuration for importing an existing repository from SCM provider.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering Repo resources.\n","properties":{"created":{"type":"integer","description":"Timestamp when the repository was created.\n"},"createdBy":{"type":"integer","description":"ID of the user who created the repository.\n"},"defaultBranch":{"type":"string","description":"Default branch of the repository (Applicate only for create).\n"},"description":{"type":"string","description":"Description of the repository.\n"},"gitIgnore":{"type":"string","description":"Repository should be created with specified predefined gitignore file.\n"},"gitUrl":{"type":"string","description":"Git URL of the repository.\n"},"identifier":{"type":"string","description":"Identifier of the repository.\n"},"license":{"type":"string","description":"Repository should be created with specified predefined license file.\n"},"name":{"type":"string","description":"Name of the repository.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"path":{"type":"string","description":"Path of the repository.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"readme":{"type":"boolean","description":"Repository should be created with readme file.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoSource:RepoSource"},"description":"Configuration for importing an existing repository from SCM provider.\n"},"updated":{"type":"integer","description":"Timestamp when the repository was last updated.\n"}},"type":"object"}},"harness:platform/repoRuleBranch:RepoRuleBranch":{"description":"Resource for creating a Harness Repo Branch Rule.\n","properties":{"bypasses":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoRuleBranchBypass:RepoRuleBranchBypass"},"description":"List of users who can bypass this rule.\n"},"created":{"type":"integer","description":"Timestamp when the rule was created.\n"},"createdBy":{"type":"integer","description":"ID of the user who created the rule.\n"},"description":{"type":"string","description":"Description of the rule.\n"},"identifier":{"type":"string","description":"Identifier of the rule.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"patterns":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoRuleBranchPattern:RepoRuleBranchPattern"},"description":"Pattern of branch to which rule will apply.\n"},"policies":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoRuleBranchPolicy:RepoRuleBranchPolicy"},"description":"Policies to be applied for this rule.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoIdentifier":{"type":"string","description":"Repo identifier of the repository.\n"},"state":{"type":"string","description":"State of the rule (active, disable, monitor).\n"},"updated":{"type":"integer","description":"Timestamp when the rule was updated.\n"},"updatedBy":{"type":"integer","description":"ID of the user who updated the rule.\n"}},"required":["bypasses","created","createdBy","identifier","policies","repoIdentifier","state","updated","updatedBy"],"inputProperties":{"bypasses":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoRuleBranchBypass:RepoRuleBranchBypass"},"description":"List of users who can bypass this rule.\n"},"description":{"type":"string","description":"Description of the rule.\n"},"identifier":{"type":"string","description":"Identifier of the rule.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"patterns":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoRuleBranchPattern:RepoRuleBranchPattern"},"description":"Pattern of branch to which rule will apply.\n"},"policies":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoRuleBranchPolicy:RepoRuleBranchPolicy"},"description":"Policies to be applied for this rule.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoIdentifier":{"type":"string","description":"Repo identifier of the repository.\n"},"state":{"type":"string","description":"State of the rule (active, disable, monitor).\n"}},"requiredInputs":["bypasses","identifier","policies","repoIdentifier","state"],"stateInputs":{"description":"Input properties used for looking up and filtering RepoRuleBranch resources.\n","properties":{"bypasses":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoRuleBranchBypass:RepoRuleBranchBypass"},"description":"List of users who can bypass this rule.\n"},"created":{"type":"integer","description":"Timestamp when the rule was created.\n"},"createdBy":{"type":"integer","description":"ID of the user who created the rule.\n"},"description":{"type":"string","description":"Description of the rule.\n"},"identifier":{"type":"string","description":"Identifier of the rule.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"patterns":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoRuleBranchPattern:RepoRuleBranchPattern"},"description":"Pattern of branch to which rule will apply.\n"},"policies":{"type":"array","items":{"$ref":"#/types/harness:platform/RepoRuleBranchPolicy:RepoRuleBranchPolicy"},"description":"Policies to be applied for this rule.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoIdentifier":{"type":"string","description":"Repo identifier of the repository.\n"},"state":{"type":"string","description":"State of the rule (active, disable, monitor).\n"},"updated":{"type":"integer","description":"Timestamp when the rule was updated.\n"},"updatedBy":{"type":"integer","description":"ID of the user who updated the rule.\n"}},"type":"object"}},"harness:platform/repoWebhook:RepoWebhook":{"description":"Resource for creating a Harness Repo Webhook.\n","properties":{"created":{"type":"integer","description":"Timestamp when the webhook was created.\n"},"createdBy":{"type":"integer","description":"ID of the user who created the webhook.\n"},"description":{"type":"string","description":"Description of the webhook.\n"},"enabled":{"type":"boolean","description":"Webhook enabled.\n"},"hasSecret":{"type":"boolean","description":"Created webhook has secret encoding.\n"},"identifier":{"type":"string","description":"Identifier of the webhook.\n"},"insecure":{"type":"boolean","description":"Allow insecure connections for provided webhook URL.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoIdentifier":{"type":"string","description":"Identifier of the repository.\n"},"secret":{"type":"string","description":"Webhook secret which will be used to sign the webhook payload.\n","secret":true},"triggers":{"type":"array","items":{"type":"string"},"description":"List of triggers of the webhook (keep empty for all triggers).\n"},"url":{"type":"string","description":"URL that's called by the webhook.\n"}},"required":["created","createdBy","enabled","hasSecret","identifier","insecure","repoIdentifier","url"],"inputProperties":{"description":{"type":"string","description":"Description of the webhook.\n"},"enabled":{"type":"boolean","description":"Webhook enabled.\n"},"identifier":{"type":"string","description":"Identifier of the webhook.\n"},"insecure":{"type":"boolean","description":"Allow insecure connections for provided webhook URL.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoIdentifier":{"type":"string","description":"Identifier of the repository.\n"},"secret":{"type":"string","description":"Webhook secret which will be used to sign the webhook payload.\n","secret":true},"triggers":{"type":"array","items":{"type":"string"},"description":"List of triggers of the webhook (keep empty for all triggers).\n"},"url":{"type":"string","description":"URL that's called by the webhook.\n"}},"requiredInputs":["enabled","identifier","insecure","repoIdentifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering RepoWebhook resources.\n","properties":{"created":{"type":"integer","description":"Timestamp when the webhook was created.\n"},"createdBy":{"type":"integer","description":"ID of the user who created the webhook.\n"},"description":{"type":"string","description":"Description of the webhook.\n"},"enabled":{"type":"boolean","description":"Webhook enabled.\n"},"hasSecret":{"type":"boolean","description":"Created webhook has secret encoding.\n"},"identifier":{"type":"string","description":"Identifier of the webhook.\n"},"insecure":{"type":"boolean","description":"Allow insecure connections for provided webhook URL.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoIdentifier":{"type":"string","description":"Identifier of the repository.\n"},"secret":{"type":"string","description":"Webhook secret which will be used to sign the webhook payload.\n","secret":true},"triggers":{"type":"array","items":{"type":"string"},"description":"List of triggers of the webhook (keep empty for all triggers).\n"},"url":{"type":"string","description":"URL that's called by the webhook.\n"}},"type":"object"}},"harness:platform/resourceGroup:ResourceGroup":{"description":"Resource for creating a Harness Resource Group\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.ResourceGroup(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    accountId: \"account_id\",\n    allowedScopeLevels: [\"account\"],\n    includedScopes: [{\n        filter: \"EXCLUDING_CHILD_SCOPES\",\n        accountId: \"account_id\",\n    }],\n    resourceFilters: [{\n        includeAllResources: false,\n        resources: [{\n            resourceType: \"CONNECTOR\",\n            attributeFilters: [{\n                attributeName: \"category\",\n                attributeValues: [\"CLOUD_COST\"],\n            }],\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.ResourceGroup(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    account_id=\"account_id\",\n    allowed_scope_levels=[\"account\"],\n    included_scopes=[{\n        \"filter\": \"EXCLUDING_CHILD_SCOPES\",\n        \"account_id\": \"account_id\",\n    }],\n    resource_filters=[{\n        \"include_all_resources\": False,\n        \"resources\": [{\n            \"resource_type\": \"CONNECTOR\",\n            \"attribute_filters\": [{\n                \"attribute_name\": \"category\",\n                \"attribute_values\": [\"CLOUD_COST\"],\n            }],\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.ResourceGroup(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        AccountId = \"account_id\",\n        AllowedScopeLevels = new[]\n        {\n            \"account\",\n        },\n        IncludedScopes = new[]\n        {\n            new Harness.Platform.Inputs.ResourceGroupIncludedScopeArgs\n            {\n                Filter = \"EXCLUDING_CHILD_SCOPES\",\n                AccountId = \"account_id\",\n            },\n        },\n        ResourceFilters = new[]\n        {\n            new Harness.Platform.Inputs.ResourceGroupResourceFilterArgs\n            {\n                IncludeAllResources = false,\n                Resources = new[]\n                {\n                    new Harness.Platform.Inputs.ResourceGroupResourceFilterResourceArgs\n                    {\n                        ResourceType = \"CONNECTOR\",\n                        AttributeFilters = new[]\n                        {\n                            new Harness.Platform.Inputs.ResourceGroupResourceFilterResourceAttributeFilterArgs\n                            {\n                                AttributeName = \"category\",\n                                AttributeValues = new[]\n                                {\n                                    \"CLOUD_COST\",\n                                },\n                            },\n                        },\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewResourceGroup(ctx, \"test\", \u0026platform.ResourceGroupArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tAccountId: pulumi.String(\"account_id\"),\n\t\t\tAllowedScopeLevels: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"account\"),\n\t\t\t},\n\t\t\tIncludedScopes: platform.ResourceGroupIncludedScopeArray{\n\t\t\t\t\u0026platform.ResourceGroupIncludedScopeArgs{\n\t\t\t\t\tFilter:    pulumi.String(\"EXCLUDING_CHILD_SCOPES\"),\n\t\t\t\t\tAccountId: pulumi.String(\"account_id\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tResourceFilters: platform.ResourceGroupResourceFilterArray{\n\t\t\t\t\u0026platform.ResourceGroupResourceFilterArgs{\n\t\t\t\t\tIncludeAllResources: pulumi.Bool(false),\n\t\t\t\t\tResources: platform.ResourceGroupResourceFilterResourceArray{\n\t\t\t\t\t\t\u0026platform.ResourceGroupResourceFilterResourceArgs{\n\t\t\t\t\t\t\tResourceType: pulumi.String(\"CONNECTOR\"),\n\t\t\t\t\t\t\tAttributeFilters: platform.ResourceGroupResourceFilterResourceAttributeFilterArray{\n\t\t\t\t\t\t\t\t\u0026platform.ResourceGroupResourceFilterResourceAttributeFilterArgs{\n\t\t\t\t\t\t\t\t\tAttributeName: pulumi.String(\"category\"),\n\t\t\t\t\t\t\t\t\tAttributeValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\t\t\tpulumi.String(\"CLOUD_COST\"),\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.ResourceGroup;\nimport com.pulumi.harness.platform.ResourceGroupArgs;\nimport com.pulumi.harness.platform.inputs.ResourceGroupIncludedScopeArgs;\nimport com.pulumi.harness.platform.inputs.ResourceGroupResourceFilterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new ResourceGroup(\"test\", ResourceGroupArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .accountId(\"account_id\")\n            .allowedScopeLevels(\"account\")\n            .includedScopes(ResourceGroupIncludedScopeArgs.builder()\n                .filter(\"EXCLUDING_CHILD_SCOPES\")\n                .accountId(\"account_id\")\n                .build())\n            .resourceFilters(ResourceGroupResourceFilterArgs.builder()\n                .includeAllResources(false)\n                .resources(ResourceGroupResourceFilterResourceArgs.builder()\n                    .resourceType(\"CONNECTOR\")\n                    .attributeFilters(ResourceGroupResourceFilterResourceAttributeFilterArgs.builder()\n                        .attributeName(\"category\")\n                        .attributeValues(\"CLOUD_COST\")\n                        .build())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:ResourceGroup\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      accountId: account_id\n      allowedScopeLevels:\n        - account\n      includedScopes:\n        - filter: EXCLUDING_CHILD_SCOPES\n          accountId: account_id\n      resourceFilters:\n        - includeAllResources: false\n          resources:\n            - resourceType: CONNECTOR\n              attributeFilters:\n                - attributeName: category\n                  attributeValues:\n                    - CLOUD_COST\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level resource group\n\n```sh\n$ pulumi import harness:platform/resourceGroup:ResourceGroup example \u003cresource_group_id\u003e\n```\n\nImport org level resource group\n\n```sh\n$ pulumi import harness:platform/resourceGroup:ResourceGroup example \u003cord_id\u003e/\u003cresource_group_id\u003e\n```\n\nImport project level resource group\n\n```sh\n$ pulumi import harness:platform/resourceGroup:ResourceGroup example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cresource_group_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account Identifier of the account\n"},"allowedScopeLevels":{"type":"array","items":{"type":"string"},"description":"The scope levels at which this resource group can be used\n"},"color":{"type":"string","description":"Color of the environment.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"includedScopes":{"type":"array","items":{"$ref":"#/types/harness:platform/ResourceGroupIncludedScope:ResourceGroupIncludedScope"},"description":"Included scopes; default selected based on resource group scope if not specified.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"resourceFilters":{"type":"array","items":{"$ref":"#/types/harness:platform/ResourceGroupResourceFilter:ResourceGroupResourceFilter"},"description":"Contains resource filter for a resource group\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["accountId","allowedScopeLevels","color","identifier","name"],"inputProperties":{"accountId":{"type":"string","description":"Account Identifier of the account\n"},"allowedScopeLevels":{"type":"array","items":{"type":"string"},"description":"The scope levels at which this resource group can be used\n"},"color":{"type":"string","description":"Color of the environment.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"includedScopes":{"type":"array","items":{"$ref":"#/types/harness:platform/ResourceGroupIncludedScope:ResourceGroupIncludedScope"},"description":"Included scopes; default selected based on resource group scope if not specified.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"resourceFilters":{"type":"array","items":{"$ref":"#/types/harness:platform/ResourceGroupResourceFilter:ResourceGroupResourceFilter"},"description":"Contains resource filter for a resource group\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["accountId","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering ResourceGroup resources.\n","properties":{"accountId":{"type":"string","description":"Account Identifier of the account\n"},"allowedScopeLevels":{"type":"array","items":{"type":"string"},"description":"The scope levels at which this resource group can be used\n"},"color":{"type":"string","description":"Color of the environment.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"includedScopes":{"type":"array","items":{"$ref":"#/types/harness:platform/ResourceGroupIncludedScope:ResourceGroupIncludedScope"},"description":"Included scopes; default selected based on resource group scope if not specified.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"resourceFilters":{"type":"array","items":{"$ref":"#/types/harness:platform/ResourceGroupResourceFilter:ResourceGroupResourceFilter"},"description":"Contains resource filter for a resource group\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/roleAssignments:RoleAssignments":{"description":"Resource for creating role assignments in Harness.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level role assignments\n\n```sh\n$ pulumi import harness:platform/roleAssignments:RoleAssignments example \u003crole_assignments_id\u003e\n```\n\nImport org level role assignments\n\n```sh\n$ pulumi import harness:platform/roleAssignments:RoleAssignments example \u003cord_id\u003e/\u003crole_assignments_id\u003e\n```\n\nImport project level role assignments\n\n```sh\n$ pulumi import harness:platform/roleAssignments:RoleAssignments example \u003corg_id\u003e/\u003cproject_id\u003e/\u003crole_assignments_id\u003e\n```\n\n","properties":{"disabled":{"type":"boolean","description":"Disabled or not.\n"},"identifier":{"type":"string","description":"Identifier for role assignment.\n"},"managed":{"type":"boolean","description":"Managed or not.\n"},"orgId":{"type":"string","description":"Org identifier.\n"},"principals":{"type":"array","items":{"$ref":"#/types/harness:platform/RoleAssignmentsPrincipal:RoleAssignmentsPrincipal"},"description":"Principal.\n"},"projectId":{"type":"string","description":"Project Identifier\n"},"resourceGroupIdentifier":{"type":"string","description":"Resource group identifier.\n"},"roleIdentifier":{"type":"string","description":"Role identifier.\n"}},"required":["identifier","principals","resourceGroupIdentifier","roleIdentifier"],"inputProperties":{"disabled":{"type":"boolean","description":"Disabled or not.\n"},"identifier":{"type":"string","description":"Identifier for role assignment.\n"},"managed":{"type":"boolean","description":"Managed or not.\n"},"orgId":{"type":"string","description":"Org identifier.\n"},"principals":{"type":"array","items":{"$ref":"#/types/harness:platform/RoleAssignmentsPrincipal:RoleAssignmentsPrincipal"},"description":"Principal.\n"},"projectId":{"type":"string","description":"Project Identifier\n"},"resourceGroupIdentifier":{"type":"string","description":"Resource group identifier.\n"},"roleIdentifier":{"type":"string","description":"Role identifier.\n"}},"requiredInputs":["principals","resourceGroupIdentifier","roleIdentifier"],"stateInputs":{"description":"Input properties used for looking up and filtering RoleAssignments resources.\n","properties":{"disabled":{"type":"boolean","description":"Disabled or not.\n"},"identifier":{"type":"string","description":"Identifier for role assignment.\n"},"managed":{"type":"boolean","description":"Managed or not.\n"},"orgId":{"type":"string","description":"Org identifier.\n"},"principals":{"type":"array","items":{"$ref":"#/types/harness:platform/RoleAssignmentsPrincipal:RoleAssignmentsPrincipal"},"description":"Principal.\n"},"projectId":{"type":"string","description":"Project Identifier\n"},"resourceGroupIdentifier":{"type":"string","description":"Resource group identifier.\n"},"roleIdentifier":{"type":"string","description":"Role identifier.\n"}},"type":"object"}},"harness:platform/roles:Roles":{"description":"Resource for creating roles.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.Roles(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    permissions: [\"core_resourcegroup_view\"],\n    allowedScopeLevels: [\"account\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.Roles(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    permissions=[\"core_resourcegroup_view\"],\n    allowed_scope_levels=[\"account\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.Roles(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Permissions = new[]\n        {\n            \"core_resourcegroup_view\",\n        },\n        AllowedScopeLevels = new[]\n        {\n            \"account\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewRoles(ctx, \"example\", \u0026platform.RolesArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tPermissions: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"core_resourcegroup_view\"),\n\t\t\t},\n\t\t\tAllowedScopeLevels: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"account\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Roles;\nimport com.pulumi.harness.platform.RolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Roles(\"example\", RolesArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .permissions(\"core_resourcegroup_view\")\n            .allowedScopeLevels(\"account\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:Roles\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      permissions:\n        - core_resourcegroup_view\n      allowedScopeLevels:\n        - account\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level roles\n\n```sh\n$ pulumi import harness:platform/roles:Roles example \u003croles_id\u003e\n```\n\nImport org level roles\n\n```sh\n$ pulumi import harness:platform/roles:Roles example \u003cord_id\u003e/\u003croles_id\u003e\n```\n\nImport project level roles\n\n```sh\n$ pulumi import harness:platform/roles:Roles example \u003corg_id\u003e/\u003cproject_id\u003e/\u003croles_id\u003e\n```\n\n","properties":{"allowedScopeLevels":{"type":"array","items":{"type":"string"},"description":"The scope levels at which this role can be used\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of the permission identifiers\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["allowedScopeLevels","identifier","name"],"inputProperties":{"allowedScopeLevels":{"type":"array","items":{"type":"string"},"description":"The scope levels at which this role can be used\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of the permission identifiers\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering Roles resources.\n","properties":{"allowedScopeLevels":{"type":"array","items":{"type":"string"},"description":"The scope levels at which this role can be used\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of the permission identifiers\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/secretFile:SecretFile":{"description":"Resource for creating a secret of type secret file in Harness.\n\n\u003e [!NOTE]\n\u003e 1. Selecting a Customer managed Key (CMK) for encryption is supported in Harness Delegate version 25.11.87300 or later and is behind the feature flag `PL_ENABLE_NON_DEFAULT_ENCRYPTION_KEY`. Contact Harness Support to enable the feature.\n\u003e 2. This option would be unavailable if the AWS Secret Manager connector has the option Use \"put-secret-value\" action to update secret value enabled.\n\nRefer to the [documentation](https://developer.harness.io/docs/platform/secrets/secrets-management/add-an-aws-secret-manager/#create-a-text-or-file-secret) for details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.SecretFile(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    filePath: \"file_path\",\n    secretManagerIdentifier: \"harnessSecretManager\",\n});\n// With AWS Secret Manager KMS Key\nconst awsSecretManager = new harness.platform.SecretFile(\"aws_secret_manager\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    filePath: \"file_path\",\n    secretManagerIdentifier: \"awsSecretManager\",\n    additionalMetadatas: [{\n        values: [{\n            kmsKeyId: \"kmsKeyId\",\n        }],\n    }],\n});\n// With GCP Secret Manager project ID and region\nconst gcpSecretManager = new harness.platform.SecretFile(\"gcp_secret_manager\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    filePath: \"file_path\",\n    secretManagerIdentifier: \"gcpSecretManager\",\n    additionalMetadatas: [{\n        values: [{\n            regions: \"us-east1\",\n            gcpProjectId: \"my-gcp-project-id\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.SecretFile(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    file_path=\"file_path\",\n    secret_manager_identifier=\"harnessSecretManager\")\n# With AWS Secret Manager KMS Key\naws_secret_manager = harness.platform.SecretFile(\"aws_secret_manager\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    file_path=\"file_path\",\n    secret_manager_identifier=\"awsSecretManager\",\n    additional_metadatas=[{\n        \"values\": [{\n            \"kms_key_id\": \"kmsKeyId\",\n        }],\n    }])\n# With GCP Secret Manager project ID and region\ngcp_secret_manager = harness.platform.SecretFile(\"gcp_secret_manager\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    file_path=\"file_path\",\n    secret_manager_identifier=\"gcpSecretManager\",\n    additional_metadatas=[{\n        \"values\": [{\n            \"regions\": \"us-east1\",\n            \"gcp_project_id\": \"my-gcp-project-id\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.SecretFile(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        FilePath = \"file_path\",\n        SecretManagerIdentifier = \"harnessSecretManager\",\n    });\n\n    // With AWS Secret Manager KMS Key\n    var awsSecretManager = new Harness.Platform.SecretFile(\"aws_secret_manager\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        FilePath = \"file_path\",\n        SecretManagerIdentifier = \"awsSecretManager\",\n        AdditionalMetadatas = new[]\n        {\n            new Harness.Platform.Inputs.SecretFileAdditionalMetadataArgs\n            {\n                Values = new[]\n                {\n                    new Harness.Platform.Inputs.SecretFileAdditionalMetadataValueArgs\n                    {\n                        KmsKeyId = \"kmsKeyId\",\n                    },\n                },\n            },\n        },\n    });\n\n    // With GCP Secret Manager project ID and region\n    var gcpSecretManager = new Harness.Platform.SecretFile(\"gcp_secret_manager\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        FilePath = \"file_path\",\n        SecretManagerIdentifier = \"gcpSecretManager\",\n        AdditionalMetadatas = new[]\n        {\n            new Harness.Platform.Inputs.SecretFileAdditionalMetadataArgs\n            {\n                Values = new[]\n                {\n                    new Harness.Platform.Inputs.SecretFileAdditionalMetadataValueArgs\n                    {\n                        Regions = \"us-east1\",\n                        GcpProjectId = \"my-gcp-project-id\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewSecretFile(ctx, \"example\", \u0026platform.SecretFileArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tFilePath:                pulumi.String(\"file_path\"),\n\t\t\tSecretManagerIdentifier: pulumi.String(\"harnessSecretManager\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// With AWS Secret Manager KMS Key\n\t\t_, err = platform.NewSecretFile(ctx, \"aws_secret_manager\", \u0026platform.SecretFileArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tFilePath:                pulumi.String(\"file_path\"),\n\t\t\tSecretManagerIdentifier: pulumi.String(\"awsSecretManager\"),\n\t\t\tAdditionalMetadatas: platform.SecretFileAdditionalMetadataArray{\n\t\t\t\t\u0026platform.SecretFileAdditionalMetadataArgs{\n\t\t\t\t\tValues: platform.SecretFileAdditionalMetadataValueArray{\n\t\t\t\t\t\t\u0026platform.SecretFileAdditionalMetadataValueArgs{\n\t\t\t\t\t\t\tKmsKeyId: pulumi.String(\"kmsKeyId\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// With GCP Secret Manager project ID and region\n\t\t_, err = platform.NewSecretFile(ctx, \"gcp_secret_manager\", \u0026platform.SecretFileArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tFilePath:                pulumi.String(\"file_path\"),\n\t\t\tSecretManagerIdentifier: pulumi.String(\"gcpSecretManager\"),\n\t\t\tAdditionalMetadatas: platform.SecretFileAdditionalMetadataArray{\n\t\t\t\t\u0026platform.SecretFileAdditionalMetadataArgs{\n\t\t\t\t\tValues: platform.SecretFileAdditionalMetadataValueArray{\n\t\t\t\t\t\t\u0026platform.SecretFileAdditionalMetadataValueArgs{\n\t\t\t\t\t\t\tRegions:      pulumi.String(\"us-east1\"),\n\t\t\t\t\t\t\tGcpProjectId: pulumi.String(\"my-gcp-project-id\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.SecretFile;\nimport com.pulumi.harness.platform.SecretFileArgs;\nimport com.pulumi.harness.platform.inputs.SecretFileAdditionalMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new SecretFile(\"example\", SecretFileArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .filePath(\"file_path\")\n            .secretManagerIdentifier(\"harnessSecretManager\")\n            .build());\n\n        // With AWS Secret Manager KMS Key\n        var awsSecretManager = new SecretFile(\"awsSecretManager\", SecretFileArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .filePath(\"file_path\")\n            .secretManagerIdentifier(\"awsSecretManager\")\n            .additionalMetadatas(SecretFileAdditionalMetadataArgs.builder()\n                .values(SecretFileAdditionalMetadataValueArgs.builder()\n                    .kmsKeyId(\"kmsKeyId\")\n                    .build())\n                .build())\n            .build());\n\n        // With GCP Secret Manager project ID and region\n        var gcpSecretManager = new SecretFile(\"gcpSecretManager\", SecretFileArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .filePath(\"file_path\")\n            .secretManagerIdentifier(\"gcpSecretManager\")\n            .additionalMetadatas(SecretFileAdditionalMetadataArgs.builder()\n                .values(SecretFileAdditionalMetadataValueArgs.builder()\n                    .regions(\"us-east1\")\n                    .gcpProjectId(\"my-gcp-project-id\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:SecretFile\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      filePath: file_path\n      secretManagerIdentifier: harnessSecretManager\n  # With AWS Secret Manager KMS Key\n  awsSecretManager:\n    type: harness:platform:SecretFile\n    name: aws_secret_manager\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      filePath: file_path\n      secretManagerIdentifier: awsSecretManager\n      additionalMetadatas:\n        - values:\n            - kmsKeyId: kmsKeyId\n  # With GCP Secret Manager project ID and region\n  gcpSecretManager:\n    type: harness:platform:SecretFile\n    name: gcp_secret_manager\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      filePath: file_path\n      secretManagerIdentifier: gcpSecretManager\n      additionalMetadatas:\n        - values:\n            - regions: us-east1\n              gcpProjectId: my-gcp-project-id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level secret file\n\n```sh\n$ pulumi import harness:platform/secretFile:SecretFile example \u003csecret_file_id\u003e\n```\n\nImport org level secret file\n\n```sh\n$ pulumi import harness:platform/secretFile:SecretFile example \u003cord_id\u003e/\u003csecret_file_id\u003e\n```\n\nImport project level secret file\n\n```sh\n$ pulumi import harness:platform/secretFile:SecretFile example \u003corg_id\u003e/\u003cproject_id\u003e/\u003csecret_file_id\u003e\n```\n\n","properties":{"additionalMetadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/SecretFileAdditionalMetadata:SecretFileAdditionalMetadata"},"description":"Additional Metadata for the Secret\n"},"description":{"type":"string","description":"Description of the resource.\n"},"filePath":{"type":"string","description":"Path of the file containing secret value\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"secretManagerIdentifier":{"type":"string","description":"Identifier of the Secret Manager used to manage the secret.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["filePath","identifier","name","secretManagerIdentifier"],"inputProperties":{"additionalMetadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/SecretFileAdditionalMetadata:SecretFileAdditionalMetadata"},"description":"Additional Metadata for the Secret\n"},"description":{"type":"string","description":"Description of the resource.\n"},"filePath":{"type":"string","description":"Path of the file containing secret value\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"secretManagerIdentifier":{"type":"string","description":"Identifier of the Secret Manager used to manage the secret.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["filePath","identifier","secretManagerIdentifier"],"stateInputs":{"description":"Input properties used for looking up and filtering SecretFile resources.\n","properties":{"additionalMetadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/SecretFileAdditionalMetadata:SecretFileAdditionalMetadata"},"description":"Additional Metadata for the Secret\n"},"description":{"type":"string","description":"Description of the resource.\n"},"filePath":{"type":"string","description":"Path of the file containing secret value\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"secretManagerIdentifier":{"type":"string","description":"Identifier of the Secret Manager used to manage the secret.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/secretSshkey:SecretSshkey":{"description":"Resource for creating an ssh key type secret.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level secret sshkey\n\n```sh\n$ pulumi import harness:platform/secretSshkey:SecretSshkey example \u003csecret_sshkey_id\u003e\n```\n\nImport org level secret sshkey\n\n```sh\n$ pulumi import harness:platform/secretSshkey:SecretSshkey example \u003cord_id\u003e/\u003csecret_sshkey_id\u003e\n```\n\nImport project level secret sshkey\n\n```sh\n$ pulumi import harness:platform/secretSshkey:SecretSshkey example \u003corg_id\u003e/\u003cproject_id\u003e/\u003csecret_sshkey_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"kerberos":{"$ref":"#/types/harness:platform/SecretSshkeyKerberos:SecretSshkeyKerberos","description":"Kerberos authentication scheme\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"port":{"type":"integer","description":"SSH port\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"ssh":{"$ref":"#/types/harness:platform/SecretSshkeySsh:SecretSshkeySsh","description":"Kerberos authentication scheme\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["identifier","name"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"kerberos":{"$ref":"#/types/harness:platform/SecretSshkeyKerberos:SecretSshkeyKerberos","description":"Kerberos authentication scheme\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"port":{"type":"integer","description":"SSH port\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"ssh":{"$ref":"#/types/harness:platform/SecretSshkeySsh:SecretSshkeySsh","description":"Kerberos authentication scheme\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering SecretSshkey resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"kerberos":{"$ref":"#/types/harness:platform/SecretSshkeyKerberos:SecretSshkeyKerberos","description":"Kerberos authentication scheme\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"port":{"type":"integer","description":"SSH port\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"ssh":{"$ref":"#/types/harness:platform/SecretSshkeySsh:SecretSshkeySsh","description":"Kerberos authentication scheme\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/secretText:SecretText":{"description":"Resource for creating secret of type secret text\n\n\u003e [!NOTE]\n\u003e Selecting a Customer managed Key (CMK) for encryption is supported in Harness Delegate version 25.11.87300 or later and is behind the feature flag `PL_ENABLE_NON_DEFAULT_ENCRYPTION_KEY`. Contact Harness Support to enable the feature.\n\nRefer to the [documentation](https://developer.harness.io/docs/platform/secrets/secrets-management/add-an-aws-secret-manager/#create-a-text-or-file-secret) for details.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst inline = new harness.platform.SecretText(\"inline\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    secretManagerIdentifier: \"harnessSecretManager\",\n    valueType: \"Inline\",\n    value: \"secret\",\n});\nconst reference = new harness.platform.SecretText(\"reference\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    secretManagerIdentifier: \"azureSecretManager\",\n    valueType: \"Reference\",\n    value: \"secret\",\n});\nconst gcpSecretManagerReference = new harness.platform.SecretText(\"gcp_secret_manager_reference\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    secretManagerIdentifier: \"gcpSecretManager\",\n    valueType: \"Reference\",\n    value: \"secret\",\n    additionalMetadatas: [{\n        values: [{\n            version: \"1\",\n        }],\n    }],\n});\n// GCP Secret Manager with project ID and region (for secrets in a different GCP project)\nconst gcpSecretManagerWithProject = new harness.platform.SecretText(\"gcp_secret_manager_with_project\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    secretManagerIdentifier: \"gcpSecretManager\",\n    valueType: \"Inline\",\n    value: \"secret\",\n    additionalMetadatas: [{\n        values: [{\n            regions: \"us-east1\",\n            gcpProjectId: \"my-gcp-project-id\",\n        }],\n    }],\n});\nconst awsSecretManager = new harness.platform.SecretText(\"aws_secret_manager\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"example\",\n    tags: [\"foo:bar\"],\n    secretManagerIdentifier: \"awsSecretManager\",\n    valueType: \"Inline\",\n    value: \"secret\",\n    additionalMetadatas: [{\n        values: [{\n            kmsKeyId: \"kmsKeyId\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ninline = harness.platform.SecretText(\"inline\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    secret_manager_identifier=\"harnessSecretManager\",\n    value_type=\"Inline\",\n    value=\"secret\")\nreference = harness.platform.SecretText(\"reference\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    secret_manager_identifier=\"azureSecretManager\",\n    value_type=\"Reference\",\n    value=\"secret\")\ngcp_secret_manager_reference = harness.platform.SecretText(\"gcp_secret_manager_reference\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    secret_manager_identifier=\"gcpSecretManager\",\n    value_type=\"Reference\",\n    value=\"secret\",\n    additional_metadatas=[{\n        \"values\": [{\n            \"version\": \"1\",\n        }],\n    }])\n# GCP Secret Manager with project ID and region (for secrets in a different GCP project)\ngcp_secret_manager_with_project = harness.platform.SecretText(\"gcp_secret_manager_with_project\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    secret_manager_identifier=\"gcpSecretManager\",\n    value_type=\"Inline\",\n    value=\"secret\",\n    additional_metadatas=[{\n        \"values\": [{\n            \"regions\": \"us-east1\",\n            \"gcp_project_id\": \"my-gcp-project-id\",\n        }],\n    }])\naws_secret_manager = harness.platform.SecretText(\"aws_secret_manager\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"example\",\n    tags=[\"foo:bar\"],\n    secret_manager_identifier=\"awsSecretManager\",\n    value_type=\"Inline\",\n    value=\"secret\",\n    additional_metadatas=[{\n        \"values\": [{\n            \"kms_key_id\": \"kmsKeyId\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var inline = new Harness.Platform.SecretText(\"inline\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        SecretManagerIdentifier = \"harnessSecretManager\",\n        ValueType = \"Inline\",\n        Value = \"secret\",\n    });\n\n    var reference = new Harness.Platform.SecretText(\"reference\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        SecretManagerIdentifier = \"azureSecretManager\",\n        ValueType = \"Reference\",\n        Value = \"secret\",\n    });\n\n    var gcpSecretManagerReference = new Harness.Platform.SecretText(\"gcp_secret_manager_reference\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        SecretManagerIdentifier = \"gcpSecretManager\",\n        ValueType = \"Reference\",\n        Value = \"secret\",\n        AdditionalMetadatas = new[]\n        {\n            new Harness.Platform.Inputs.SecretTextAdditionalMetadataArgs\n            {\n                Values = new[]\n                {\n                    new Harness.Platform.Inputs.SecretTextAdditionalMetadataValueArgs\n                    {\n                        Version = \"1\",\n                    },\n                },\n            },\n        },\n    });\n\n    // GCP Secret Manager with project ID and region (for secrets in a different GCP project)\n    var gcpSecretManagerWithProject = new Harness.Platform.SecretText(\"gcp_secret_manager_with_project\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        SecretManagerIdentifier = \"gcpSecretManager\",\n        ValueType = \"Inline\",\n        Value = \"secret\",\n        AdditionalMetadatas = new[]\n        {\n            new Harness.Platform.Inputs.SecretTextAdditionalMetadataArgs\n            {\n                Values = new[]\n                {\n                    new Harness.Platform.Inputs.SecretTextAdditionalMetadataValueArgs\n                    {\n                        Regions = \"us-east1\",\n                        GcpProjectId = \"my-gcp-project-id\",\n                    },\n                },\n            },\n        },\n    });\n\n    var awsSecretManager = new Harness.Platform.SecretText(\"aws_secret_manager\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"example\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        SecretManagerIdentifier = \"awsSecretManager\",\n        ValueType = \"Inline\",\n        Value = \"secret\",\n        AdditionalMetadatas = new[]\n        {\n            new Harness.Platform.Inputs.SecretTextAdditionalMetadataArgs\n            {\n                Values = new[]\n                {\n                    new Harness.Platform.Inputs.SecretTextAdditionalMetadataValueArgs\n                    {\n                        KmsKeyId = \"kmsKeyId\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewSecretText(ctx, \"inline\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tSecretManagerIdentifier: pulumi.String(\"harnessSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Inline\"),\n\t\t\tValue:                   pulumi.String(\"secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewSecretText(ctx, \"reference\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tSecretManagerIdentifier: pulumi.String(\"azureSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Reference\"),\n\t\t\tValue:                   pulumi.String(\"secret\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewSecretText(ctx, \"gcp_secret_manager_reference\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tSecretManagerIdentifier: pulumi.String(\"gcpSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Reference\"),\n\t\t\tValue:                   pulumi.String(\"secret\"),\n\t\t\tAdditionalMetadatas: platform.SecretTextAdditionalMetadataArray{\n\t\t\t\t\u0026platform.SecretTextAdditionalMetadataArgs{\n\t\t\t\t\tValues: platform.SecretTextAdditionalMetadataValueArray{\n\t\t\t\t\t\t\u0026platform.SecretTextAdditionalMetadataValueArgs{\n\t\t\t\t\t\t\tVersion: pulumi.String(\"1\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// GCP Secret Manager with project ID and region (for secrets in a different GCP project)\n\t\t_, err = platform.NewSecretText(ctx, \"gcp_secret_manager_with_project\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tSecretManagerIdentifier: pulumi.String(\"gcpSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Inline\"),\n\t\t\tValue:                   pulumi.String(\"secret\"),\n\t\t\tAdditionalMetadatas: platform.SecretTextAdditionalMetadataArray{\n\t\t\t\t\u0026platform.SecretTextAdditionalMetadataArgs{\n\t\t\t\t\tValues: platform.SecretTextAdditionalMetadataValueArray{\n\t\t\t\t\t\t\u0026platform.SecretTextAdditionalMetadataValueArgs{\n\t\t\t\t\t\t\tRegions:      pulumi.String(\"us-east1\"),\n\t\t\t\t\t\t\tGcpProjectId: pulumi.String(\"my-gcp-project-id\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewSecretText(ctx, \"aws_secret_manager\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"example\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tSecretManagerIdentifier: pulumi.String(\"awsSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Inline\"),\n\t\t\tValue:                   pulumi.String(\"secret\"),\n\t\t\tAdditionalMetadatas: platform.SecretTextAdditionalMetadataArray{\n\t\t\t\t\u0026platform.SecretTextAdditionalMetadataArgs{\n\t\t\t\t\tValues: platform.SecretTextAdditionalMetadataValueArray{\n\t\t\t\t\t\t\u0026platform.SecretTextAdditionalMetadataValueArgs{\n\t\t\t\t\t\t\tKmsKeyId: pulumi.String(\"kmsKeyId\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.SecretText;\nimport com.pulumi.harness.platform.SecretTextArgs;\nimport com.pulumi.harness.platform.inputs.SecretTextAdditionalMetadataArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var inline = new SecretText(\"inline\", SecretTextArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .secretManagerIdentifier(\"harnessSecretManager\")\n            .valueType(\"Inline\")\n            .value(\"secret\")\n            .build());\n\n        var reference = new SecretText(\"reference\", SecretTextArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .secretManagerIdentifier(\"azureSecretManager\")\n            .valueType(\"Reference\")\n            .value(\"secret\")\n            .build());\n\n        var gcpSecretManagerReference = new SecretText(\"gcpSecretManagerReference\", SecretTextArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .secretManagerIdentifier(\"gcpSecretManager\")\n            .valueType(\"Reference\")\n            .value(\"secret\")\n            .additionalMetadatas(SecretTextAdditionalMetadataArgs.builder()\n                .values(SecretTextAdditionalMetadataValueArgs.builder()\n                    .version(\"1\")\n                    .build())\n                .build())\n            .build());\n\n        // GCP Secret Manager with project ID and region (for secrets in a different GCP project)\n        var gcpSecretManagerWithProject = new SecretText(\"gcpSecretManagerWithProject\", SecretTextArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .secretManagerIdentifier(\"gcpSecretManager\")\n            .valueType(\"Inline\")\n            .value(\"secret\")\n            .additionalMetadatas(SecretTextAdditionalMetadataArgs.builder()\n                .values(SecretTextAdditionalMetadataValueArgs.builder()\n                    .regions(\"us-east1\")\n                    .gcpProjectId(\"my-gcp-project-id\")\n                    .build())\n                .build())\n            .build());\n\n        var awsSecretManager = new SecretText(\"awsSecretManager\", SecretTextArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"example\")\n            .tags(\"foo:bar\")\n            .secretManagerIdentifier(\"awsSecretManager\")\n            .valueType(\"Inline\")\n            .value(\"secret\")\n            .additionalMetadatas(SecretTextAdditionalMetadataArgs.builder()\n                .values(SecretTextAdditionalMetadataValueArgs.builder()\n                    .kmsKeyId(\"kmsKeyId\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  inline:\n    type: harness:platform:SecretText\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      secretManagerIdentifier: harnessSecretManager\n      valueType: Inline\n      value: secret\n  reference:\n    type: harness:platform:SecretText\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      secretManagerIdentifier: azureSecretManager\n      valueType: Reference\n      value: secret\n  gcpSecretManagerReference:\n    type: harness:platform:SecretText\n    name: gcp_secret_manager_reference\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      secretManagerIdentifier: gcpSecretManager\n      valueType: Reference\n      value: secret\n      additionalMetadatas:\n        - values:\n            - version: '1'\n  # GCP Secret Manager with project ID and region (for secrets in a different GCP project)\n  gcpSecretManagerWithProject:\n    type: harness:platform:SecretText\n    name: gcp_secret_manager_with_project\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      secretManagerIdentifier: gcpSecretManager\n      valueType: Inline\n      value: secret\n      additionalMetadatas:\n        - values:\n            - regions: us-east1\n              gcpProjectId: my-gcp-project-id\n  awsSecretManager:\n    type: harness:platform:SecretText\n    name: aws_secret_manager\n    properties:\n      identifier: identifier\n      name: name\n      description: example\n      tags:\n        - foo:bar\n      secretManagerIdentifier: awsSecretManager\n      valueType: Inline\n      value: secret\n      additionalMetadatas:\n        - values:\n            - kmsKeyId: kmsKeyId\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level secret text\n\n```sh\n$ pulumi import harness:platform/secretText:SecretText example \u003csecret_text_id\u003e\n```\n\nImport org level secret text\n\n```sh\n$ pulumi import harness:platform/secretText:SecretText example \u003cord_id\u003e/\u003csecret_text_id\u003e\n```\n\nImport project level secret text\n\n```sh\n$ pulumi import harness:platform/secretText:SecretText example \u003corg_id\u003e/\u003cproject_id\u003e/\u003csecret_text_id\u003e\n```\n\n","properties":{"additionalMetadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/SecretTextAdditionalMetadata:SecretTextAdditionalMetadata"},"description":"Additional Metadata for the Secret\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"secretManagerIdentifier":{"type":"string","description":"Identifier of the Secret Manager used to manage the secret.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"value":{"type":"string","description":"Value of the Secret\n","secret":true},"valueType":{"type":"string","description":"This has details to specify if the secret value is Inline or Reference.\n"}},"required":["identifier","name","secretManagerIdentifier","valueType"],"inputProperties":{"additionalMetadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/SecretTextAdditionalMetadata:SecretTextAdditionalMetadata"},"description":"Additional Metadata for the Secret\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"secretManagerIdentifier":{"type":"string","description":"Identifier of the Secret Manager used to manage the secret.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"value":{"type":"string","description":"Value of the Secret\n","secret":true},"valueType":{"type":"string","description":"This has details to specify if the secret value is Inline or Reference.\n"}},"requiredInputs":["identifier","secretManagerIdentifier","valueType"],"stateInputs":{"description":"Input properties used for looking up and filtering SecretText resources.\n","properties":{"additionalMetadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/SecretTextAdditionalMetadata:SecretTextAdditionalMetadata"},"description":"Additional Metadata for the Secret\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"secretManagerIdentifier":{"type":"string","description":"Identifier of the Secret Manager used to manage the secret.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"value":{"type":"string","description":"Value of the Secret\n","secret":true},"valueType":{"type":"string","description":"This has details to specify if the secret value is Inline or Reference.\n"}},"type":"object"}},"harness:platform/secretWinrm:SecretWinrm":{"description":"Resource for creating a WinRM credential secret.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// ============================================================================\n// ACCOUNT LEVEL TESTS (3 scenarios)\n// ============================================================================\n// 1. Account-level NTLM\nconst accountNtlmPassword = new harness.platform.SecretText(\"account_ntlm_password\", {\n    identifier: \"account_ntlm_password_v3\",\n    name: \"account_ntlm_password_v3\",\n    description: \"Password for account-level NTLM\",\n    secretManagerIdentifier: \"harnessSecretManager\",\n    valueType: \"Inline\",\n    value: \"account_ntlm_pass\",\n});\nconst accountNtlm = new harness.platform.SecretWinrm(\"account_ntlm\", {\n    identifier: \"account_ntlm_v3\",\n    name: \"Account NTLM v3\",\n    description: \"Account-level WinRM with NTLM\",\n    tags: [\n        \"scope:account\",\n        \"auth:ntlm\",\n    ],\n    port: 5986,\n    ntlm: {\n        domain: \"example.com\",\n        username: \"admin\",\n        passwordRef: pulumi.interpolate`account.${accountNtlmPassword.id}`,\n        useSsl: true,\n        skipCertCheck: false,\n        useNoProfile: true,\n    },\n});\n// 2. Account-level Kerberos with KeyTab\nconst accountKerberosKeytab = new harness.platform.SecretWinrm(\"account_kerberos_keytab\", {\n    identifier: \"account_kerberos_keytab_v3\",\n    name: \"Account Kerberos KeyTab v3\",\n    description: \"Account-level WinRM with Kerberos KeyTab\",\n    tags: [\n        \"scope:account\",\n        \"auth:kerberos-keytab\",\n    ],\n    port: 5986,\n    kerberos: {\n        principal: \"service@EXAMPLE.COM\",\n        realm: \"EXAMPLE.COM\",\n        tgtGenerationMethod: \"KeyTabFilePath\",\n        useSsl: true,\n        skipCertCheck: true,\n        useNoProfile: true,\n        tgtKeyTabFilePathSpec: {\n            keyPath: \"/etc/krb5.keytab\",\n        },\n    },\n});\n// 3. Account-level Kerberos with Password\nconst accountKerberosPassword1 = new harness.platform.SecretText(\"account_kerberos_password_1\", {\n    identifier: \"account_kerb_pass_20251111\",\n    name: \"account_kerb_pass_20251111\",\n    description: \"Password for account-level Kerberos\",\n    secretManagerIdentifier: \"harnessSecretManager\",\n    valueType: \"Inline\",\n    value: \"account_kerberos_pass\",\n});\nconst accountKerberosPassword1SecretWinrm = new harness.platform.SecretWinrm(\"account_kerberos_password_1\", {\n    identifier: \"account_kerb_winrm_20251111\",\n    name: \"Account Kerberos WinRM 20251111\",\n    description: \"Account-level WinRM with Kerberos Password\",\n    tags: [\n        \"scope:account\",\n        \"auth:kerberos-password\",\n    ],\n    port: 5986,\n    kerberos: {\n        principal: \"user@EXAMPLE.COM\",\n        realm: \"EXAMPLE.COM\",\n        tgtGenerationMethod: \"Password\",\n        useSsl: true,\n        skipCertCheck: false,\n        useNoProfile: true,\n        tgtPasswordSpec: {\n            passwordRef: pulumi.interpolate`account.${accountKerberosPassword1.id}`,\n        },\n    },\n});\n// ============================================================================\n// ORGANIZATION LEVEL TESTS (3 scenarios)\n// ============================================================================\n// 4. Org-level NTLM\nconst orgNtlmPassword = new harness.platform.SecretText(\"org_ntlm_password\", {\n    identifier: \"org_ntlm_password_v3\",\n    name: \"org_ntlm_password_v3\",\n    description: \"Password for org-level NTLM\",\n    orgId: \"default\",\n    secretManagerIdentifier: \"harnessSecretManager\",\n    valueType: \"Inline\",\n    value: \"org_ntlm_pass\",\n});\nconst orgNtlm = new harness.platform.SecretWinrm(\"org_ntlm\", {\n    identifier: \"org_ntlm_v3\",\n    name: \"Org NTLM v3\",\n    description: \"Org-level WinRM with NTLM\",\n    orgId: \"default\",\n    tags: [\n        \"scope:org\",\n        \"auth:ntlm\",\n    ],\n    port: 5985,\n    ntlm: {\n        domain: \"org.example.com\",\n        username: \"orgadmin\",\n        passwordRef: pulumi.interpolate`org.${orgNtlmPassword.id}`,\n        useSsl: false,\n        skipCertCheck: false,\n        useNoProfile: true,\n    },\n});\n// 5. Org-level Kerberos with KeyTab\nconst orgKerberosKeytab = new harness.platform.SecretWinrm(\"org_kerberos_keytab\", {\n    identifier: \"org_kerberos_keytab_v3\",\n    name: \"Org Kerberos KeyTab v3\",\n    description: \"Org-level WinRM with Kerberos KeyTab\",\n    orgId: \"default\",\n    tags: [\n        \"scope:org\",\n        \"auth:kerberos-keytab\",\n    ],\n    port: 5986,\n    kerberos: {\n        principal: \"orgservice@EXAMPLE.COM\",\n        realm: \"EXAMPLE.COM\",\n        tgtGenerationMethod: \"KeyTabFilePath\",\n        useSsl: true,\n        skipCertCheck: true,\n        useNoProfile: true,\n        tgtKeyTabFilePathSpec: {\n            keyPath: \"/etc/org.keytab\",\n        },\n    },\n});\n// 6. Org-level Kerberos with Password\nconst orgKerberosPassword = new harness.platform.SecretText(\"org_kerberos_password\", {\n    identifier: \"org_kerb_pass_v3\",\n    name: \"org_kerb_pass_v3\",\n    description: \"Password for org-level Kerberos\",\n    orgId: \"default\",\n    secretManagerIdentifier: \"harnessSecretManager\",\n    valueType: \"Inline\",\n    value: \"org_kerberos_pass\",\n});\nconst orgKerberosPasswordSecretWinrm = new harness.platform.SecretWinrm(\"org_kerberos_password\", {\n    identifier: \"org_kerb_winrm_v3\",\n    name: \"Org Kerberos WinRM v3\",\n    description: \"Org-level WinRM with Kerberos Password\",\n    orgId: \"default\",\n    tags: [\n        \"scope:org\",\n        \"auth:kerberos-password\",\n    ],\n    port: 5986,\n    kerberos: {\n        principal: \"orguser@EXAMPLE.COM\",\n        realm: \"EXAMPLE.COM\",\n        tgtGenerationMethod: \"Password\",\n        useSsl: true,\n        skipCertCheck: false,\n        useNoProfile: true,\n        tgtPasswordSpec: {\n            passwordRef: pulumi.interpolate`org.${orgKerberosPassword.id}`,\n        },\n    },\n});\n// ============================================================================\n// PROJECT LEVEL TESTS (3 scenarios)\n// ============================================================================\n// 7. Project-level NTLM\nconst projectNtlmPassword = new harness.platform.SecretText(\"project_ntlm_password\", {\n    identifier: \"proj_ntlm_pass_v3\",\n    name: \"proj_ntlm_pass_v3\",\n    description: \"Password for project-level NTLM\",\n    orgId: \"default\",\n    projectId: \"winrm_support_terraform\",\n    secretManagerIdentifier: \"harnessSecretManager\",\n    valueType: \"Inline\",\n    value: \"project_ntlm_pass\",\n});\nconst projectNtlm = new harness.platform.SecretWinrm(\"project_ntlm\", {\n    identifier: \"proj_ntlm_winrm_v3\",\n    name: \"Project NTLM WinRM v3\",\n    description: \"Project-level WinRM with NTLM\",\n    orgId: \"default\",\n    projectId: \"winrm_support_terraform\",\n    tags: [\n        \"scope:project\",\n        \"auth:ntlm\",\n    ],\n    port: 5986,\n    ntlm: {\n        domain: \"project.example.com\",\n        username: \"projectadmin\",\n        passwordRef: projectNtlmPassword.id,\n        useSsl: true,\n        skipCertCheck: false,\n        useNoProfile: false,\n    },\n});\n// 8. Project-level Kerberos with KeyTab\nconst projectKerberosKeytab = new harness.platform.SecretWinrm(\"project_kerberos_keytab\", {\n    identifier: \"proj_kerb_keytab_v3\",\n    name: \"Project Kerberos KeyTab v3\",\n    description: \"Project-level WinRM with Kerberos KeyTab\",\n    orgId: \"default\",\n    projectId: \"winrm_support_terraform\",\n    tags: [\n        \"scope:project\",\n        \"auth:kerberos-keytab\",\n    ],\n    port: 5986,\n    kerberos: {\n        principal: \"projectservice@EXAMPLE.COM\",\n        realm: \"EXAMPLE.COM\",\n        tgtGenerationMethod: \"KeyTabFilePath\",\n        useSsl: false,\n        skipCertCheck: false,\n        useNoProfile: false,\n        tgtKeyTabFilePathSpec: {\n            keyPath: \"/etc/project.keytab\",\n        },\n    },\n});\n// 9. Project-level Kerberos with Password\nconst projectKerberosPassword = new harness.platform.SecretText(\"project_kerberos_password\", {\n    identifier: \"proj_kerb_pass_v3\",\n    name: \"proj_kerb_pass_v3\",\n    description: \"Password for project-level Kerberos\",\n    orgId: \"default\",\n    projectId: \"winrm_support_terraform\",\n    secretManagerIdentifier: \"harnessSecretManager\",\n    valueType: \"Inline\",\n    value: \"project_kerberos_pass\",\n});\nconst projectKerberosPasswordSecretWinrm = new harness.platform.SecretWinrm(\"project_kerberos_password\", {\n    identifier: \"proj_kerb_winrm_v3\",\n    name: \"Project Kerberos WinRM v3\",\n    description: \"Project-level WinRM with Kerberos Password\",\n    orgId: \"default\",\n    projectId: \"winrm_support_terraform\",\n    tags: [\n        \"scope:project\",\n        \"auth:kerberos-password\",\n    ],\n    port: 5986,\n    kerberos: {\n        principal: \"projectuser@EXAMPLE.COM\",\n        realm: \"EXAMPLE.COM\",\n        tgtGenerationMethod: \"Password\",\n        useSsl: false,\n        skipCertCheck: true,\n        useNoProfile: true,\n        tgtPasswordSpec: {\n            passwordRef: projectKerberosPassword.id,\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# ============================================================================\n# ACCOUNT LEVEL TESTS (3 scenarios)\n# ============================================================================\n# 1. Account-level NTLM\naccount_ntlm_password = harness.platform.SecretText(\"account_ntlm_password\",\n    identifier=\"account_ntlm_password_v3\",\n    name=\"account_ntlm_password_v3\",\n    description=\"Password for account-level NTLM\",\n    secret_manager_identifier=\"harnessSecretManager\",\n    value_type=\"Inline\",\n    value=\"account_ntlm_pass\")\naccount_ntlm = harness.platform.SecretWinrm(\"account_ntlm\",\n    identifier=\"account_ntlm_v3\",\n    name=\"Account NTLM v3\",\n    description=\"Account-level WinRM with NTLM\",\n    tags=[\n        \"scope:account\",\n        \"auth:ntlm\",\n    ],\n    port=5986,\n    ntlm={\n        \"domain\": \"example.com\",\n        \"username\": \"admin\",\n        \"password_ref\": account_ntlm_password.id.apply(lambda id: f\"account.{id}\"),\n        \"use_ssl\": True,\n        \"skip_cert_check\": False,\n        \"use_no_profile\": True,\n    })\n# 2. Account-level Kerberos with KeyTab\naccount_kerberos_keytab = harness.platform.SecretWinrm(\"account_kerberos_keytab\",\n    identifier=\"account_kerberos_keytab_v3\",\n    name=\"Account Kerberos KeyTab v3\",\n    description=\"Account-level WinRM with Kerberos KeyTab\",\n    tags=[\n        \"scope:account\",\n        \"auth:kerberos-keytab\",\n    ],\n    port=5986,\n    kerberos={\n        \"principal\": \"service@EXAMPLE.COM\",\n        \"realm\": \"EXAMPLE.COM\",\n        \"tgt_generation_method\": \"KeyTabFilePath\",\n        \"use_ssl\": True,\n        \"skip_cert_check\": True,\n        \"use_no_profile\": True,\n        \"tgt_key_tab_file_path_spec\": {\n            \"key_path\": \"/etc/krb5.keytab\",\n        },\n    })\n# 3. Account-level Kerberos with Password\naccount_kerberos_password1 = harness.platform.SecretText(\"account_kerberos_password_1\",\n    identifier=\"account_kerb_pass_20251111\",\n    name=\"account_kerb_pass_20251111\",\n    description=\"Password for account-level Kerberos\",\n    secret_manager_identifier=\"harnessSecretManager\",\n    value_type=\"Inline\",\n    value=\"account_kerberos_pass\")\naccount_kerberos_password1_secret_winrm = harness.platform.SecretWinrm(\"account_kerberos_password_1\",\n    identifier=\"account_kerb_winrm_20251111\",\n    name=\"Account Kerberos WinRM 20251111\",\n    description=\"Account-level WinRM with Kerberos Password\",\n    tags=[\n        \"scope:account\",\n        \"auth:kerberos-password\",\n    ],\n    port=5986,\n    kerberos={\n        \"principal\": \"user@EXAMPLE.COM\",\n        \"realm\": \"EXAMPLE.COM\",\n        \"tgt_generation_method\": \"Password\",\n        \"use_ssl\": True,\n        \"skip_cert_check\": False,\n        \"use_no_profile\": True,\n        \"tgt_password_spec\": {\n            \"password_ref\": account_kerberos_password1.id.apply(lambda id: f\"account.{id}\"),\n        },\n    })\n# ============================================================================\n# ORGANIZATION LEVEL TESTS (3 scenarios)\n# ============================================================================\n# 4. Org-level NTLM\norg_ntlm_password = harness.platform.SecretText(\"org_ntlm_password\",\n    identifier=\"org_ntlm_password_v3\",\n    name=\"org_ntlm_password_v3\",\n    description=\"Password for org-level NTLM\",\n    org_id=\"default\",\n    secret_manager_identifier=\"harnessSecretManager\",\n    value_type=\"Inline\",\n    value=\"org_ntlm_pass\")\norg_ntlm = harness.platform.SecretWinrm(\"org_ntlm\",\n    identifier=\"org_ntlm_v3\",\n    name=\"Org NTLM v3\",\n    description=\"Org-level WinRM with NTLM\",\n    org_id=\"default\",\n    tags=[\n        \"scope:org\",\n        \"auth:ntlm\",\n    ],\n    port=5985,\n    ntlm={\n        \"domain\": \"org.example.com\",\n        \"username\": \"orgadmin\",\n        \"password_ref\": org_ntlm_password.id.apply(lambda id: f\"org.{id}\"),\n        \"use_ssl\": False,\n        \"skip_cert_check\": False,\n        \"use_no_profile\": True,\n    })\n# 5. Org-level Kerberos with KeyTab\norg_kerberos_keytab = harness.platform.SecretWinrm(\"org_kerberos_keytab\",\n    identifier=\"org_kerberos_keytab_v3\",\n    name=\"Org Kerberos KeyTab v3\",\n    description=\"Org-level WinRM with Kerberos KeyTab\",\n    org_id=\"default\",\n    tags=[\n        \"scope:org\",\n        \"auth:kerberos-keytab\",\n    ],\n    port=5986,\n    kerberos={\n        \"principal\": \"orgservice@EXAMPLE.COM\",\n        \"realm\": \"EXAMPLE.COM\",\n        \"tgt_generation_method\": \"KeyTabFilePath\",\n        \"use_ssl\": True,\n        \"skip_cert_check\": True,\n        \"use_no_profile\": True,\n        \"tgt_key_tab_file_path_spec\": {\n            \"key_path\": \"/etc/org.keytab\",\n        },\n    })\n# 6. Org-level Kerberos with Password\norg_kerberos_password = harness.platform.SecretText(\"org_kerberos_password\",\n    identifier=\"org_kerb_pass_v3\",\n    name=\"org_kerb_pass_v3\",\n    description=\"Password for org-level Kerberos\",\n    org_id=\"default\",\n    secret_manager_identifier=\"harnessSecretManager\",\n    value_type=\"Inline\",\n    value=\"org_kerberos_pass\")\norg_kerberos_password_secret_winrm = harness.platform.SecretWinrm(\"org_kerberos_password\",\n    identifier=\"org_kerb_winrm_v3\",\n    name=\"Org Kerberos WinRM v3\",\n    description=\"Org-level WinRM with Kerberos Password\",\n    org_id=\"default\",\n    tags=[\n        \"scope:org\",\n        \"auth:kerberos-password\",\n    ],\n    port=5986,\n    kerberos={\n        \"principal\": \"orguser@EXAMPLE.COM\",\n        \"realm\": \"EXAMPLE.COM\",\n        \"tgt_generation_method\": \"Password\",\n        \"use_ssl\": True,\n        \"skip_cert_check\": False,\n        \"use_no_profile\": True,\n        \"tgt_password_spec\": {\n            \"password_ref\": org_kerberos_password.id.apply(lambda id: f\"org.{id}\"),\n        },\n    })\n# ============================================================================\n# PROJECT LEVEL TESTS (3 scenarios)\n# ============================================================================\n# 7. Project-level NTLM\nproject_ntlm_password = harness.platform.SecretText(\"project_ntlm_password\",\n    identifier=\"proj_ntlm_pass_v3\",\n    name=\"proj_ntlm_pass_v3\",\n    description=\"Password for project-level NTLM\",\n    org_id=\"default\",\n    project_id=\"winrm_support_terraform\",\n    secret_manager_identifier=\"harnessSecretManager\",\n    value_type=\"Inline\",\n    value=\"project_ntlm_pass\")\nproject_ntlm = harness.platform.SecretWinrm(\"project_ntlm\",\n    identifier=\"proj_ntlm_winrm_v3\",\n    name=\"Project NTLM WinRM v3\",\n    description=\"Project-level WinRM with NTLM\",\n    org_id=\"default\",\n    project_id=\"winrm_support_terraform\",\n    tags=[\n        \"scope:project\",\n        \"auth:ntlm\",\n    ],\n    port=5986,\n    ntlm={\n        \"domain\": \"project.example.com\",\n        \"username\": \"projectadmin\",\n        \"password_ref\": project_ntlm_password.id,\n        \"use_ssl\": True,\n        \"skip_cert_check\": False,\n        \"use_no_profile\": False,\n    })\n# 8. Project-level Kerberos with KeyTab\nproject_kerberos_keytab = harness.platform.SecretWinrm(\"project_kerberos_keytab\",\n    identifier=\"proj_kerb_keytab_v3\",\n    name=\"Project Kerberos KeyTab v3\",\n    description=\"Project-level WinRM with Kerberos KeyTab\",\n    org_id=\"default\",\n    project_id=\"winrm_support_terraform\",\n    tags=[\n        \"scope:project\",\n        \"auth:kerberos-keytab\",\n    ],\n    port=5986,\n    kerberos={\n        \"principal\": \"projectservice@EXAMPLE.COM\",\n        \"realm\": \"EXAMPLE.COM\",\n        \"tgt_generation_method\": \"KeyTabFilePath\",\n        \"use_ssl\": False,\n        \"skip_cert_check\": False,\n        \"use_no_profile\": False,\n        \"tgt_key_tab_file_path_spec\": {\n            \"key_path\": \"/etc/project.keytab\",\n        },\n    })\n# 9. Project-level Kerberos with Password\nproject_kerberos_password = harness.platform.SecretText(\"project_kerberos_password\",\n    identifier=\"proj_kerb_pass_v3\",\n    name=\"proj_kerb_pass_v3\",\n    description=\"Password for project-level Kerberos\",\n    org_id=\"default\",\n    project_id=\"winrm_support_terraform\",\n    secret_manager_identifier=\"harnessSecretManager\",\n    value_type=\"Inline\",\n    value=\"project_kerberos_pass\")\nproject_kerberos_password_secret_winrm = harness.platform.SecretWinrm(\"project_kerberos_password\",\n    identifier=\"proj_kerb_winrm_v3\",\n    name=\"Project Kerberos WinRM v3\",\n    description=\"Project-level WinRM with Kerberos Password\",\n    org_id=\"default\",\n    project_id=\"winrm_support_terraform\",\n    tags=[\n        \"scope:project\",\n        \"auth:kerberos-password\",\n    ],\n    port=5986,\n    kerberos={\n        \"principal\": \"projectuser@EXAMPLE.COM\",\n        \"realm\": \"EXAMPLE.COM\",\n        \"tgt_generation_method\": \"Password\",\n        \"use_ssl\": False,\n        \"skip_cert_check\": True,\n        \"use_no_profile\": True,\n        \"tgt_password_spec\": {\n            \"password_ref\": project_kerberos_password.id,\n        },\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // ============================================================================\n    // ACCOUNT LEVEL TESTS (3 scenarios)\n    // ============================================================================\n    // 1. Account-level NTLM\n    var accountNtlmPassword = new Harness.Platform.SecretText(\"account_ntlm_password\", new()\n    {\n        Identifier = \"account_ntlm_password_v3\",\n        Name = \"account_ntlm_password_v3\",\n        Description = \"Password for account-level NTLM\",\n        SecretManagerIdentifier = \"harnessSecretManager\",\n        ValueType = \"Inline\",\n        Value = \"account_ntlm_pass\",\n    });\n\n    var accountNtlm = new Harness.Platform.SecretWinrm(\"account_ntlm\", new()\n    {\n        Identifier = \"account_ntlm_v3\",\n        Name = \"Account NTLM v3\",\n        Description = \"Account-level WinRM with NTLM\",\n        Tags = new[]\n        {\n            \"scope:account\",\n            \"auth:ntlm\",\n        },\n        Port = 5986,\n        Ntlm = new Harness.Platform.Inputs.SecretWinrmNtlmArgs\n        {\n            Domain = \"example.com\",\n            Username = \"admin\",\n            PasswordRef = accountNtlmPassword.Id.Apply(id =\u003e $\"account.{id}\"),\n            UseSsl = true,\n            SkipCertCheck = false,\n            UseNoProfile = true,\n        },\n    });\n\n    // 2. Account-level Kerberos with KeyTab\n    var accountKerberosKeytab = new Harness.Platform.SecretWinrm(\"account_kerberos_keytab\", new()\n    {\n        Identifier = \"account_kerberos_keytab_v3\",\n        Name = \"Account Kerberos KeyTab v3\",\n        Description = \"Account-level WinRM with Kerberos KeyTab\",\n        Tags = new[]\n        {\n            \"scope:account\",\n            \"auth:kerberos-keytab\",\n        },\n        Port = 5986,\n        Kerberos = new Harness.Platform.Inputs.SecretWinrmKerberosArgs\n        {\n            Principal = \"service@EXAMPLE.COM\",\n            Realm = \"EXAMPLE.COM\",\n            TgtGenerationMethod = \"KeyTabFilePath\",\n            UseSsl = true,\n            SkipCertCheck = true,\n            UseNoProfile = true,\n            TgtKeyTabFilePathSpec = new Harness.Platform.Inputs.SecretWinrmKerberosTgtKeyTabFilePathSpecArgs\n            {\n                KeyPath = \"/etc/krb5.keytab\",\n            },\n        },\n    });\n\n    // 3. Account-level Kerberos with Password\n    var accountKerberosPassword1 = new Harness.Platform.SecretText(\"account_kerberos_password_1\", new()\n    {\n        Identifier = \"account_kerb_pass_20251111\",\n        Name = \"account_kerb_pass_20251111\",\n        Description = \"Password for account-level Kerberos\",\n        SecretManagerIdentifier = \"harnessSecretManager\",\n        ValueType = \"Inline\",\n        Value = \"account_kerberos_pass\",\n    });\n\n    var accountKerberosPassword1SecretWinrm = new Harness.Platform.SecretWinrm(\"account_kerberos_password_1\", new()\n    {\n        Identifier = \"account_kerb_winrm_20251111\",\n        Name = \"Account Kerberos WinRM 20251111\",\n        Description = \"Account-level WinRM with Kerberos Password\",\n        Tags = new[]\n        {\n            \"scope:account\",\n            \"auth:kerberos-password\",\n        },\n        Port = 5986,\n        Kerberos = new Harness.Platform.Inputs.SecretWinrmKerberosArgs\n        {\n            Principal = \"user@EXAMPLE.COM\",\n            Realm = \"EXAMPLE.COM\",\n            TgtGenerationMethod = \"Password\",\n            UseSsl = true,\n            SkipCertCheck = false,\n            UseNoProfile = true,\n            TgtPasswordSpec = new Harness.Platform.Inputs.SecretWinrmKerberosTgtPasswordSpecArgs\n            {\n                PasswordRef = accountKerberosPassword1.Id.Apply(id =\u003e $\"account.{id}\"),\n            },\n        },\n    });\n\n    // ============================================================================\n    // ORGANIZATION LEVEL TESTS (3 scenarios)\n    // ============================================================================\n    // 4. Org-level NTLM\n    var orgNtlmPassword = new Harness.Platform.SecretText(\"org_ntlm_password\", new()\n    {\n        Identifier = \"org_ntlm_password_v3\",\n        Name = \"org_ntlm_password_v3\",\n        Description = \"Password for org-level NTLM\",\n        OrgId = \"default\",\n        SecretManagerIdentifier = \"harnessSecretManager\",\n        ValueType = \"Inline\",\n        Value = \"org_ntlm_pass\",\n    });\n\n    var orgNtlm = new Harness.Platform.SecretWinrm(\"org_ntlm\", new()\n    {\n        Identifier = \"org_ntlm_v3\",\n        Name = \"Org NTLM v3\",\n        Description = \"Org-level WinRM with NTLM\",\n        OrgId = \"default\",\n        Tags = new[]\n        {\n            \"scope:org\",\n            \"auth:ntlm\",\n        },\n        Port = 5985,\n        Ntlm = new Harness.Platform.Inputs.SecretWinrmNtlmArgs\n        {\n            Domain = \"org.example.com\",\n            Username = \"orgadmin\",\n            PasswordRef = orgNtlmPassword.Id.Apply(id =\u003e $\"org.{id}\"),\n            UseSsl = false,\n            SkipCertCheck = false,\n            UseNoProfile = true,\n        },\n    });\n\n    // 5. Org-level Kerberos with KeyTab\n    var orgKerberosKeytab = new Harness.Platform.SecretWinrm(\"org_kerberos_keytab\", new()\n    {\n        Identifier = \"org_kerberos_keytab_v3\",\n        Name = \"Org Kerberos KeyTab v3\",\n        Description = \"Org-level WinRM with Kerberos KeyTab\",\n        OrgId = \"default\",\n        Tags = new[]\n        {\n            \"scope:org\",\n            \"auth:kerberos-keytab\",\n        },\n        Port = 5986,\n        Kerberos = new Harness.Platform.Inputs.SecretWinrmKerberosArgs\n        {\n            Principal = \"orgservice@EXAMPLE.COM\",\n            Realm = \"EXAMPLE.COM\",\n            TgtGenerationMethod = \"KeyTabFilePath\",\n            UseSsl = true,\n            SkipCertCheck = true,\n            UseNoProfile = true,\n            TgtKeyTabFilePathSpec = new Harness.Platform.Inputs.SecretWinrmKerberosTgtKeyTabFilePathSpecArgs\n            {\n                KeyPath = \"/etc/org.keytab\",\n            },\n        },\n    });\n\n    // 6. Org-level Kerberos with Password\n    var orgKerberosPassword = new Harness.Platform.SecretText(\"org_kerberos_password\", new()\n    {\n        Identifier = \"org_kerb_pass_v3\",\n        Name = \"org_kerb_pass_v3\",\n        Description = \"Password for org-level Kerberos\",\n        OrgId = \"default\",\n        SecretManagerIdentifier = \"harnessSecretManager\",\n        ValueType = \"Inline\",\n        Value = \"org_kerberos_pass\",\n    });\n\n    var orgKerberosPasswordSecretWinrm = new Harness.Platform.SecretWinrm(\"org_kerberos_password\", new()\n    {\n        Identifier = \"org_kerb_winrm_v3\",\n        Name = \"Org Kerberos WinRM v3\",\n        Description = \"Org-level WinRM with Kerberos Password\",\n        OrgId = \"default\",\n        Tags = new[]\n        {\n            \"scope:org\",\n            \"auth:kerberos-password\",\n        },\n        Port = 5986,\n        Kerberos = new Harness.Platform.Inputs.SecretWinrmKerberosArgs\n        {\n            Principal = \"orguser@EXAMPLE.COM\",\n            Realm = \"EXAMPLE.COM\",\n            TgtGenerationMethod = \"Password\",\n            UseSsl = true,\n            SkipCertCheck = false,\n            UseNoProfile = true,\n            TgtPasswordSpec = new Harness.Platform.Inputs.SecretWinrmKerberosTgtPasswordSpecArgs\n            {\n                PasswordRef = orgKerberosPassword.Id.Apply(id =\u003e $\"org.{id}\"),\n            },\n        },\n    });\n\n    // ============================================================================\n    // PROJECT LEVEL TESTS (3 scenarios)\n    // ============================================================================\n    // 7. Project-level NTLM\n    var projectNtlmPassword = new Harness.Platform.SecretText(\"project_ntlm_password\", new()\n    {\n        Identifier = \"proj_ntlm_pass_v3\",\n        Name = \"proj_ntlm_pass_v3\",\n        Description = \"Password for project-level NTLM\",\n        OrgId = \"default\",\n        ProjectId = \"winrm_support_terraform\",\n        SecretManagerIdentifier = \"harnessSecretManager\",\n        ValueType = \"Inline\",\n        Value = \"project_ntlm_pass\",\n    });\n\n    var projectNtlm = new Harness.Platform.SecretWinrm(\"project_ntlm\", new()\n    {\n        Identifier = \"proj_ntlm_winrm_v3\",\n        Name = \"Project NTLM WinRM v3\",\n        Description = \"Project-level WinRM with NTLM\",\n        OrgId = \"default\",\n        ProjectId = \"winrm_support_terraform\",\n        Tags = new[]\n        {\n            \"scope:project\",\n            \"auth:ntlm\",\n        },\n        Port = 5986,\n        Ntlm = new Harness.Platform.Inputs.SecretWinrmNtlmArgs\n        {\n            Domain = \"project.example.com\",\n            Username = \"projectadmin\",\n            PasswordRef = projectNtlmPassword.Id,\n            UseSsl = true,\n            SkipCertCheck = false,\n            UseNoProfile = false,\n        },\n    });\n\n    // 8. Project-level Kerberos with KeyTab\n    var projectKerberosKeytab = new Harness.Platform.SecretWinrm(\"project_kerberos_keytab\", new()\n    {\n        Identifier = \"proj_kerb_keytab_v3\",\n        Name = \"Project Kerberos KeyTab v3\",\n        Description = \"Project-level WinRM with Kerberos KeyTab\",\n        OrgId = \"default\",\n        ProjectId = \"winrm_support_terraform\",\n        Tags = new[]\n        {\n            \"scope:project\",\n            \"auth:kerberos-keytab\",\n        },\n        Port = 5986,\n        Kerberos = new Harness.Platform.Inputs.SecretWinrmKerberosArgs\n        {\n            Principal = \"projectservice@EXAMPLE.COM\",\n            Realm = \"EXAMPLE.COM\",\n            TgtGenerationMethod = \"KeyTabFilePath\",\n            UseSsl = false,\n            SkipCertCheck = false,\n            UseNoProfile = false,\n            TgtKeyTabFilePathSpec = new Harness.Platform.Inputs.SecretWinrmKerberosTgtKeyTabFilePathSpecArgs\n            {\n                KeyPath = \"/etc/project.keytab\",\n            },\n        },\n    });\n\n    // 9. Project-level Kerberos with Password\n    var projectKerberosPassword = new Harness.Platform.SecretText(\"project_kerberos_password\", new()\n    {\n        Identifier = \"proj_kerb_pass_v3\",\n        Name = \"proj_kerb_pass_v3\",\n        Description = \"Password for project-level Kerberos\",\n        OrgId = \"default\",\n        ProjectId = \"winrm_support_terraform\",\n        SecretManagerIdentifier = \"harnessSecretManager\",\n        ValueType = \"Inline\",\n        Value = \"project_kerberos_pass\",\n    });\n\n    var projectKerberosPasswordSecretWinrm = new Harness.Platform.SecretWinrm(\"project_kerberos_password\", new()\n    {\n        Identifier = \"proj_kerb_winrm_v3\",\n        Name = \"Project Kerberos WinRM v3\",\n        Description = \"Project-level WinRM with Kerberos Password\",\n        OrgId = \"default\",\n        ProjectId = \"winrm_support_terraform\",\n        Tags = new[]\n        {\n            \"scope:project\",\n            \"auth:kerberos-password\",\n        },\n        Port = 5986,\n        Kerberos = new Harness.Platform.Inputs.SecretWinrmKerberosArgs\n        {\n            Principal = \"projectuser@EXAMPLE.COM\",\n            Realm = \"EXAMPLE.COM\",\n            TgtGenerationMethod = \"Password\",\n            UseSsl = false,\n            SkipCertCheck = true,\n            UseNoProfile = true,\n            TgtPasswordSpec = new Harness.Platform.Inputs.SecretWinrmKerberosTgtPasswordSpecArgs\n            {\n                PasswordRef = projectKerberosPassword.Id,\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"fmt\"\n\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// ============================================================================\n\t\t// ACCOUNT LEVEL TESTS (3 scenarios)\n\t\t// ============================================================================\n\t\t// 1. Account-level NTLM\n\t\taccountNtlmPassword, err := platform.NewSecretText(ctx, \"account_ntlm_password\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:              pulumi.String(\"account_ntlm_password_v3\"),\n\t\t\tName:                    pulumi.String(\"account_ntlm_password_v3\"),\n\t\t\tDescription:             pulumi.String(\"Password for account-level NTLM\"),\n\t\t\tSecretManagerIdentifier: pulumi.String(\"harnessSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Inline\"),\n\t\t\tValue:                   pulumi.String(\"account_ntlm_pass\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewSecretWinrm(ctx, \"account_ntlm\", \u0026platform.SecretWinrmArgs{\n\t\t\tIdentifier:  pulumi.String(\"account_ntlm_v3\"),\n\t\t\tName:        pulumi.String(\"Account NTLM v3\"),\n\t\t\tDescription: pulumi.String(\"Account-level WinRM with NTLM\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"scope:account\"),\n\t\t\t\tpulumi.String(\"auth:ntlm\"),\n\t\t\t},\n\t\t\tPort: pulumi.Int(5986),\n\t\t\tNtlm: \u0026platform.SecretWinrmNtlmArgs{\n\t\t\t\tDomain:   pulumi.String(\"example.com\"),\n\t\t\t\tUsername: pulumi.String(\"admin\"),\n\t\t\t\tPasswordRef: accountNtlmPassword.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"account.%v\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tUseSsl:        pulumi.Bool(true),\n\t\t\t\tSkipCertCheck: pulumi.Bool(false),\n\t\t\t\tUseNoProfile:  pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// 2. Account-level Kerberos with KeyTab\n\t\t_, err = platform.NewSecretWinrm(ctx, \"account_kerberos_keytab\", \u0026platform.SecretWinrmArgs{\n\t\t\tIdentifier:  pulumi.String(\"account_kerberos_keytab_v3\"),\n\t\t\tName:        pulumi.String(\"Account Kerberos KeyTab v3\"),\n\t\t\tDescription: pulumi.String(\"Account-level WinRM with Kerberos KeyTab\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"scope:account\"),\n\t\t\t\tpulumi.String(\"auth:kerberos-keytab\"),\n\t\t\t},\n\t\t\tPort: pulumi.Int(5986),\n\t\t\tKerberos: \u0026platform.SecretWinrmKerberosArgs{\n\t\t\t\tPrincipal:           pulumi.String(\"service@EXAMPLE.COM\"),\n\t\t\t\tRealm:               pulumi.String(\"EXAMPLE.COM\"),\n\t\t\t\tTgtGenerationMethod: pulumi.String(\"KeyTabFilePath\"),\n\t\t\t\tUseSsl:              pulumi.Bool(true),\n\t\t\t\tSkipCertCheck:       pulumi.Bool(true),\n\t\t\t\tUseNoProfile:        pulumi.Bool(true),\n\t\t\t\tTgtKeyTabFilePathSpec: \u0026platform.SecretWinrmKerberosTgtKeyTabFilePathSpecArgs{\n\t\t\t\t\tKeyPath: pulumi.String(\"/etc/krb5.keytab\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// 3. Account-level Kerberos with Password\n\t\taccountKerberosPassword1, err := platform.NewSecretText(ctx, \"account_kerberos_password_1\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:              pulumi.String(\"account_kerb_pass_20251111\"),\n\t\t\tName:                    pulumi.String(\"account_kerb_pass_20251111\"),\n\t\t\tDescription:             pulumi.String(\"Password for account-level Kerberos\"),\n\t\t\tSecretManagerIdentifier: pulumi.String(\"harnessSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Inline\"),\n\t\t\tValue:                   pulumi.String(\"account_kerberos_pass\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewSecretWinrm(ctx, \"account_kerberos_password_1\", \u0026platform.SecretWinrmArgs{\n\t\t\tIdentifier:  pulumi.String(\"account_kerb_winrm_20251111\"),\n\t\t\tName:        pulumi.String(\"Account Kerberos WinRM 20251111\"),\n\t\t\tDescription: pulumi.String(\"Account-level WinRM with Kerberos Password\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"scope:account\"),\n\t\t\t\tpulumi.String(\"auth:kerberos-password\"),\n\t\t\t},\n\t\t\tPort: pulumi.Int(5986),\n\t\t\tKerberos: \u0026platform.SecretWinrmKerberosArgs{\n\t\t\t\tPrincipal:           pulumi.String(\"user@EXAMPLE.COM\"),\n\t\t\t\tRealm:               pulumi.String(\"EXAMPLE.COM\"),\n\t\t\t\tTgtGenerationMethod: pulumi.String(\"Password\"),\n\t\t\t\tUseSsl:              pulumi.Bool(true),\n\t\t\t\tSkipCertCheck:       pulumi.Bool(false),\n\t\t\t\tUseNoProfile:        pulumi.Bool(true),\n\t\t\t\tTgtPasswordSpec: \u0026platform.SecretWinrmKerberosTgtPasswordSpecArgs{\n\t\t\t\t\tPasswordRef: accountKerberosPassword1.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"account.%v\", id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// 4. Org-level NTLM\n\t\torgNtlmPassword, err := platform.NewSecretText(ctx, \"org_ntlm_password\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:              pulumi.String(\"org_ntlm_password_v3\"),\n\t\t\tName:                    pulumi.String(\"org_ntlm_password_v3\"),\n\t\t\tDescription:             pulumi.String(\"Password for org-level NTLM\"),\n\t\t\tOrgId:                   pulumi.String(\"default\"),\n\t\t\tSecretManagerIdentifier: pulumi.String(\"harnessSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Inline\"),\n\t\t\tValue:                   pulumi.String(\"org_ntlm_pass\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewSecretWinrm(ctx, \"org_ntlm\", \u0026platform.SecretWinrmArgs{\n\t\t\tIdentifier:  pulumi.String(\"org_ntlm_v3\"),\n\t\t\tName:        pulumi.String(\"Org NTLM v3\"),\n\t\t\tDescription: pulumi.String(\"Org-level WinRM with NTLM\"),\n\t\t\tOrgId:       pulumi.String(\"default\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"scope:org\"),\n\t\t\t\tpulumi.String(\"auth:ntlm\"),\n\t\t\t},\n\t\t\tPort: pulumi.Int(5985),\n\t\t\tNtlm: \u0026platform.SecretWinrmNtlmArgs{\n\t\t\t\tDomain:   pulumi.String(\"org.example.com\"),\n\t\t\t\tUsername: pulumi.String(\"orgadmin\"),\n\t\t\t\tPasswordRef: orgNtlmPassword.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\treturn fmt.Sprintf(\"org.%v\", id), nil\n\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\tUseSsl:        pulumi.Bool(false),\n\t\t\t\tSkipCertCheck: pulumi.Bool(false),\n\t\t\t\tUseNoProfile:  pulumi.Bool(true),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// 5. Org-level Kerberos with KeyTab\n\t\t_, err = platform.NewSecretWinrm(ctx, \"org_kerberos_keytab\", \u0026platform.SecretWinrmArgs{\n\t\t\tIdentifier:  pulumi.String(\"org_kerberos_keytab_v3\"),\n\t\t\tName:        pulumi.String(\"Org Kerberos KeyTab v3\"),\n\t\t\tDescription: pulumi.String(\"Org-level WinRM with Kerberos KeyTab\"),\n\t\t\tOrgId:       pulumi.String(\"default\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"scope:org\"),\n\t\t\t\tpulumi.String(\"auth:kerberos-keytab\"),\n\t\t\t},\n\t\t\tPort: pulumi.Int(5986),\n\t\t\tKerberos: \u0026platform.SecretWinrmKerberosArgs{\n\t\t\t\tPrincipal:           pulumi.String(\"orgservice@EXAMPLE.COM\"),\n\t\t\t\tRealm:               pulumi.String(\"EXAMPLE.COM\"),\n\t\t\t\tTgtGenerationMethod: pulumi.String(\"KeyTabFilePath\"),\n\t\t\t\tUseSsl:              pulumi.Bool(true),\n\t\t\t\tSkipCertCheck:       pulumi.Bool(true),\n\t\t\t\tUseNoProfile:        pulumi.Bool(true),\n\t\t\t\tTgtKeyTabFilePathSpec: \u0026platform.SecretWinrmKerberosTgtKeyTabFilePathSpecArgs{\n\t\t\t\t\tKeyPath: pulumi.String(\"/etc/org.keytab\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// 6. Org-level Kerberos with Password\n\t\torgKerberosPassword, err := platform.NewSecretText(ctx, \"org_kerberos_password\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:              pulumi.String(\"org_kerb_pass_v3\"),\n\t\t\tName:                    pulumi.String(\"org_kerb_pass_v3\"),\n\t\t\tDescription:             pulumi.String(\"Password for org-level Kerberos\"),\n\t\t\tOrgId:                   pulumi.String(\"default\"),\n\t\t\tSecretManagerIdentifier: pulumi.String(\"harnessSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Inline\"),\n\t\t\tValue:                   pulumi.String(\"org_kerberos_pass\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewSecretWinrm(ctx, \"org_kerberos_password\", \u0026platform.SecretWinrmArgs{\n\t\t\tIdentifier:  pulumi.String(\"org_kerb_winrm_v3\"),\n\t\t\tName:        pulumi.String(\"Org Kerberos WinRM v3\"),\n\t\t\tDescription: pulumi.String(\"Org-level WinRM with Kerberos Password\"),\n\t\t\tOrgId:       pulumi.String(\"default\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"scope:org\"),\n\t\t\t\tpulumi.String(\"auth:kerberos-password\"),\n\t\t\t},\n\t\t\tPort: pulumi.Int(5986),\n\t\t\tKerberos: \u0026platform.SecretWinrmKerberosArgs{\n\t\t\t\tPrincipal:           pulumi.String(\"orguser@EXAMPLE.COM\"),\n\t\t\t\tRealm:               pulumi.String(\"EXAMPLE.COM\"),\n\t\t\t\tTgtGenerationMethod: pulumi.String(\"Password\"),\n\t\t\t\tUseSsl:              pulumi.Bool(true),\n\t\t\t\tSkipCertCheck:       pulumi.Bool(false),\n\t\t\t\tUseNoProfile:        pulumi.Bool(true),\n\t\t\t\tTgtPasswordSpec: \u0026platform.SecretWinrmKerberosTgtPasswordSpecArgs{\n\t\t\t\t\tPasswordRef: orgKerberosPassword.ID().ApplyT(func(id string) (string, error) {\n\t\t\t\t\t\treturn fmt.Sprintf(\"org.%v\", id), nil\n\t\t\t\t\t}).(pulumi.StringOutput),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// 7. Project-level NTLM\n\t\tprojectNtlmPassword, err := platform.NewSecretText(ctx, \"project_ntlm_password\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:              pulumi.String(\"proj_ntlm_pass_v3\"),\n\t\t\tName:                    pulumi.String(\"proj_ntlm_pass_v3\"),\n\t\t\tDescription:             pulumi.String(\"Password for project-level NTLM\"),\n\t\t\tOrgId:                   pulumi.String(\"default\"),\n\t\t\tProjectId:               pulumi.String(\"winrm_support_terraform\"),\n\t\t\tSecretManagerIdentifier: pulumi.String(\"harnessSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Inline\"),\n\t\t\tValue:                   pulumi.String(\"project_ntlm_pass\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewSecretWinrm(ctx, \"project_ntlm\", \u0026platform.SecretWinrmArgs{\n\t\t\tIdentifier:  pulumi.String(\"proj_ntlm_winrm_v3\"),\n\t\t\tName:        pulumi.String(\"Project NTLM WinRM v3\"),\n\t\t\tDescription: pulumi.String(\"Project-level WinRM with NTLM\"),\n\t\t\tOrgId:       pulumi.String(\"default\"),\n\t\t\tProjectId:   pulumi.String(\"winrm_support_terraform\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"scope:project\"),\n\t\t\t\tpulumi.String(\"auth:ntlm\"),\n\t\t\t},\n\t\t\tPort: pulumi.Int(5986),\n\t\t\tNtlm: \u0026platform.SecretWinrmNtlmArgs{\n\t\t\t\tDomain:        pulumi.String(\"project.example.com\"),\n\t\t\t\tUsername:      pulumi.String(\"projectadmin\"),\n\t\t\t\tPasswordRef:   projectNtlmPassword.ID(),\n\t\t\t\tUseSsl:        pulumi.Bool(true),\n\t\t\t\tSkipCertCheck: pulumi.Bool(false),\n\t\t\t\tUseNoProfile:  pulumi.Bool(false),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// 8. Project-level Kerberos with KeyTab\n\t\t_, err = platform.NewSecretWinrm(ctx, \"project_kerberos_keytab\", \u0026platform.SecretWinrmArgs{\n\t\t\tIdentifier:  pulumi.String(\"proj_kerb_keytab_v3\"),\n\t\t\tName:        pulumi.String(\"Project Kerberos KeyTab v3\"),\n\t\t\tDescription: pulumi.String(\"Project-level WinRM with Kerberos KeyTab\"),\n\t\t\tOrgId:       pulumi.String(\"default\"),\n\t\t\tProjectId:   pulumi.String(\"winrm_support_terraform\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"scope:project\"),\n\t\t\t\tpulumi.String(\"auth:kerberos-keytab\"),\n\t\t\t},\n\t\t\tPort: pulumi.Int(5986),\n\t\t\tKerberos: \u0026platform.SecretWinrmKerberosArgs{\n\t\t\t\tPrincipal:           pulumi.String(\"projectservice@EXAMPLE.COM\"),\n\t\t\t\tRealm:               pulumi.String(\"EXAMPLE.COM\"),\n\t\t\t\tTgtGenerationMethod: pulumi.String(\"KeyTabFilePath\"),\n\t\t\t\tUseSsl:              pulumi.Bool(false),\n\t\t\t\tSkipCertCheck:       pulumi.Bool(false),\n\t\t\t\tUseNoProfile:        pulumi.Bool(false),\n\t\t\t\tTgtKeyTabFilePathSpec: \u0026platform.SecretWinrmKerberosTgtKeyTabFilePathSpecArgs{\n\t\t\t\t\tKeyPath: pulumi.String(\"/etc/project.keytab\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// 9. Project-level Kerberos with Password\n\t\tprojectKerberosPassword, err := platform.NewSecretText(ctx, \"project_kerberos_password\", \u0026platform.SecretTextArgs{\n\t\t\tIdentifier:              pulumi.String(\"proj_kerb_pass_v3\"),\n\t\t\tName:                    pulumi.String(\"proj_kerb_pass_v3\"),\n\t\t\tDescription:             pulumi.String(\"Password for project-level Kerberos\"),\n\t\t\tOrgId:                   pulumi.String(\"default\"),\n\t\t\tProjectId:               pulumi.String(\"winrm_support_terraform\"),\n\t\t\tSecretManagerIdentifier: pulumi.String(\"harnessSecretManager\"),\n\t\t\tValueType:               pulumi.String(\"Inline\"),\n\t\t\tValue:                   pulumi.String(\"project_kerberos_pass\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewSecretWinrm(ctx, \"project_kerberos_password\", \u0026platform.SecretWinrmArgs{\n\t\t\tIdentifier:  pulumi.String(\"proj_kerb_winrm_v3\"),\n\t\t\tName:        pulumi.String(\"Project Kerberos WinRM v3\"),\n\t\t\tDescription: pulumi.String(\"Project-level WinRM with Kerberos Password\"),\n\t\t\tOrgId:       pulumi.String(\"default\"),\n\t\t\tProjectId:   pulumi.String(\"winrm_support_terraform\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"scope:project\"),\n\t\t\t\tpulumi.String(\"auth:kerberos-password\"),\n\t\t\t},\n\t\t\tPort: pulumi.Int(5986),\n\t\t\tKerberos: \u0026platform.SecretWinrmKerberosArgs{\n\t\t\t\tPrincipal:           pulumi.String(\"projectuser@EXAMPLE.COM\"),\n\t\t\t\tRealm:               pulumi.String(\"EXAMPLE.COM\"),\n\t\t\t\tTgtGenerationMethod: pulumi.String(\"Password\"),\n\t\t\t\tUseSsl:              pulumi.Bool(false),\n\t\t\t\tSkipCertCheck:       pulumi.Bool(true),\n\t\t\t\tUseNoProfile:        pulumi.Bool(true),\n\t\t\t\tTgtPasswordSpec: \u0026platform.SecretWinrmKerberosTgtPasswordSpecArgs{\n\t\t\t\t\tPasswordRef: projectKerberosPassword.ID(),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.SecretText;\nimport com.pulumi.harness.platform.SecretTextArgs;\nimport com.pulumi.harness.platform.SecretWinrm;\nimport com.pulumi.harness.platform.SecretWinrmArgs;\nimport com.pulumi.harness.platform.inputs.SecretWinrmNtlmArgs;\nimport com.pulumi.harness.platform.inputs.SecretWinrmKerberosArgs;\nimport com.pulumi.harness.platform.inputs.SecretWinrmKerberosTgtKeyTabFilePathSpecArgs;\nimport com.pulumi.harness.platform.inputs.SecretWinrmKerberosTgtPasswordSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // ============================================================================\n        // ACCOUNT LEVEL TESTS (3 scenarios)\n        // ============================================================================\n        // 1. Account-level NTLM\n        var accountNtlmPassword = new SecretText(\"accountNtlmPassword\", SecretTextArgs.builder()\n            .identifier(\"account_ntlm_password_v3\")\n            .name(\"account_ntlm_password_v3\")\n            .description(\"Password for account-level NTLM\")\n            .secretManagerIdentifier(\"harnessSecretManager\")\n            .valueType(\"Inline\")\n            .value(\"account_ntlm_pass\")\n            .build());\n\n        var accountNtlm = new SecretWinrm(\"accountNtlm\", SecretWinrmArgs.builder()\n            .identifier(\"account_ntlm_v3\")\n            .name(\"Account NTLM v3\")\n            .description(\"Account-level WinRM with NTLM\")\n            .tags(            \n                \"scope:account\",\n                \"auth:ntlm\")\n            .port(5986)\n            .ntlm(SecretWinrmNtlmArgs.builder()\n                .domain(\"example.com\")\n                .username(\"admin\")\n                .passwordRef(accountNtlmPassword.id().applyValue(_id -\u003e String.format(\"account.%s\", _id)))\n                .useSsl(true)\n                .skipCertCheck(false)\n                .useNoProfile(true)\n                .build())\n            .build());\n\n        // 2. Account-level Kerberos with KeyTab\n        var accountKerberosKeytab = new SecretWinrm(\"accountKerberosKeytab\", SecretWinrmArgs.builder()\n            .identifier(\"account_kerberos_keytab_v3\")\n            .name(\"Account Kerberos KeyTab v3\")\n            .description(\"Account-level WinRM with Kerberos KeyTab\")\n            .tags(            \n                \"scope:account\",\n                \"auth:kerberos-keytab\")\n            .port(5986)\n            .kerberos(SecretWinrmKerberosArgs.builder()\n                .principal(\"service@EXAMPLE.COM\")\n                .realm(\"EXAMPLE.COM\")\n                .tgtGenerationMethod(\"KeyTabFilePath\")\n                .useSsl(true)\n                .skipCertCheck(true)\n                .useNoProfile(true)\n                .tgtKeyTabFilePathSpec(SecretWinrmKerberosTgtKeyTabFilePathSpecArgs.builder()\n                    .keyPath(\"/etc/krb5.keytab\")\n                    .build())\n                .build())\n            .build());\n\n        // 3. Account-level Kerberos with Password\n        var accountKerberosPassword1 = new SecretText(\"accountKerberosPassword1\", SecretTextArgs.builder()\n            .identifier(\"account_kerb_pass_20251111\")\n            .name(\"account_kerb_pass_20251111\")\n            .description(\"Password for account-level Kerberos\")\n            .secretManagerIdentifier(\"harnessSecretManager\")\n            .valueType(\"Inline\")\n            .value(\"account_kerberos_pass\")\n            .build());\n\n        var accountKerberosPassword1SecretWinrm = new SecretWinrm(\"accountKerberosPassword1SecretWinrm\", SecretWinrmArgs.builder()\n            .identifier(\"account_kerb_winrm_20251111\")\n            .name(\"Account Kerberos WinRM 20251111\")\n            .description(\"Account-level WinRM with Kerberos Password\")\n            .tags(            \n                \"scope:account\",\n                \"auth:kerberos-password\")\n            .port(5986)\n            .kerberos(SecretWinrmKerberosArgs.builder()\n                .principal(\"user@EXAMPLE.COM\")\n                .realm(\"EXAMPLE.COM\")\n                .tgtGenerationMethod(\"Password\")\n                .useSsl(true)\n                .skipCertCheck(false)\n                .useNoProfile(true)\n                .tgtPasswordSpec(SecretWinrmKerberosTgtPasswordSpecArgs.builder()\n                    .passwordRef(accountKerberosPassword1.id().applyValue(_id -\u003e String.format(\"account.%s\", _id)))\n                    .build())\n                .build())\n            .build());\n\n        // ============================================================================\n        // ORGANIZATION LEVEL TESTS (3 scenarios)\n        // ============================================================================\n        // 4. Org-level NTLM\n        var orgNtlmPassword = new SecretText(\"orgNtlmPassword\", SecretTextArgs.builder()\n            .identifier(\"org_ntlm_password_v3\")\n            .name(\"org_ntlm_password_v3\")\n            .description(\"Password for org-level NTLM\")\n            .orgId(\"default\")\n            .secretManagerIdentifier(\"harnessSecretManager\")\n            .valueType(\"Inline\")\n            .value(\"org_ntlm_pass\")\n            .build());\n\n        var orgNtlm = new SecretWinrm(\"orgNtlm\", SecretWinrmArgs.builder()\n            .identifier(\"org_ntlm_v3\")\n            .name(\"Org NTLM v3\")\n            .description(\"Org-level WinRM with NTLM\")\n            .orgId(\"default\")\n            .tags(            \n                \"scope:org\",\n                \"auth:ntlm\")\n            .port(5985)\n            .ntlm(SecretWinrmNtlmArgs.builder()\n                .domain(\"org.example.com\")\n                .username(\"orgadmin\")\n                .passwordRef(orgNtlmPassword.id().applyValue(_id -\u003e String.format(\"org.%s\", _id)))\n                .useSsl(false)\n                .skipCertCheck(false)\n                .useNoProfile(true)\n                .build())\n            .build());\n\n        // 5. Org-level Kerberos with KeyTab\n        var orgKerberosKeytab = new SecretWinrm(\"orgKerberosKeytab\", SecretWinrmArgs.builder()\n            .identifier(\"org_kerberos_keytab_v3\")\n            .name(\"Org Kerberos KeyTab v3\")\n            .description(\"Org-level WinRM with Kerberos KeyTab\")\n            .orgId(\"default\")\n            .tags(            \n                \"scope:org\",\n                \"auth:kerberos-keytab\")\n            .port(5986)\n            .kerberos(SecretWinrmKerberosArgs.builder()\n                .principal(\"orgservice@EXAMPLE.COM\")\n                .realm(\"EXAMPLE.COM\")\n                .tgtGenerationMethod(\"KeyTabFilePath\")\n                .useSsl(true)\n                .skipCertCheck(true)\n                .useNoProfile(true)\n                .tgtKeyTabFilePathSpec(SecretWinrmKerberosTgtKeyTabFilePathSpecArgs.builder()\n                    .keyPath(\"/etc/org.keytab\")\n                    .build())\n                .build())\n            .build());\n\n        // 6. Org-level Kerberos with Password\n        var orgKerberosPassword = new SecretText(\"orgKerberosPassword\", SecretTextArgs.builder()\n            .identifier(\"org_kerb_pass_v3\")\n            .name(\"org_kerb_pass_v3\")\n            .description(\"Password for org-level Kerberos\")\n            .orgId(\"default\")\n            .secretManagerIdentifier(\"harnessSecretManager\")\n            .valueType(\"Inline\")\n            .value(\"org_kerberos_pass\")\n            .build());\n\n        var orgKerberosPasswordSecretWinrm = new SecretWinrm(\"orgKerberosPasswordSecretWinrm\", SecretWinrmArgs.builder()\n            .identifier(\"org_kerb_winrm_v3\")\n            .name(\"Org Kerberos WinRM v3\")\n            .description(\"Org-level WinRM with Kerberos Password\")\n            .orgId(\"default\")\n            .tags(            \n                \"scope:org\",\n                \"auth:kerberos-password\")\n            .port(5986)\n            .kerberos(SecretWinrmKerberosArgs.builder()\n                .principal(\"orguser@EXAMPLE.COM\")\n                .realm(\"EXAMPLE.COM\")\n                .tgtGenerationMethod(\"Password\")\n                .useSsl(true)\n                .skipCertCheck(false)\n                .useNoProfile(true)\n                .tgtPasswordSpec(SecretWinrmKerberosTgtPasswordSpecArgs.builder()\n                    .passwordRef(orgKerberosPassword.id().applyValue(_id -\u003e String.format(\"org.%s\", _id)))\n                    .build())\n                .build())\n            .build());\n\n        // ============================================================================\n        // PROJECT LEVEL TESTS (3 scenarios)\n        // ============================================================================\n        // 7. Project-level NTLM\n        var projectNtlmPassword = new SecretText(\"projectNtlmPassword\", SecretTextArgs.builder()\n            .identifier(\"proj_ntlm_pass_v3\")\n            .name(\"proj_ntlm_pass_v3\")\n            .description(\"Password for project-level NTLM\")\n            .orgId(\"default\")\n            .projectId(\"winrm_support_terraform\")\n            .secretManagerIdentifier(\"harnessSecretManager\")\n            .valueType(\"Inline\")\n            .value(\"project_ntlm_pass\")\n            .build());\n\n        var projectNtlm = new SecretWinrm(\"projectNtlm\", SecretWinrmArgs.builder()\n            .identifier(\"proj_ntlm_winrm_v3\")\n            .name(\"Project NTLM WinRM v3\")\n            .description(\"Project-level WinRM with NTLM\")\n            .orgId(\"default\")\n            .projectId(\"winrm_support_terraform\")\n            .tags(            \n                \"scope:project\",\n                \"auth:ntlm\")\n            .port(5986)\n            .ntlm(SecretWinrmNtlmArgs.builder()\n                .domain(\"project.example.com\")\n                .username(\"projectadmin\")\n                .passwordRef(projectNtlmPassword.id())\n                .useSsl(true)\n                .skipCertCheck(false)\n                .useNoProfile(false)\n                .build())\n            .build());\n\n        // 8. Project-level Kerberos with KeyTab\n        var projectKerberosKeytab = new SecretWinrm(\"projectKerberosKeytab\", SecretWinrmArgs.builder()\n            .identifier(\"proj_kerb_keytab_v3\")\n            .name(\"Project Kerberos KeyTab v3\")\n            .description(\"Project-level WinRM with Kerberos KeyTab\")\n            .orgId(\"default\")\n            .projectId(\"winrm_support_terraform\")\n            .tags(            \n                \"scope:project\",\n                \"auth:kerberos-keytab\")\n            .port(5986)\n            .kerberos(SecretWinrmKerberosArgs.builder()\n                .principal(\"projectservice@EXAMPLE.COM\")\n                .realm(\"EXAMPLE.COM\")\n                .tgtGenerationMethod(\"KeyTabFilePath\")\n                .useSsl(false)\n                .skipCertCheck(false)\n                .useNoProfile(false)\n                .tgtKeyTabFilePathSpec(SecretWinrmKerberosTgtKeyTabFilePathSpecArgs.builder()\n                    .keyPath(\"/etc/project.keytab\")\n                    .build())\n                .build())\n            .build());\n\n        // 9. Project-level Kerberos with Password\n        var projectKerberosPassword = new SecretText(\"projectKerberosPassword\", SecretTextArgs.builder()\n            .identifier(\"proj_kerb_pass_v3\")\n            .name(\"proj_kerb_pass_v3\")\n            .description(\"Password for project-level Kerberos\")\n            .orgId(\"default\")\n            .projectId(\"winrm_support_terraform\")\n            .secretManagerIdentifier(\"harnessSecretManager\")\n            .valueType(\"Inline\")\n            .value(\"project_kerberos_pass\")\n            .build());\n\n        var projectKerberosPasswordSecretWinrm = new SecretWinrm(\"projectKerberosPasswordSecretWinrm\", SecretWinrmArgs.builder()\n            .identifier(\"proj_kerb_winrm_v3\")\n            .name(\"Project Kerberos WinRM v3\")\n            .description(\"Project-level WinRM with Kerberos Password\")\n            .orgId(\"default\")\n            .projectId(\"winrm_support_terraform\")\n            .tags(            \n                \"scope:project\",\n                \"auth:kerberos-password\")\n            .port(5986)\n            .kerberos(SecretWinrmKerberosArgs.builder()\n                .principal(\"projectuser@EXAMPLE.COM\")\n                .realm(\"EXAMPLE.COM\")\n                .tgtGenerationMethod(\"Password\")\n                .useSsl(false)\n                .skipCertCheck(true)\n                .useNoProfile(true)\n                .tgtPasswordSpec(SecretWinrmKerberosTgtPasswordSpecArgs.builder()\n                    .passwordRef(projectKerberosPassword.id())\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ============================================================================\n  # ACCOUNT LEVEL TESTS (3 scenarios)\n  # ============================================================================\n\n  # 1. Account-level NTLM\n  accountNtlmPassword:\n    type: harness:platform:SecretText\n    name: account_ntlm_password\n    properties:\n      identifier: account_ntlm_password_v3\n      name: account_ntlm_password_v3\n      description: Password for account-level NTLM\n      secretManagerIdentifier: harnessSecretManager\n      valueType: Inline\n      value: account_ntlm_pass\n  accountNtlm:\n    type: harness:platform:SecretWinrm\n    name: account_ntlm\n    properties:\n      identifier: account_ntlm_v3\n      name: Account NTLM v3\n      description: Account-level WinRM with NTLM\n      tags:\n        - scope:account\n        - auth:ntlm\n      port: 5986\n      ntlm:\n        domain: example.com\n        username: admin\n        passwordRef: account.${accountNtlmPassword.id}\n        useSsl: true\n        skipCertCheck: false\n        useNoProfile: true\n  # 2. Account-level Kerberos with KeyTab\n  accountKerberosKeytab:\n    type: harness:platform:SecretWinrm\n    name: account_kerberos_keytab\n    properties:\n      identifier: account_kerberos_keytab_v3\n      name: Account Kerberos KeyTab v3\n      description: Account-level WinRM with Kerberos KeyTab\n      tags:\n        - scope:account\n        - auth:kerberos-keytab\n      port: 5986\n      kerberos:\n        principal: service@EXAMPLE.COM\n        realm: EXAMPLE.COM\n        tgtGenerationMethod: KeyTabFilePath\n        useSsl: true\n        skipCertCheck: true\n        useNoProfile: true\n        tgtKeyTabFilePathSpec:\n          keyPath: /etc/krb5.keytab\n  # 3. Account-level Kerberos with Password\n  accountKerberosPassword1:\n    type: harness:platform:SecretText\n    name: account_kerberos_password_1\n    properties:\n      identifier: account_kerb_pass_20251111\n      name: account_kerb_pass_20251111\n      description: Password for account-level Kerberos\n      secretManagerIdentifier: harnessSecretManager\n      valueType: Inline\n      value: account_kerberos_pass\n  accountKerberosPassword1SecretWinrm: # ============================================================================\n  # ORGANIZATION LEVEL TESTS (3 scenarios)\n  # ============================================================================\n    type: harness:platform:SecretWinrm\n    name: account_kerberos_password_1\n    properties:\n      identifier: account_kerb_winrm_20251111\n      name: Account Kerberos WinRM 20251111\n      description: Account-level WinRM with Kerberos Password\n      tags:\n        - scope:account\n        - auth:kerberos-password\n      port: 5986\n      kerberos:\n        principal: user@EXAMPLE.COM\n        realm: EXAMPLE.COM\n        tgtGenerationMethod: Password\n        useSsl: true\n        skipCertCheck: false\n        useNoProfile: true\n        tgtPasswordSpec:\n          passwordRef: account.${accountKerberosPassword1.id}\n  # 4. Org-level NTLM\n  orgNtlmPassword:\n    type: harness:platform:SecretText\n    name: org_ntlm_password\n    properties:\n      identifier: org_ntlm_password_v3\n      name: org_ntlm_password_v3\n      description: Password for org-level NTLM\n      orgId: default\n      secretManagerIdentifier: harnessSecretManager\n      valueType: Inline\n      value: org_ntlm_pass\n  orgNtlm:\n    type: harness:platform:SecretWinrm\n    name: org_ntlm\n    properties:\n      identifier: org_ntlm_v3\n      name: Org NTLM v3\n      description: Org-level WinRM with NTLM\n      orgId: default\n      tags:\n        - scope:org\n        - auth:ntlm\n      port: 5985\n      ntlm:\n        domain: org.example.com\n        username: orgadmin\n        passwordRef: org.${orgNtlmPassword.id}\n        useSsl: false\n        skipCertCheck: false\n        useNoProfile: true\n  # 5. Org-level Kerberos with KeyTab\n  orgKerberosKeytab:\n    type: harness:platform:SecretWinrm\n    name: org_kerberos_keytab\n    properties:\n      identifier: org_kerberos_keytab_v3\n      name: Org Kerberos KeyTab v3\n      description: Org-level WinRM with Kerberos KeyTab\n      orgId: default\n      tags:\n        - scope:org\n        - auth:kerberos-keytab\n      port: 5986\n      kerberos:\n        principal: orgservice@EXAMPLE.COM\n        realm: EXAMPLE.COM\n        tgtGenerationMethod: KeyTabFilePath\n        useSsl: true\n        skipCertCheck: true\n        useNoProfile: true\n        tgtKeyTabFilePathSpec:\n          keyPath: /etc/org.keytab\n  # 6. Org-level Kerberos with Password\n  orgKerberosPassword:\n    type: harness:platform:SecretText\n    name: org_kerberos_password\n    properties:\n      identifier: org_kerb_pass_v3\n      name: org_kerb_pass_v3\n      description: Password for org-level Kerberos\n      orgId: default\n      secretManagerIdentifier: harnessSecretManager\n      valueType: Inline\n      value: org_kerberos_pass\n  orgKerberosPasswordSecretWinrm: # ============================================================================\n  # PROJECT LEVEL TESTS (3 scenarios)\n  # ============================================================================\n    type: harness:platform:SecretWinrm\n    name: org_kerberos_password\n    properties:\n      identifier: org_kerb_winrm_v3\n      name: Org Kerberos WinRM v3\n      description: Org-level WinRM with Kerberos Password\n      orgId: default\n      tags:\n        - scope:org\n        - auth:kerberos-password\n      port: 5986\n      kerberos:\n        principal: orguser@EXAMPLE.COM\n        realm: EXAMPLE.COM\n        tgtGenerationMethod: Password\n        useSsl: true\n        skipCertCheck: false\n        useNoProfile: true\n        tgtPasswordSpec:\n          passwordRef: org.${orgKerberosPassword.id}\n  # 7. Project-level NTLM\n  projectNtlmPassword:\n    type: harness:platform:SecretText\n    name: project_ntlm_password\n    properties:\n      identifier: proj_ntlm_pass_v3\n      name: proj_ntlm_pass_v3\n      description: Password for project-level NTLM\n      orgId: default\n      projectId: winrm_support_terraform\n      secretManagerIdentifier: harnessSecretManager\n      valueType: Inline\n      value: project_ntlm_pass\n  projectNtlm:\n    type: harness:platform:SecretWinrm\n    name: project_ntlm\n    properties:\n      identifier: proj_ntlm_winrm_v3\n      name: Project NTLM WinRM v3\n      description: Project-level WinRM with NTLM\n      orgId: default\n      projectId: winrm_support_terraform\n      tags:\n        - scope:project\n        - auth:ntlm\n      port: 5986\n      ntlm:\n        domain: project.example.com\n        username: projectadmin\n        passwordRef: ${projectNtlmPassword.id}\n        useSsl: true\n        skipCertCheck: false\n        useNoProfile: false\n  # 8. Project-level Kerberos with KeyTab\n  projectKerberosKeytab:\n    type: harness:platform:SecretWinrm\n    name: project_kerberos_keytab\n    properties:\n      identifier: proj_kerb_keytab_v3\n      name: Project Kerberos KeyTab v3\n      description: Project-level WinRM with Kerberos KeyTab\n      orgId: default\n      projectId: winrm_support_terraform\n      tags:\n        - scope:project\n        - auth:kerberos-keytab\n      port: 5986\n      kerberos:\n        principal: projectservice@EXAMPLE.COM\n        realm: EXAMPLE.COM\n        tgtGenerationMethod: KeyTabFilePath\n        useSsl: false\n        skipCertCheck: false\n        useNoProfile: false\n        tgtKeyTabFilePathSpec:\n          keyPath: /etc/project.keytab\n  # 9. Project-level Kerberos with Password\n  projectKerberosPassword:\n    type: harness:platform:SecretText\n    name: project_kerberos_password\n    properties:\n      identifier: proj_kerb_pass_v3\n      name: proj_kerb_pass_v3\n      description: Password for project-level Kerberos\n      orgId: default\n      projectId: winrm_support_terraform\n      secretManagerIdentifier: harnessSecretManager\n      valueType: Inline\n      value: project_kerberos_pass\n  projectKerberosPasswordSecretWinrm:\n    type: harness:platform:SecretWinrm\n    name: project_kerberos_password\n    properties:\n      identifier: proj_kerb_winrm_v3\n      name: Project Kerberos WinRM v3\n      description: Project-level WinRM with Kerberos Password\n      orgId: default\n      projectId: winrm_support_terraform\n      tags:\n        - scope:project\n        - auth:kerberos-password\n      port: 5986\n      kerberos:\n        principal: projectuser@EXAMPLE.COM\n        realm: EXAMPLE.COM\n        tgtGenerationMethod: Password\n        useSsl: false\n        skipCertCheck: true\n        useNoProfile: true\n        tgtPasswordSpec:\n          passwordRef: ${projectKerberosPassword.id}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level WinRM credential\n\n```sh\n$ pulumi import harness:platform/secretWinrm:SecretWinrm example \u003cwinrm_credential_id\u003e\n```\n\nImport organization level WinRM credential\n\n```sh\n$ pulumi import harness:platform/secretWinrm:SecretWinrm example \u003corg_id\u003e/\u003cwinrm_credential_id\u003e\n```\n\nImport project level WinRM credential\n\n```sh\n$ pulumi import harness:platform/secretWinrm:SecretWinrm example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cwinrm_credential_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"kerberos":{"$ref":"#/types/harness:platform/SecretWinrmKerberos:SecretWinrmKerberos","description":"Kerberos authentication scheme\n"},"name":{"type":"string","description":"Name of the resource.\n"},"ntlm":{"$ref":"#/types/harness:platform/SecretWinrmNtlm:SecretWinrmNtlm","description":"NTLM authentication scheme\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"port":{"type":"integer","description":"WinRM port. Default is 5986 for HTTPS, 5985 for HTTP.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["identifier","name"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"kerberos":{"$ref":"#/types/harness:platform/SecretWinrmKerberos:SecretWinrmKerberos","description":"Kerberos authentication scheme\n"},"name":{"type":"string","description":"Name of the resource.\n"},"ntlm":{"$ref":"#/types/harness:platform/SecretWinrmNtlm:SecretWinrmNtlm","description":"NTLM authentication scheme\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"port":{"type":"integer","description":"WinRM port. Default is 5986 for HTTPS, 5985 for HTTP.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering SecretWinrm resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"kerberos":{"$ref":"#/types/harness:platform/SecretWinrmKerberos:SecretWinrmKerberos","description":"Kerberos authentication scheme\n"},"name":{"type":"string","description":"Name of the resource.\n"},"ntlm":{"$ref":"#/types/harness:platform/SecretWinrmNtlm:SecretWinrmNtlm","description":"NTLM authentication scheme\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"port":{"type":"integer","description":"WinRM port. Default is 5986 for HTTPS, 5985 for HTTP.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/service:Service":{"description":"Resource for creating a Harness project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.Service(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    gitDetails: {\n        branchName: \"branchName\",\n        commitMessage: \"commitMessage\",\n        filePath: \"filePath\",\n        connectorRef: \"connectorRef\",\n        storeType: \"REMOTE\",\n        repoName: \"repoName\",\n    },\n    yaml: `service:\n  name: name\n  identifier: identifier\n  serviceDefinition:\n    spec:\n      manifests:\n        - manifest:\n            identifier: manifest1\n            type: K8sManifest\n            spec:\n              store:\n                type: Github\n                spec:\n                  connectorRef: \u003c+input\u003e\n                  gitFetchType: Branch\n                  paths:\n                    - files1\n                  repoName: \u003c+input\u003e\n                  branch: master\n              skipResourceVersioning: false\n      configFiles:\n        - configFile:\n            identifier: configFile1\n            spec:\n              store:\n                type: Harness\n                spec:\n                  files:\n                    - \u003c+org.description\u003e\n      variables:\n        - name: var1\n          type: String\n          value: val1\n        - name: var2\n          type: String\n          value: val2\n    type: Kubernetes\n  gitOpsEnabled: false\n`,\n});\n//## Importing Service from Git\nconst test = new harness.platform.Service(\"test\", {\n    identifier: \"id\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    importFromGit: true,\n    gitDetails: {\n        storeType: \"REMOTE\",\n        connectorRef: \"account.DoNotDeleteGitX\",\n        repoName: \"pcf_practice\",\n        filePath: \".harness/accountService.yaml\",\n        branch: \"main\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.Service(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    git_details={\n        \"branch_name\": \"branchName\",\n        \"commit_message\": \"commitMessage\",\n        \"file_path\": \"filePath\",\n        \"connector_ref\": \"connectorRef\",\n        \"store_type\": \"REMOTE\",\n        \"repo_name\": \"repoName\",\n    },\n    yaml=\"\"\"service:\n  name: name\n  identifier: identifier\n  serviceDefinition:\n    spec:\n      manifests:\n        - manifest:\n            identifier: manifest1\n            type: K8sManifest\n            spec:\n              store:\n                type: Github\n                spec:\n                  connectorRef: \u003c+input\u003e\n                  gitFetchType: Branch\n                  paths:\n                    - files1\n                  repoName: \u003c+input\u003e\n                  branch: master\n              skipResourceVersioning: false\n      configFiles:\n        - configFile:\n            identifier: configFile1\n            spec:\n              store:\n                type: Harness\n                spec:\n                  files:\n                    - \u003c+org.description\u003e\n      variables:\n        - name: var1\n          type: String\n          value: val1\n        - name: var2\n          type: String\n          value: val2\n    type: Kubernetes\n  gitOpsEnabled: false\n\"\"\")\n### Importing Service from Git\ntest = harness.platform.Service(\"test\",\n    identifier=\"id\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    import_from_git=True,\n    git_details={\n        \"store_type\": \"REMOTE\",\n        \"connector_ref\": \"account.DoNotDeleteGitX\",\n        \"repo_name\": \"pcf_practice\",\n        \"file_path\": \".harness/accountService.yaml\",\n        \"branch\": \"main\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.Service(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        GitDetails = new Harness.Platform.Inputs.ServiceGitDetailsArgs\n        {\n            BranchName = \"branchName\",\n            CommitMessage = \"commitMessage\",\n            FilePath = \"filePath\",\n            ConnectorRef = \"connectorRef\",\n            StoreType = \"REMOTE\",\n            RepoName = \"repoName\",\n        },\n        Yaml = @\"service:\n  name: name\n  identifier: identifier\n  serviceDefinition:\n    spec:\n      manifests:\n        - manifest:\n            identifier: manifest1\n            type: K8sManifest\n            spec:\n              store:\n                type: Github\n                spec:\n                  connectorRef: \u003c+input\u003e\n                  gitFetchType: Branch\n                  paths:\n                    - files1\n                  repoName: \u003c+input\u003e\n                  branch: master\n              skipResourceVersioning: false\n      configFiles:\n        - configFile:\n            identifier: configFile1\n            spec:\n              store:\n                type: Harness\n                spec:\n                  files:\n                    - \u003c+org.description\u003e\n      variables:\n        - name: var1\n          type: String\n          value: val1\n        - name: var2\n          type: String\n          value: val2\n    type: Kubernetes\n  gitOpsEnabled: false\n\",\n    });\n\n    //## Importing Service from Git\n    var test = new Harness.Platform.Service(\"test\", new()\n    {\n        Identifier = \"id\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        ImportFromGit = true,\n        GitDetails = new Harness.Platform.Inputs.ServiceGitDetailsArgs\n        {\n            StoreType = \"REMOTE\",\n            ConnectorRef = \"account.DoNotDeleteGitX\",\n            RepoName = \"pcf_practice\",\n            FilePath = \".harness/accountService.yaml\",\n            Branch = \"main\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewService(ctx, \"example\", \u0026platform.ServiceArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tOrgId:       pulumi.String(\"org_id\"),\n\t\t\tProjectId:   pulumi.String(\"project_id\"),\n\t\t\tGitDetails: \u0026platform.ServiceGitDetailsArgs{\n\t\t\t\tBranchName:    \"branchName\",\n\t\t\t\tCommitMessage: pulumi.String(\"commitMessage\"),\n\t\t\t\tFilePath:      pulumi.String(\"filePath\"),\n\t\t\t\tConnectorRef:  pulumi.String(\"connectorRef\"),\n\t\t\t\tStoreType:     pulumi.String(\"REMOTE\"),\n\t\t\t\tRepoName:      pulumi.String(\"repoName\"),\n\t\t\t},\n\t\t\tYaml: pulumi.String(`service:\n  name: name\n  identifier: identifier\n  serviceDefinition:\n    spec:\n      manifests:\n        - manifest:\n            identifier: manifest1\n            type: K8sManifest\n            spec:\n              store:\n                type: Github\n                spec:\n                  connectorRef: \u003c+input\u003e\n                  gitFetchType: Branch\n                  paths:\n                    - files1\n                  repoName: \u003c+input\u003e\n                  branch: master\n              skipResourceVersioning: false\n      configFiles:\n        - configFile:\n            identifier: configFile1\n            spec:\n              store:\n                type: Harness\n                spec:\n                  files:\n                    - \u003c+org.description\u003e\n      variables:\n        - name: var1\n          type: String\n          value: val1\n        - name: var2\n          type: String\n          value: val2\n    type: Kubernetes\n  gitOpsEnabled: false\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ## Importing Service from Git\n\t\t_, err = platform.NewService(ctx, \"test\", \u0026platform.ServiceArgs{\n\t\t\tIdentifier:    pulumi.String(\"id\"),\n\t\t\tName:          pulumi.String(\"name\"),\n\t\t\tOrgId:         pulumi.String(\"org_id\"),\n\t\t\tProjectId:     pulumi.String(\"project_id\"),\n\t\t\tImportFromGit: pulumi.Bool(true),\n\t\t\tGitDetails: \u0026platform.ServiceGitDetailsArgs{\n\t\t\t\tStoreType:    pulumi.String(\"REMOTE\"),\n\t\t\t\tConnectorRef: pulumi.String(\"account.DoNotDeleteGitX\"),\n\t\t\t\tRepoName:     pulumi.String(\"pcf_practice\"),\n\t\t\t\tFilePath:     pulumi.String(\".harness/accountService.yaml\"),\n\t\t\t\tBranch:       pulumi.String(\"main\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Service;\nimport com.pulumi.harness.platform.ServiceArgs;\nimport com.pulumi.harness.platform.inputs.ServiceGitDetailsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Service(\"example\", ServiceArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .gitDetails(ServiceGitDetailsArgs.builder()\n                .branchName(\"branchName\")\n                .commitMessage(\"commitMessage\")\n                .filePath(\"filePath\")\n                .connectorRef(\"connectorRef\")\n                .storeType(\"REMOTE\")\n                .repoName(\"repoName\")\n                .build())\n            .yaml(\"\"\"\nservice:\n  name: name\n  identifier: identifier\n  serviceDefinition:\n    spec:\n      manifests:\n        - manifest:\n            identifier: manifest1\n            type: K8sManifest\n            spec:\n              store:\n                type: Github\n                spec:\n                  connectorRef: \u003c+input\u003e\n                  gitFetchType: Branch\n                  paths:\n                    - files1\n                  repoName: \u003c+input\u003e\n                  branch: master\n              skipResourceVersioning: false\n      configFiles:\n        - configFile:\n            identifier: configFile1\n            spec:\n              store:\n                type: Harness\n                spec:\n                  files:\n                    - \u003c+org.description\u003e\n      variables:\n        - name: var1\n          type: String\n          value: val1\n        - name: var2\n          type: String\n          value: val2\n    type: Kubernetes\n  gitOpsEnabled: false\n            \"\"\")\n            .build());\n\n        //## Importing Service from Git\n        var test = new Service(\"test\", ServiceArgs.builder()\n            .identifier(\"id\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .importFromGit(true)\n            .gitDetails(ServiceGitDetailsArgs.builder()\n                .storeType(\"REMOTE\")\n                .connectorRef(\"account.DoNotDeleteGitX\")\n                .repoName(\"pcf_practice\")\n                .filePath(\".harness/accountService.yaml\")\n                .branch(\"main\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:Service\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      orgId: org_id\n      projectId: project_id\n      gitDetails:\n        branchName: branchName\n        commitMessage: commitMessage\n        filePath: filePath\n        connectorRef: connectorRef\n        storeType: REMOTE\n        repoName: repoName\n      yaml: |\n        service:\n          name: name\n          identifier: identifier\n          serviceDefinition:\n            spec:\n              manifests:\n                - manifest:\n                    identifier: manifest1\n                    type: K8sManifest\n                    spec:\n                      store:\n                        type: Github\n                        spec:\n                          connectorRef: \u003c+input\u003e\n                          gitFetchType: Branch\n                          paths:\n                            - files1\n                          repoName: \u003c+input\u003e\n                          branch: master\n                      skipResourceVersioning: false\n              configFiles:\n                - configFile:\n                    identifier: configFile1\n                    spec:\n                      store:\n                        type: Harness\n                        spec:\n                          files:\n                            - \u003c+org.description\u003e\n              variables:\n                - name: var1\n                  type: String\n                  value: val1\n                - name: var2\n                  type: String\n                  value: val2\n            type: Kubernetes\n          gitOpsEnabled: false\n  ### Importing Service from Git\n  test:\n    type: harness:platform:Service\n    properties:\n      identifier: id\n      name: name\n      orgId: org_id\n      projectId: project_id\n      importFromGit: 'true'\n      gitDetails:\n        storeType: REMOTE\n        connectorRef: account.DoNotDeleteGitX\n        repoName: pcf_practice\n        filePath: .harness/accountService.yaml\n        branch: main\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level service\n\n```sh\n$ pulumi import harness:platform/service:Service example \u003cservice_id\u003e\n```\n\nImport org level service\n\n```sh\n$ pulumi import harness:platform/service:Service example \u003corg_id\u003e/\u003cservice_id\u003e\n```\n\nImport project level service\n\n```sh\n$ pulumi import harness:platform/service:Service example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cservice_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"fetchResolvedYaml":{"type":"boolean","description":"to fetch resoled service yaml\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of service\n"},"gitDetails":{"$ref":"#/types/harness:platform/ServiceGitDetails:ServiceGitDetails","description":"Contains parameters related to Git Experience for remote entities\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"importFromGit":{"type":"boolean","description":"import service from git\n"},"isForceImport":{"type":"boolean","description":"force import service from remote even if same file path already exist\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"yaml":{"type":"string","description":"Service YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"required":["fetchResolvedYaml","forceDelete","gitDetails","identifier","importFromGit","isForceImport","name","yaml"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"fetchResolvedYaml":{"type":"boolean","description":"to fetch resoled service yaml\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of service\n"},"gitDetails":{"$ref":"#/types/harness:platform/ServiceGitDetails:ServiceGitDetails","description":"Contains parameters related to Git Experience for remote entities\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"importFromGit":{"type":"boolean","description":"import service from git\n"},"isForceImport":{"type":"boolean","description":"force import service from remote even if same file path already exist\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"yaml":{"type":"string","description":"Service YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering Service resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"fetchResolvedYaml":{"type":"boolean","description":"to fetch resoled service yaml\n"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of service\n"},"gitDetails":{"$ref":"#/types/harness:platform/ServiceGitDetails:ServiceGitDetails","description":"Contains parameters related to Git Experience for remote entities\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"importFromGit":{"type":"boolean","description":"import service from git\n"},"isForceImport":{"type":"boolean","description":"force import service from remote even if same file path already exist\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"yaml":{"type":"string","description":"Service YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"type":"object"}},"harness:platform/serviceAccount:ServiceAccount":{"description":"Resource for creating service account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.ServiceAccount(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    email: \"email@service.harness.io\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    accountId: \"account_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.ServiceAccount(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    email=\"email@service.harness.io\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    account_id=\"account_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.ServiceAccount(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Email = \"email@service.harness.io\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        AccountId = \"account_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewServiceAccount(ctx, \"example\", \u0026platform.ServiceAccountArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tEmail:       pulumi.String(\"email@service.harness.io\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tAccountId: pulumi.String(\"account_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.ServiceAccount;\nimport com.pulumi.harness.platform.ServiceAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new ServiceAccount(\"example\", ServiceAccountArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .email(\"email@service.harness.io\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .accountId(\"account_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:ServiceAccount\n    properties:\n      identifier: identifier\n      name: name\n      email: email@service.harness.io\n      description: test\n      tags:\n        - foo:bar\n      accountId: account_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level service account\n\n```sh\n$ pulumi import harness:platform/serviceAccount:ServiceAccount example \u003cservice_account_id\u003e\n```\n\nImport org level service account\n\n```sh\n$ pulumi import harness:platform/serviceAccount:ServiceAccount example \u003cord_id\u003e/\u003cservice_account_id\u003e\n```\n\nImport project level service account\n\n```sh\n$ pulumi import harness:platform/serviceAccount:ServiceAccount example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cservice_account_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"email":{"type":"string","description":"Email of the Service Account.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["accountId","email","identifier","name"],"inputProperties":{"accountId":{"type":"string","description":"Account Identifier for the Entity.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"email":{"type":"string","description":"Email of the Service Account.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["accountId","email","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceAccount resources.\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"email":{"type":"string","description":"Email of the Service Account.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/serviceNowConnector:ServiceNowConnector":{"description":"Resource for creating a Service Now connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level service now connector\n\n```sh\n$ pulumi import harness:platform/serviceNowConnector:ServiceNowConnector example \u003cconnector_id\u003e\n```\n\nImport org level service now connector\n\n```sh\n$ pulumi import harness:platform/serviceNowConnector:ServiceNowConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level service now connector\n\n```sh\n$ pulumi import harness:platform/serviceNowConnector:ServiceNowConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"auth":{"$ref":"#/types/harness:platform/ServiceNowConnectorAuth:ServiceNowConnectorAuth","description":"The credentials to use for the service now authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceNowUrl":{"type":"string","description":"URL of service now.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"required":["auth","identifier","name","passwordRef","serviceNowUrl","username","usernameRef"],"inputProperties":{"auth":{"$ref":"#/types/harness:platform/ServiceNowConnectorAuth:ServiceNowConnectorAuth","description":"The credentials to use for the service now authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceNowUrl":{"type":"string","description":"URL of service now.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"requiredInputs":["auth","identifier","serviceNowUrl"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceNowConnector resources.\n","properties":{"auth":{"$ref":"#/types/harness:platform/ServiceNowConnectorAuth:ServiceNowConnectorAuth","description":"The credentials to use for the service now authentication.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceNowUrl":{"type":"string","description":"URL of service now.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"username":{"type":"string","description":"Username to use for authentication.\n"},"usernameRef":{"type":"string","description":"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}.\n"}},"type":"object"}},"harness:platform/serviceOverridesV2:ServiceOverridesV2":{"description":"Resource for creating a Harness service override V2.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level service override\n\n```sh\n$ pulumi import harness:platform/serviceOverridesV2:ServiceOverridesV2 example \u003coverride_id\u003e\n```\n\nImport org level service override\n\n```sh\n$ pulumi import harness:platform/serviceOverridesV2:ServiceOverridesV2 example \u003corg_id\u003e/\u003coverride_id\u003e\n```\n\nImport project level service override\n\n```sh\n$ pulumi import harness:platform/serviceOverridesV2:ServiceOverridesV2 example \u003corg_id\u003e/\u003cproject_id\u003e/\u003coverride_id\u003e\n```\n\n","properties":{"clusterId":{"type":"string","description":"The cluster ID to which the overrides are associated.\n"},"envId":{"type":"string","description":"The environment ID to which the overrides are associated.\n"},"gitDetails":{"$ref":"#/types/harness:platform/ServiceOverridesV2GitDetails:ServiceOverridesV2GitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"The identifier of the override entity.\n"},"importFromGit":{"type":"boolean","description":"import override from git\n"},"infraId":{"type":"string","description":"The infrastructure ID to which the overrides are associated.\n"},"isForceImport":{"type":"boolean","description":"force import override from remote even if same file path already exist\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceId":{"type":"string","description":"The service ID to which the overrides applies.\n"},"type":{"type":"string","description":"The type of the overrides.\n"},"yaml":{"type":"string","description":"The yaml of the overrides spec object.\n"}},"required":["clusterId","envId","gitDetails","identifier","importFromGit","infraId","isForceImport","serviceId","type","yaml"],"inputProperties":{"clusterId":{"type":"string","description":"The cluster ID to which the overrides are associated.\n"},"envId":{"type":"string","description":"The environment ID to which the overrides are associated.\n"},"gitDetails":{"$ref":"#/types/harness:platform/ServiceOverridesV2GitDetails:ServiceOverridesV2GitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"The identifier of the override entity.\n"},"importFromGit":{"type":"boolean","description":"import override from git\n"},"infraId":{"type":"string","description":"The infrastructure ID to which the overrides are associated.\n"},"isForceImport":{"type":"boolean","description":"force import override from remote even if same file path already exist\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceId":{"type":"string","description":"The service ID to which the overrides applies.\n"},"type":{"type":"string","description":"The type of the overrides.\n"},"yaml":{"type":"string","description":"The yaml of the overrides spec object.\n"}},"requiredInputs":["envId","type"],"stateInputs":{"description":"Input properties used for looking up and filtering ServiceOverridesV2 resources.\n","properties":{"clusterId":{"type":"string","description":"The cluster ID to which the overrides are associated.\n"},"envId":{"type":"string","description":"The environment ID to which the overrides are associated.\n"},"gitDetails":{"$ref":"#/types/harness:platform/ServiceOverridesV2GitDetails:ServiceOverridesV2GitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"The identifier of the override entity.\n"},"importFromGit":{"type":"boolean","description":"import override from git\n"},"infraId":{"type":"string","description":"The infrastructure ID to which the overrides are associated.\n"},"isForceImport":{"type":"boolean","description":"force import override from remote even if same file path already exist\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceId":{"type":"string","description":"The service ID to which the overrides applies.\n"},"type":{"type":"string","description":"The type of the overrides.\n"},"yaml":{"type":"string","description":"The yaml of the overrides spec object.\n"}},"type":"object"}},"harness:platform/slo:Slo":{"description":"Resource for creating an SLO.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.Slo(\"example\", {\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    identifier: \"identifier\",\n    request: {\n        name: \"name\",\n        description: \"description\",\n        tags: [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        userJourneyRefs: [\n            \"one\",\n            \"two\",\n        ],\n        sloTarget: {\n            type: \"Calender\",\n            sloTargetPercentage: 10,\n            spec: JSON.stringify({\n                type: \"Monthly\",\n                spec: {\n                    dayOfMonth: 5,\n                },\n            }),\n        },\n        type: \"Simple\",\n        spec: JSON.stringify({\n            monitoredServiceRef: \"monitoredServiceRef\",\n            serviceLevelIndicatorType: \"Availability\",\n            serviceLevelIndicators: [{\n                name: \"name\",\n                identifier: \"identifier\",\n                type: \"Window\",\n                spec: {\n                    type: \"Threshold\",\n                    spec: {\n                        metric1: \"metric1\",\n                        thresholdValue: 10,\n                        thresholdType: \"\u003e\",\n                    },\n                    sliMissingDataType: \"Good\",\n                },\n            }],\n        }),\n        notificationRuleRefs: [{\n            notificationRuleRef: \"notification_rule_ref\",\n            enabled: true,\n        }],\n    },\n});\n```\n```python\nimport pulumi\nimport json\nimport pulumi_harness as harness\n\nexample = harness.platform.Slo(\"example\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    identifier=\"identifier\",\n    request={\n        \"name\": \"name\",\n        \"description\": \"description\",\n        \"tags\": [\n            \"foo:bar\",\n            \"bar:foo\",\n        ],\n        \"user_journey_refs\": [\n            \"one\",\n            \"two\",\n        ],\n        \"slo_target\": {\n            \"type\": \"Calender\",\n            \"slo_target_percentage\": 10,\n            \"spec\": json.dumps({\n                \"type\": \"Monthly\",\n                \"spec\": {\n                    \"dayOfMonth\": 5,\n                },\n            }),\n        },\n        \"type\": \"Simple\",\n        \"spec\": json.dumps({\n            \"monitoredServiceRef\": \"monitoredServiceRef\",\n            \"serviceLevelIndicatorType\": \"Availability\",\n            \"serviceLevelIndicators\": [{\n                \"name\": \"name\",\n                \"identifier\": \"identifier\",\n                \"type\": \"Window\",\n                \"spec\": {\n                    \"type\": \"Threshold\",\n                    \"spec\": {\n                        \"metric1\": \"metric1\",\n                        \"thresholdValue\": 10,\n                        \"thresholdType\": \"\u003e\",\n                    },\n                    \"sliMissingDataType\": \"Good\",\n                },\n            }],\n        }),\n        \"notification_rule_refs\": [{\n            \"notification_rule_ref\": \"notification_rule_ref\",\n            \"enabled\": True,\n        }],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing System.Text.Json;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.Slo(\"example\", new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Identifier = \"identifier\",\n        Request = new Harness.Platform.Inputs.SloRequestArgs\n        {\n            Name = \"name\",\n            Description = \"description\",\n            Tags = new[]\n            {\n                \"foo:bar\",\n                \"bar:foo\",\n            },\n            UserJourneyRefs = new[]\n            {\n                \"one\",\n                \"two\",\n            },\n            SloTarget = new Harness.Platform.Inputs.SloRequestSloTargetArgs\n            {\n                Type = \"Calender\",\n                SloTargetPercentage = 10,\n                Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n                {\n                    [\"type\"] = \"Monthly\",\n                    [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"dayOfMonth\"] = 5,\n                    },\n                }),\n            },\n            Type = \"Simple\",\n            Spec = JsonSerializer.Serialize(new Dictionary\u003cstring, object?\u003e\n            {\n                [\"monitoredServiceRef\"] = \"monitoredServiceRef\",\n                [\"serviceLevelIndicatorType\"] = \"Availability\",\n                [\"serviceLevelIndicators\"] = new[]\n                {\n                    new Dictionary\u003cstring, object?\u003e\n                    {\n                        [\"name\"] = \"name\",\n                        [\"identifier\"] = \"identifier\",\n                        [\"type\"] = \"Window\",\n                        [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                        {\n                            [\"type\"] = \"Threshold\",\n                            [\"spec\"] = new Dictionary\u003cstring, object?\u003e\n                            {\n                                [\"metric1\"] = \"metric1\",\n                                [\"thresholdValue\"] = 10,\n                                [\"thresholdType\"] = \"\u003e\",\n                            },\n                            [\"sliMissingDataType\"] = \"Good\",\n                        },\n                    },\n                },\n            }),\n            NotificationRuleRefs = new[]\n            {\n                new Harness.Platform.Inputs.SloRequestNotificationRuleRefArgs\n                {\n                    NotificationRuleRef = \"notification_rule_ref\",\n                    Enabled = true,\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"encoding/json\"\n\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\ttmpJSON0, err := json.Marshal(map[string]interface{}{\n\t\t\t\"type\": \"Monthly\",\n\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\"dayOfMonth\": 5,\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson0 := string(tmpJSON0)\n\t\ttmpJSON1, err := json.Marshal(map[string]interface{}{\n\t\t\t\"monitoredServiceRef\":       \"monitoredServiceRef\",\n\t\t\t\"serviceLevelIndicatorType\": \"Availability\",\n\t\t\t\"serviceLevelIndicators\": []map[string]interface{}{\n\t\t\t\tmap[string]interface{}{\n\t\t\t\t\t\"name\":       \"name\",\n\t\t\t\t\t\"identifier\": \"identifier\",\n\t\t\t\t\t\"type\":       \"Window\",\n\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\"type\": \"Threshold\",\n\t\t\t\t\t\t\"spec\": map[string]interface{}{\n\t\t\t\t\t\t\t\"metric1\":        \"metric1\",\n\t\t\t\t\t\t\t\"thresholdValue\": 10,\n\t\t\t\t\t\t\t\"thresholdType\":  \"\u003e\",\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\"sliMissingDataType\": \"Good\",\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tjson1 := string(tmpJSON1)\n\t\t_, err = platform.NewSlo(ctx, \"example\", \u0026platform.SloArgs{\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tRequest: \u0026platform.SloRequestArgs{\n\t\t\t\tName:        pulumi.String(\"name\"),\n\t\t\t\tDescription: pulumi.String(\"description\"),\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t\tpulumi.String(\"bar:foo\"),\n\t\t\t\t},\n\t\t\t\tUserJourneyRefs: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"one\"),\n\t\t\t\t\tpulumi.String(\"two\"),\n\t\t\t\t},\n\t\t\t\tSloTarget: \u0026platform.SloRequestSloTargetArgs{\n\t\t\t\t\tType:                pulumi.String(\"Calender\"),\n\t\t\t\t\tSloTargetPercentage: pulumi.Float64(10),\n\t\t\t\t\tSpec:                pulumi.String(json0),\n\t\t\t\t},\n\t\t\t\tType: pulumi.String(\"Simple\"),\n\t\t\t\tSpec: pulumi.String(json1),\n\t\t\t\tNotificationRuleRefs: platform.SloRequestNotificationRuleRefArray{\n\t\t\t\t\t\u0026platform.SloRequestNotificationRuleRefArgs{\n\t\t\t\t\t\tNotificationRuleRef: pulumi.String(\"notification_rule_ref\"),\n\t\t\t\t\t\tEnabled:             pulumi.Bool(true),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Slo;\nimport com.pulumi.harness.platform.SloArgs;\nimport com.pulumi.harness.platform.inputs.SloRequestArgs;\nimport com.pulumi.harness.platform.inputs.SloRequestSloTargetArgs;\nimport static com.pulumi.codegen.internal.Serialization.*;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Slo(\"example\", SloArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .identifier(\"identifier\")\n            .request(SloRequestArgs.builder()\n                .name(\"name\")\n                .description(\"description\")\n                .tags(                \n                    \"foo:bar\",\n                    \"bar:foo\")\n                .userJourneyRefs(                \n                    \"one\",\n                    \"two\")\n                .sloTarget(SloRequestSloTargetArgs.builder()\n                    .type(\"Calender\")\n                    .sloTargetPercentage(10.0)\n                    .spec(serializeJson(\n                        jsonObject(\n                            jsonProperty(\"type\", \"Monthly\"),\n                            jsonProperty(\"spec\", jsonObject(\n                                jsonProperty(\"dayOfMonth\", 5)\n                            ))\n                        )))\n                    .build())\n                .type(\"Simple\")\n                .spec(serializeJson(\n                    jsonObject(\n                        jsonProperty(\"monitoredServiceRef\", \"monitoredServiceRef\"),\n                        jsonProperty(\"serviceLevelIndicatorType\", \"Availability\"),\n                        jsonProperty(\"serviceLevelIndicators\", jsonArray(jsonObject(\n                            jsonProperty(\"name\", \"name\"),\n                            jsonProperty(\"identifier\", \"identifier\"),\n                            jsonProperty(\"type\", \"Window\"),\n                            jsonProperty(\"spec\", jsonObject(\n                                jsonProperty(\"type\", \"Threshold\"),\n                                jsonProperty(\"spec\", jsonObject(\n                                    jsonProperty(\"metric1\", \"metric1\"),\n                                    jsonProperty(\"thresholdValue\", 10),\n                                    jsonProperty(\"thresholdType\", \"\u003e\")\n                                )),\n                                jsonProperty(\"sliMissingDataType\", \"Good\")\n                            ))\n                        )))\n                    )))\n                .notificationRuleRefs(SloRequestNotificationRuleRefArgs.builder()\n                    .notificationRuleRef(\"notification_rule_ref\")\n                    .enabled(true)\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:Slo\n    properties:\n      orgId: org_id\n      projectId: project_id\n      identifier: identifier\n      request:\n        name: name\n        description: description\n        tags:\n          - foo:bar\n          - bar:foo\n        userJourneyRefs:\n          - one\n          - two\n        sloTarget:\n          type: Calender\n          sloTargetPercentage: 10\n          spec:\n            fn::toJSON:\n              type: Monthly\n              spec:\n                dayOfMonth: 5\n        type: Simple\n        spec:\n          fn::toJSON:\n            monitoredServiceRef: monitoredServiceRef\n            serviceLevelIndicatorType: Availability\n            serviceLevelIndicators:\n              - name: name\n                identifier: identifier\n                type: Window\n                spec:\n                  type: Threshold\n                  spec:\n                    metric1: metric1\n                    thresholdValue: 10\n                    thresholdType: '\u003e'\n                  sliMissingDataType: Good\n        notificationRuleRefs:\n          - notificationRuleRef: notification_rule_ref\n            enabled: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level SLO\n\n```sh\n$ pulumi import harness:platform/slo:Slo example \u003cslo_id\u003e\n```\n\nImport organization level SLO\n\n```sh\n$ pulumi import harness:platform/slo:Slo example \u003corg_id\u003e/\u003cslo_id\u003e\n```\n\nImport project level SLO\n\n```sh\n$ pulumi import harness:platform/slo:Slo example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cslo_id\u003e\n```\n\n","properties":{"identifier":{"type":"string","description":"Identifier of the SLO.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the SLO is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the SLO is configured.\n"},"request":{"$ref":"#/types/harness:platform/SloRequest:SloRequest","description":"Request for creating or updating SLO.\n"}},"required":["identifier","orgId","projectId"],"inputProperties":{"identifier":{"type":"string","description":"Identifier of the SLO.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the SLO is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the SLO is configured.\n"},"request":{"$ref":"#/types/harness:platform/SloRequest:SloRequest","description":"Request for creating or updating SLO.\n"}},"requiredInputs":["identifier","orgId","projectId"],"stateInputs":{"description":"Input properties used for looking up and filtering Slo resources.\n","properties":{"identifier":{"type":"string","description":"Identifier of the SLO.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the SLO is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the SLO is configured.\n"},"request":{"$ref":"#/types/harness:platform/SloRequest:SloRequest","description":"Request for creating or updating SLO.\n"}},"type":"object"}},"harness:platform/splunkConnector:SplunkConnector":{"description":"Resource for creating a Splunk connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.SplunkConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://splunk.com/\",\n    delegateSelectors: [\"harness-delegate\"],\n    accountId: \"splunk_account_id\",\n    username: \"username\",\n    passwordRef: \"account.secret_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.SplunkConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://splunk.com/\",\n    delegate_selectors=[\"harness-delegate\"],\n    account_id=\"splunk_account_id\",\n    username=\"username\",\n    password_ref=\"account.secret_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.SplunkConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://splunk.com/\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        AccountId = \"splunk_account_id\",\n        Username = \"username\",\n        PasswordRef = \"account.secret_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewSplunkConnector(ctx, \"test\", \u0026platform.SplunkConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://splunk.com/\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tAccountId:   pulumi.String(\"splunk_account_id\"),\n\t\t\tUsername:    pulumi.String(\"username\"),\n\t\t\tPasswordRef: pulumi.String(\"account.secret_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.SplunkConnector;\nimport com.pulumi.harness.platform.SplunkConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new SplunkConnector(\"test\", SplunkConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://splunk.com/\")\n            .delegateSelectors(\"harness-delegate\")\n            .accountId(\"splunk_account_id\")\n            .username(\"username\")\n            .passwordRef(\"account.secret_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:SplunkConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://splunk.com/\n      delegateSelectors:\n        - harness-delegate\n      accountId: splunk_account_id\n      username: username\n      passwordRef: account.secret_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level splunk connector\n\n```sh\n$ pulumi import harness:platform/splunkConnector:SplunkConnector example \u003cconnector_id\u003e\n```\n\nImport org level splunk connector\n\n```sh\n$ pulumi import harness:platform/splunkConnector:SplunkConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level splunk connector\n\n```sh\n$ pulumi import harness:platform/splunkConnector:SplunkConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Splunk account id.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"The reference to the Harness secret containing the Splunk 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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Splunk server.\n"},"username":{"type":"string","description":"The username used for connecting to Splunk.\n"}},"required":["accountId","identifier","name","passwordRef","url","username"],"inputProperties":{"accountId":{"type":"string","description":"Splunk account id.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"The reference to the Harness secret containing the Splunk 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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Splunk server.\n"},"username":{"type":"string","description":"The username used for connecting to Splunk.\n"}},"requiredInputs":["accountId","identifier","passwordRef","url","username"],"stateInputs":{"description":"Input properties used for looking up and filtering SplunkConnector resources.\n","properties":{"accountId":{"type":"string","description":"Splunk account id.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"passwordRef":{"type":"string","description":"The reference to the Harness secret containing the Splunk 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}.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Splunk server.\n"},"username":{"type":"string","description":"The username used for connecting to Splunk.\n"}},"type":"object"}},"harness:platform/spotConnector:SpotConnector":{"description":"Resource for creating a Spot connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using spot cloud provider connector id\n\n```sh\n$ pulumi import harness:platform/spotConnector:SpotConnector example \u003cconnector_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"permanentToken":{"$ref":"#/types/harness:platform/SpotConnectorPermanentToken:SpotConnectorPermanentToken","description":"Authenticate to Spot using account id and permanent token.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["identifier","name","permanentToken"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"permanentToken":{"$ref":"#/types/harness:platform/SpotConnectorPermanentToken:SpotConnectorPermanentToken","description":"Authenticate to Spot using account id and permanent token.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["identifier","permanentToken"],"stateInputs":{"description":"Input properties used for looking up and filtering SpotConnector resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"permanentToken":{"$ref":"#/types/harness:platform/SpotConnectorPermanentToken:SpotConnectorPermanentToken","description":"Authenticate to Spot using account id and permanent token.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/sumologicConnector:SumologicConnector":{"description":"Resource for creating a Sumologic connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.SumologicConnector(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://api.us2.sumologic.com/\",\n    delegateSelectors: [\"harness-delegate\"],\n    accessIdRef: \"account.secret_id\",\n    accessKeyRef: \"account.secret_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.SumologicConnector(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://api.us2.sumologic.com/\",\n    delegate_selectors=[\"harness-delegate\"],\n    access_id_ref=\"account.secret_id\",\n    access_key_ref=\"account.secret_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.SumologicConnector(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://api.us2.sumologic.com/\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        AccessIdRef = \"account.secret_id\",\n        AccessKeyRef = \"account.secret_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewSumologicConnector(ctx, \"test\", \u0026platform.SumologicConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tUrl: pulumi.String(\"https://api.us2.sumologic.com/\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tAccessIdRef:  pulumi.String(\"account.secret_id\"),\n\t\t\tAccessKeyRef: pulumi.String(\"account.secret_id\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.SumologicConnector;\nimport com.pulumi.harness.platform.SumologicConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new SumologicConnector(\"test\", SumologicConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://api.us2.sumologic.com/\")\n            .delegateSelectors(\"harness-delegate\")\n            .accessIdRef(\"account.secret_id\")\n            .accessKeyRef(\"account.secret_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:SumologicConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://api.us2.sumologic.com/\n      delegateSelectors:\n        - harness-delegate\n      accessIdRef: account.secret_id\n      accessKeyRef: account.secret_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level sumologic connector\n\n```sh\n$ pulumi import harness:platform/sumologicConnector:SumologicConnector example \u003cconnector_id\u003e\n```\n\nImport org level sumologic connector\n\n```sh\n$ pulumi import harness:platform/sumologicConnector:SumologicConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level sumologic connector\n\n```sh\n$ pulumi import harness:platform/sumologicConnector:SumologicConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"accessIdRef":{"type":"string","description":"Reference to the Harness secret containing the access 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}.\n"},"accessKeyRef":{"type":"string","description":"Reference to the Harness secret containing the 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the SumoLogic server.\n"}},"required":["accessIdRef","accessKeyRef","identifier","name","url"],"inputProperties":{"accessIdRef":{"type":"string","description":"Reference to the Harness secret containing the access 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}.\n"},"accessKeyRef":{"type":"string","description":"Reference to the Harness secret containing the 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the SumoLogic server.\n"}},"requiredInputs":["accessIdRef","accessKeyRef","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering SumologicConnector resources.\n","properties":{"accessIdRef":{"type":"string","description":"Reference to the Harness secret containing the access 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}.\n"},"accessKeyRef":{"type":"string","description":"Reference to the Harness secret containing the 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}.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the SumoLogic server.\n"}},"type":"object"}},"harness:platform/tasConnector:TasConnector":{"description":"Resource for creating an Tas in Harness.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level tas connector\n\n```sh\n$ pulumi import harness:platform/tasConnector:TasConnector example \u003cconnector_id\u003e\n```\n\nImport organization level tas connector\n\n```sh\n$ pulumi import harness:platform/tasConnector:TasConnector example \u003corganization_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level tas connector\n\n```sh\n$ pulumi import harness:platform/tasConnector:TasConnector example \u003corganization_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"credentials":{"$ref":"#/types/harness:platform/TasConnectorCredentials:TasConnectorCredentials","description":"Contains Tas connector credentials.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"required":["credentials","identifier","name"],"inputProperties":{"credentials":{"$ref":"#/types/harness:platform/TasConnectorCredentials:TasConnectorCredentials","description":"Contains Tas connector credentials.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"requiredInputs":["credentials","identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering TasConnector resources.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/TasConnectorCredentials:TasConnectorCredentials","description":"Contains Tas connector credentials.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object"}},"harness:platform/template:Template":{"description":"Resource for creating a Template. Description field is deprecated\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level template\n\n```sh\n$ pulumi import harness:platform/template:Template example \u003ctemplate_id\u003e\n```\n\nImport org level template\n\n```sh\n$ pulumi import harness:platform/template:Template example \u003cord_id\u003e/\u003ctemplate_id\u003e\n```\n\nImport project level template\n\n```sh\n$ pulumi import harness:platform/template:Template example \u003corg_id\u003e/\u003cproject_id\u003e/\u003ctemplate_id\u003e\n```\n\n","properties":{"comments":{"type":"string","description":"Specify comment with respect to changes.\n"},"description":{"type":"string","description":"Description of the entity. Description field is deprecated\n","deprecationMessage":"description field is deprecated"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of template. It will delete the Harness entity even if your pipelines or other entities reference it\n"},"gitDetails":{"$ref":"#/types/harness:platform/TemplateGitDetails:TemplateGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"gitImportDetails":{"$ref":"#/types/harness:platform/TemplateGitImportDetails:TemplateGitImportDetails","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource. Cannot be changed once the resource is created. Must match the identifier in the template_yaml.\n"},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"isStable":{"type":"boolean","description":"True if given version for template to be set as stable.\n"},"name":{"type":"string","description":"Name of the Variable\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"templateImportRequest":{"$ref":"#/types/harness:platform/TemplateTemplateImportRequest:TemplateTemplateImportRequest","description":"Contains parameters for importing template.\n"},"templateYaml":{"type":"string","description":"Yaml for creating new Template. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"},"version":{"type":"string","description":"Version Label for Template.\n"}},"required":["forceDelete","gitDetails","identifier","isStable","name","templateYaml","version"],"inputProperties":{"comments":{"type":"string","description":"Specify comment with respect to changes.\n"},"description":{"type":"string","description":"Description of the entity. Description field is deprecated\n","deprecationMessage":"description field is deprecated"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of template. It will delete the Harness entity even if your pipelines or other entities reference it\n"},"gitDetails":{"$ref":"#/types/harness:platform/TemplateGitDetails:TemplateGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"gitImportDetails":{"$ref":"#/types/harness:platform/TemplateGitImportDetails:TemplateGitImportDetails","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource. Cannot be changed once the resource is created. Must match the identifier in the template_yaml.\n"},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"isStable":{"type":"boolean","description":"True if given version for template to be set as stable.\n"},"name":{"type":"string","description":"Name of the Variable\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"templateImportRequest":{"$ref":"#/types/harness:platform/TemplateTemplateImportRequest:TemplateTemplateImportRequest","description":"Contains parameters for importing template.\n"},"templateYaml":{"type":"string","description":"Yaml for creating new Template. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"},"version":{"type":"string","description":"Version Label for Template.\n"}},"requiredInputs":["identifier","version"],"stateInputs":{"description":"Input properties used for looking up and filtering Template resources.\n","properties":{"comments":{"type":"string","description":"Specify comment with respect to changes.\n"},"description":{"type":"string","description":"Description of the entity. Description field is deprecated\n","deprecationMessage":"description field is deprecated"},"forceDelete":{"type":"boolean","description":"Enable this flag for force deletion of template. It will delete the Harness entity even if your pipelines or other entities reference it\n"},"gitDetails":{"$ref":"#/types/harness:platform/TemplateGitDetails:TemplateGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"gitImportDetails":{"$ref":"#/types/harness:platform/TemplateGitImportDetails:TemplateGitImportDetails","description":"Contains Git Information for importing entities from Git\n"},"identifier":{"type":"string","description":"Unique identifier of the resource. Cannot be changed once the resource is created. Must match the identifier in the template_yaml.\n"},"importFromGit":{"type":"boolean","description":"Flag to set if importing from Git\n"},"isStable":{"type":"boolean","description":"True if given version for template to be set as stable.\n"},"name":{"type":"string","description":"Name of the Variable\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"templateImportRequest":{"$ref":"#/types/harness:platform/TemplateTemplateImportRequest:TemplateTemplateImportRequest","description":"Contains parameters for importing template.\n"},"templateYaml":{"type":"string","description":"Yaml for creating new Template. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"},"version":{"type":"string","description":"Version Label for Template.\n"}},"type":"object"}},"harness:platform/templateFilters:TemplateFilters":{"description":"Resource for creating a Harness Template Filters.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.TemplateFilters(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    type: \"Template\",\n    filterProperties: {\n        tags: [\"foo:bar\"],\n        filterType: \"Template\",\n    },\n    filterVisibility: \"EveryOne\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.TemplateFilters(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    type=\"Template\",\n    filter_properties={\n        \"tags\": [\"foo:bar\"],\n        \"filter_type\": \"Template\",\n    },\n    filter_visibility=\"EveryOne\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.TemplateFilters(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Type = \"Template\",\n        FilterProperties = new Harness.Platform.Inputs.TemplateFiltersFilterPropertiesArgs\n        {\n            Tags = new[]\n            {\n                \"foo:bar\",\n            },\n            FilterType = \"Template\",\n        },\n        FilterVisibility = \"EveryOne\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewTemplateFilters(ctx, \"test\", \u0026platform.TemplateFiltersArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tType:       pulumi.String(\"Template\"),\n\t\t\tFilterProperties: \u0026platform.TemplateFiltersFilterPropertiesArgs{\n\t\t\t\tTags: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t\t},\n\t\t\t\tFilterType: pulumi.String(\"Template\"),\n\t\t\t},\n\t\t\tFilterVisibility: pulumi.String(\"EveryOne\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.TemplateFilters;\nimport com.pulumi.harness.platform.TemplateFiltersArgs;\nimport com.pulumi.harness.platform.inputs.TemplateFiltersFilterPropertiesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new TemplateFilters(\"test\", TemplateFiltersArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .type(\"Template\")\n            .filterProperties(TemplateFiltersFilterPropertiesArgs.builder()\n                .tags(\"foo:bar\")\n                .filterType(\"Template\")\n                .build())\n            .filterVisibility(\"EveryOne\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:TemplateFilters\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      type: Template\n      filterProperties:\n        tags:\n          - foo:bar\n        filterType: Template\n      filterVisibility: EveryOne\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level template filter\n\n```sh\n$ pulumi import harness:platform/templateFilters:TemplateFilters example \u003cfilter_id\u003e/\u003ctype\u003e\n```\n\nImport org level template filter\n\n```sh\n$ pulumi import harness:platform/templateFilters:TemplateFilters example \u003corg_id\u003e/\u003cfilter_id\u003e/\u003ctype\u003e\n```\n\nImport project level template filter\n\n```sh\n$ pulumi import harness:platform/templateFilters:TemplateFilters example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cfilter_id\u003e/\u003ctype\u003e\n```\n\n","properties":{"filterProperties":{"$ref":"#/types/harness:platform/TemplateFiltersFilterProperties:TemplateFiltersFilterProperties","description":"Properties of the filters entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"Only accept values \"EveryOne\" and \"OnlyCreator\". This indicates visibility of filters. By default, everyone can view this filter.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the template filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of template filters. Currently supported types are { Template}\n"}},"required":["filterProperties","identifier","name","type"],"inputProperties":{"filterProperties":{"$ref":"#/types/harness:platform/TemplateFiltersFilterProperties:TemplateFiltersFilterProperties","description":"Properties of the filters entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"Only accept values \"EveryOne\" and \"OnlyCreator\". This indicates visibility of filters. By default, everyone can view this filter.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the template filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of template filters. Currently supported types are { Template}\n"}},"requiredInputs":["filterProperties","identifier","type"],"stateInputs":{"description":"Input properties used for looking up and filtering TemplateFilters resources.\n","properties":{"filterProperties":{"$ref":"#/types/harness:platform/TemplateFiltersFilterProperties:TemplateFiltersFilterProperties","description":"Properties of the filters entity defined in Harness.\n"},"filterVisibility":{"type":"string","description":"Only accept values \"EveryOne\" and \"OnlyCreator\". This indicates visibility of filters. By default, everyone can view this filter.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the template filters.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of template filters. Currently supported types are { Template}\n"}},"type":"object"}},"harness:platform/terraformCloudConnector:TerraformCloudConnector":{"description":"Resource for creating a Terraform Cloud connector.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level Terraform Cloud provider connector\n\n```sh\n$ pulumi import harness:platform/terraformCloudConnector:TerraformCloudConnector example \u003cconnector_id\u003e\n```\n\nImport org level Terraform Cloud provider connector\n\n```sh\n$ pulumi import harness:platform/terraformCloudConnector:TerraformCloudConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level Terraform Cloud provider connector\n\n```sh\n$ pulumi import harness:platform/terraformCloudConnector:TerraformCloudConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"credentials":{"$ref":"#/types/harness:platform/TerraformCloudConnectorCredentials:TerraformCloudConnectorCredentials","description":"Credentials to connect to the Terraform Cloud platform.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Connect only using delegates with these tags.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on delegate (default: true).\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Terraform Cloud platform.\n"}},"required":["credentials","executeOnDelegate","identifier","name","url"],"inputProperties":{"credentials":{"$ref":"#/types/harness:platform/TerraformCloudConnectorCredentials:TerraformCloudConnectorCredentials","description":"Credentials to connect to the Terraform Cloud platform.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Connect only using delegates with these tags.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on delegate (default: true).\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Terraform Cloud platform.\n"}},"requiredInputs":["credentials","identifier","url"],"stateInputs":{"description":"Input properties used for looking up and filtering TerraformCloudConnector resources.\n","properties":{"credentials":{"$ref":"#/types/harness:platform/TerraformCloudConnectorCredentials:TerraformCloudConnectorCredentials","description":"Credentials to connect to the Terraform Cloud platform.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Connect only using delegates with these tags.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Enable this flag to execute on delegate (default: true).\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"url":{"type":"string","description":"URL of the Terraform Cloud platform.\n"}},"type":"object"}},"harness:platform/token:Token":{"description":"Resource for creating tokens.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n# Import account level token\nterraform import harness_platform_token \u003cparent_id\u003e/\u003capikey_id\u003e/\u003capikey_type\u003e/\u003ctoken_id\u003e\n\n# Import org level token\nterraform import harness_platform_token \u003corg_id\u003e/\u003cparent_id\u003e/\u003capikey_id\u003e/\u003capikey_type\u003e/\u003ctoken_id\u003e\n\n# Import project level token\nterraform import harness_platform_token \u003corg_id\u003e/\u003cproject_id\u003e/\u003cparent_id\u003e/\u003capikey_id\u003e/\u003capikey_type\u003e/\u003ctoken_id\u003e\n```\n\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n"},"apikeyId":{"type":"string","description":"Identifier of the API Key\n"},"apikeyType":{"type":"string","description":"Type of the API Key\n"},"description":{"type":"string","description":"Description of the resource.\n"},"email":{"type":"string","description":"Email Id of the user who created the Token\n"},"encodedPassword":{"type":"string","description":"Encoded password of the Token\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentId":{"type":"string","description":"Parent Entity Identifier of the API Key\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"scheduledExpireTime":{"type":"integer","description":"Scheduled expiry time in milliseconds\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"username":{"type":"string","description":"Name of the user who created the Token\n"},"valid":{"type":"boolean","description":"Boolean value to indicate if Token is valid or not.\n"},"validFrom":{"type":"integer","description":"This is the time from which the Token is valid. The time is in milliseconds\n"},"validTo":{"type":"integer","description":"This is the time till which the Token is valid. The time is in milliseconds\n"},"value":{"type":"string","description":"Value of the Token\n","secret":true}},"required":["accountId","apikeyId","apikeyType","identifier","name","parentId","scheduledExpireTime","valid","validFrom","validTo","value"],"inputProperties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n"},"apikeyId":{"type":"string","description":"Identifier of the API Key\n"},"apikeyType":{"type":"string","description":"Type of the API Key\n"},"description":{"type":"string","description":"Description of the resource.\n"},"email":{"type":"string","description":"Email Id of the user who created the Token\n"},"encodedPassword":{"type":"string","description":"Encoded password of the Token\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentId":{"type":"string","description":"Parent Entity Identifier of the API Key\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"scheduledExpireTime":{"type":"integer","description":"Scheduled expiry time in milliseconds\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"username":{"type":"string","description":"Name of the user who created the Token\n"},"valid":{"type":"boolean","description":"Boolean value to indicate if Token is valid or not.\n"},"validFrom":{"type":"integer","description":"This is the time from which the Token is valid. The time is in milliseconds\n"},"validTo":{"type":"integer","description":"This is the time till which the Token is valid. The time is in milliseconds\n"}},"requiredInputs":["accountId","apikeyId","apikeyType","identifier","parentId"],"stateInputs":{"description":"Input properties used for looking up and filtering Token resources.\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n"},"apikeyId":{"type":"string","description":"Identifier of the API Key\n"},"apikeyType":{"type":"string","description":"Type of the API Key\n"},"description":{"type":"string","description":"Description of the resource.\n"},"email":{"type":"string","description":"Email Id of the user who created the Token\n"},"encodedPassword":{"type":"string","description":"Encoded password of the Token\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentId":{"type":"string","description":"Parent Entity Identifier of the API Key\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"scheduledExpireTime":{"type":"integer","description":"Scheduled expiry time in milliseconds\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"username":{"type":"string","description":"Name of the user who created the Token\n"},"valid":{"type":"boolean","description":"Boolean value to indicate if Token is valid or not.\n"},"validFrom":{"type":"integer","description":"This is the time from which the Token is valid. The time is in milliseconds\n"},"validTo":{"type":"integer","description":"This is the time till which the Token is valid. The time is in milliseconds\n"},"value":{"type":"string","description":"Value of the Token\n","secret":true}},"type":"object"}},"harness:platform/triggers:Triggers":{"description":"Resource for creating triggers in Harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.Triggers(\"example\", {\n    identifier: \"identifier\",\n    orgId: \"orgIdentifer\",\n    projectId: \"projectIdentifier\",\n    name: \"name\",\n    targetId: \"pipelineIdentifier\",\n    yaml: `trigger:\n  name: name\n  identifier: identifier\n  enabled: true\n  description: \\\\\"\\\\\"\n  tags: {}\n  projectIdentifier: projectIdentifier\n  orgIdentifier: orgIdentifer\n  pipelineIdentifier: pipelineIdentifier\n  source:\n    type: Webhook\n    spec:\n      type: Github\n      spec:\n        type: Push\n        spec:\n          connectorRef: account.TestAccResourceConnectorGithub_Ssh_IZBeG\n          autoAbortPreviousExecutions: false\n          payloadConditions:\n          - key: changedFiles\n            operator: Equals\n            value: value\n          - key: targetBranch\n            operator: Equals\n            value: value\n          headerConditions: []\n          repoName: repoName\n          actions: []\n  inputYaml: |\n    pipeline: {}\\\\\n\n`,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.Triggers(\"example\",\n    identifier=\"identifier\",\n    org_id=\"orgIdentifer\",\n    project_id=\"projectIdentifier\",\n    name=\"name\",\n    target_id=\"pipelineIdentifier\",\n    yaml=\"\"\"trigger:\n  name: name\n  identifier: identifier\n  enabled: true\n  description: \\\"\\\"\n  tags: {}\n  projectIdentifier: projectIdentifier\n  orgIdentifier: orgIdentifer\n  pipelineIdentifier: pipelineIdentifier\n  source:\n    type: Webhook\n    spec:\n      type: Github\n      spec:\n        type: Push\n        spec:\n          connectorRef: account.TestAccResourceConnectorGithub_Ssh_IZBeG\n          autoAbortPreviousExecutions: false\n          payloadConditions:\n          - key: changedFiles\n            operator: Equals\n            value: value\n          - key: targetBranch\n            operator: Equals\n            value: value\n          headerConditions: []\n          repoName: repoName\n          actions: []\n  inputYaml: |\n    pipeline: {}\\\n\n\"\"\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.Triggers(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"orgIdentifer\",\n        ProjectId = \"projectIdentifier\",\n        Name = \"name\",\n        TargetId = \"pipelineIdentifier\",\n        Yaml = @\"trigger:\n  name: name\n  identifier: identifier\n  enabled: true\n  description: \\\"\"\\\"\"\n  tags: {}\n  projectIdentifier: projectIdentifier\n  orgIdentifier: orgIdentifer\n  pipelineIdentifier: pipelineIdentifier\n  source:\n    type: Webhook\n    spec:\n      type: Github\n      spec:\n        type: Push\n        spec:\n          connectorRef: account.TestAccResourceConnectorGithub_Ssh_IZBeG\n          autoAbortPreviousExecutions: false\n          payloadConditions:\n          - key: changedFiles\n            operator: Equals\n            value: value\n          - key: targetBranch\n            operator: Equals\n            value: value\n          headerConditions: []\n          repoName: repoName\n          actions: []\n  inputYaml: |\n    pipeline: {}\\\n\n\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewTriggers(ctx, \"example\", \u0026platform.TriggersArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tOrgId:      pulumi.String(\"orgIdentifer\"),\n\t\t\tProjectId:  pulumi.String(\"projectIdentifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tTargetId:   pulumi.String(\"pipelineIdentifier\"),\n\t\t\tYaml: pulumi.String(`trigger:\n  name: name\n  identifier: identifier\n  enabled: true\n  description: \\\"\\\"\n  tags: {}\n  projectIdentifier: projectIdentifier\n  orgIdentifier: orgIdentifer\n  pipelineIdentifier: pipelineIdentifier\n  source:\n    type: Webhook\n    spec:\n      type: Github\n      spec:\n        type: Push\n        spec:\n          connectorRef: account.TestAccResourceConnectorGithub_Ssh_IZBeG\n          autoAbortPreviousExecutions: false\n          payloadConditions:\n          - key: changedFiles\n            operator: Equals\n            value: value\n          - key: targetBranch\n            operator: Equals\n            value: value\n          headerConditions: []\n          repoName: repoName\n          actions: []\n  inputYaml: |\n    pipeline: {}\\\n\n`),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Triggers;\nimport com.pulumi.harness.platform.TriggersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Triggers(\"example\", TriggersArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"orgIdentifer\")\n            .projectId(\"projectIdentifier\")\n            .name(\"name\")\n            .targetId(\"pipelineIdentifier\")\n            .yaml(\"\"\"\ntrigger:\n  name: name\n  identifier: identifier\n  enabled: true\n  description: \\\"\\\"\n  tags: {}\n  projectIdentifier: projectIdentifier\n  orgIdentifier: orgIdentifer\n  pipelineIdentifier: pipelineIdentifier\n  source:\n    type: Webhook\n    spec:\n      type: Github\n      spec:\n        type: Push\n        spec:\n          connectorRef: account.TestAccResourceConnectorGithub_Ssh_IZBeG\n          autoAbortPreviousExecutions: false\n          payloadConditions:\n          - key: changedFiles\n            operator: Equals\n            value: value\n          - key: targetBranch\n            operator: Equals\n            value: value\n          headerConditions: []\n          repoName: repoName\n          actions: []\n  inputYaml: |\n    pipeline: {}\\\n\n            \"\"\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:Triggers\n    properties:\n      identifier: identifier\n      orgId: orgIdentifer\n      projectId: projectIdentifier\n      name: name\n      targetId: pipelineIdentifier\n      yaml: |+\n        trigger:\n          name: name\n          identifier: identifier\n          enabled: true\n          description: \\\"\\\"\n          tags: {}\n          projectIdentifier: projectIdentifier\n          orgIdentifier: orgIdentifer\n          pipelineIdentifier: pipelineIdentifier\n          source:\n            type: Webhook\n            spec:\n              type: Github\n              spec:\n                type: Push\n                spec:\n                  connectorRef: account.TestAccResourceConnectorGithub_Ssh_IZBeG\n                  autoAbortPreviousExecutions: false\n                  payloadConditions:\n                  - key: changedFiles\n                    operator: Equals\n                    value: value\n                  - key: targetBranch\n                    operator: Equals\n                    value: value\n                  headerConditions: []\n                  repoName: repoName\n                  actions: []\n          inputYaml: |\n            pipeline: {}\\\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport trigger\n\n```sh\n$ pulumi import harness:platform/triggers:Triggers example \u003corg_id\u003e/\u003cproject_id\u003e/\u003ctarget_id\u003e/\u003ctriggers_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"ifMatch":{"type":"string","description":"if-Match\n"},"ignoreError":{"type":"boolean","description":"ignore error default false\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"targetId":{"type":"string","description":"Identifier of the target pipeline\n"},"webhookUrl":{"type":"string","description":"The webhook URL if the trigger is type `Webhook`.\n"},"yaml":{"type":"string","description":"trigger yaml. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"required":["identifier","name","orgId","projectId","targetId","webhookUrl","yaml"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"ifMatch":{"type":"string","description":"if-Match\n"},"ignoreError":{"type":"boolean","description":"ignore error default false\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"targetId":{"type":"string","description":"Identifier of the target pipeline\n"},"webhookUrl":{"type":"string","description":"The webhook URL if the trigger is type `Webhook`.\n"},"yaml":{"type":"string","description":"trigger yaml. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"requiredInputs":["identifier","orgId","projectId","targetId","yaml"],"stateInputs":{"description":"Input properties used for looking up and filtering Triggers resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"ifMatch":{"type":"string","description":"if-Match\n"},"ignoreError":{"type":"boolean","description":"ignore error default false\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"targetId":{"type":"string","description":"Identifier of the target pipeline\n"},"webhookUrl":{"type":"string","description":"The webhook URL if the trigger is type `Webhook`.\n"},"yaml":{"type":"string","description":"trigger yaml. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n"}},"type":"object"}},"harness:platform/user:User":{"description":"Resource for creating a Harness User. This requires your authentication mechanism to be set to SAML, LDAP, or OAuth, and the feature flag AUTO_ACCEPT_SAML_ACCOUNT_INVITES to be enabled.\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level\n\n```sh\n$ pulumi import harness:platform/user:User john_doe \u003cemail_id\u003e\n```\n\nImport org level\n\n```sh\n$ pulumi import harness:platform/user:User john_doe \u003cemail_id\u003e/\u003corg_id\u003e\n```\n\nImport project level\n\n```sh\n$ pulumi import harness:platform/user:User john_doe \u003cemail_id\u003e/\u003corg_id\u003e/\u003cproject_id\u003e\n```\n\n","properties":{"disabled":{"type":"boolean","description":"Whether or not the user account is disabled.\n"},"email":{"type":"string","description":"The email of the user.\n"},"externallyManaged":{"type":"boolean","description":"Whether or not the user account is externally managed.\n"},"identifier":{"type":"string","description":"Unique identifier of the user.\n"},"locked":{"type":"boolean","description":"Whether or not the user account is locked.\n"},"name":{"type":"string","description":"Name of the user.\n"},"orgId":{"type":"string","description":"Organization identifier of the user.\n"},"projectId":{"type":"string","description":"Project identifier of the user.\n"},"roleBindings":{"type":"array","items":{"$ref":"#/types/harness:platform/UserRoleBinding:UserRoleBinding"},"description":"Role Bindings of the user. Cannot be updated.\n"},"userGroups":{"type":"array","items":{"type":"string"},"description":"The user group of the user. Cannot be updated.\n"}},"required":["disabled","email","externallyManaged","identifier","locked","name","userGroups"],"inputProperties":{"email":{"type":"string","description":"The email of the user.\n"},"orgId":{"type":"string","description":"Organization identifier of the user.\n"},"projectId":{"type":"string","description":"Project identifier of the user.\n"},"roleBindings":{"type":"array","items":{"$ref":"#/types/harness:platform/UserRoleBinding:UserRoleBinding"},"description":"Role Bindings of the user. Cannot be updated.\n"},"userGroups":{"type":"array","items":{"type":"string"},"description":"The user group of the user. Cannot be updated.\n"}},"requiredInputs":["email","userGroups"],"stateInputs":{"description":"Input properties used for looking up and filtering User resources.\n","properties":{"disabled":{"type":"boolean","description":"Whether or not the user account is disabled.\n"},"email":{"type":"string","description":"The email of the user.\n"},"externallyManaged":{"type":"boolean","description":"Whether or not the user account is externally managed.\n"},"identifier":{"type":"string","description":"Unique identifier of the user.\n"},"locked":{"type":"boolean","description":"Whether or not the user account is locked.\n"},"name":{"type":"string","description":"Name of the user.\n"},"orgId":{"type":"string","description":"Organization identifier of the user.\n"},"projectId":{"type":"string","description":"Project identifier of the user.\n"},"roleBindings":{"type":"array","items":{"$ref":"#/types/harness:platform/UserRoleBinding:UserRoleBinding"},"description":"Role Bindings of the user. Cannot be updated.\n"},"userGroups":{"type":"array","items":{"type":"string"},"description":"The user group of the user. Cannot be updated.\n"}},"type":"object"}},"harness:platform/usergroup:Usergroup":{"description":"Resource for creating a Harness User Group. Linking SSO providers with User Groups:\n\n\t\tThe following fields need to be populated for LDAP SSO Providers:\n\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" linkedSsoId\n\" pulumi-lang-dotnet=\" LinkedSsoId\n\" pulumi-lang-go=\" linkedSsoId\n\" pulumi-lang-python=\" linked_sso_id\n\" pulumi-lang-yaml=\" linkedSsoId\n\" pulumi-lang-java=\" linkedSsoId\n\"\u003e linked_sso_id\n\u003c/span\u003e\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" linkedSsoDisplayName\n\" pulumi-lang-dotnet=\" LinkedSsoDisplayName\n\" pulumi-lang-go=\" linkedSsoDisplayName\n\" pulumi-lang-python=\" linked_sso_display_name\n\" pulumi-lang-yaml=\" linkedSsoDisplayName\n\" pulumi-lang-java=\" linkedSsoDisplayName\n\"\u003e linked_sso_display_name\n\u003c/span\u003e\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" ssoGroupId\n\" pulumi-lang-dotnet=\" SsoGroupId\n\" pulumi-lang-go=\" ssoGroupId\n\" pulumi-lang-python=\" sso_group_id\n\" pulumi-lang-yaml=\" ssoGroupId\n\" pulumi-lang-java=\" ssoGroupId\n\"\u003e sso_group_id\n\u003c/span\u003e\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" ssoGroupName\n\" pulumi-lang-dotnet=\" SsoGroupName\n\" pulumi-lang-go=\" ssoGroupName\n\" pulumi-lang-python=\" sso_group_name\n\" pulumi-lang-yaml=\" ssoGroupName\n\" pulumi-lang-java=\" ssoGroupName\n\"\u003e sso_group_name\n\u003c/span\u003e\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" linkedSsoType\n\" pulumi-lang-dotnet=\" LinkedSsoType\n\" pulumi-lang-go=\" linkedSsoType\n\" pulumi-lang-python=\" linked_sso_type\n\" pulumi-lang-yaml=\" linkedSsoType\n\" pulumi-lang-java=\" linkedSsoType\n\"\u003e linked_sso_type\n\u003c/span\u003e\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" ssoLinked\n\" pulumi-lang-dotnet=\" SsoLinked\n\" pulumi-lang-go=\" ssoLinked\n\" pulumi-lang-python=\" sso_linked\n\" pulumi-lang-yaml=\" ssoLinked\n\" pulumi-lang-java=\" ssoLinked\n\"\u003e sso_linked\n\u003c/span\u003e\t\t\n\t\tThe following fields need to be populated for SAML SSO Providers:\n\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" linkedSsoId\n\" pulumi-lang-dotnet=\" LinkedSsoId\n\" pulumi-lang-go=\" linkedSsoId\n\" pulumi-lang-python=\" linked_sso_id\n\" pulumi-lang-yaml=\" linkedSsoId\n\" pulumi-lang-java=\" linkedSsoId\n\"\u003e linked_sso_id\n\u003c/span\u003e\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" linkedSsoDisplayName\n\" pulumi-lang-dotnet=\" LinkedSsoDisplayName\n\" pulumi-lang-go=\" linkedSsoDisplayName\n\" pulumi-lang-python=\" linked_sso_display_name\n\" pulumi-lang-yaml=\" linkedSsoDisplayName\n\" pulumi-lang-java=\" linkedSsoDisplayName\n\"\u003e linked_sso_display_name\n\u003c/span\u003e\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" ssoGroupName\n\" pulumi-lang-dotnet=\" SsoGroupName\n\" pulumi-lang-go=\" ssoGroupName\n\" pulumi-lang-python=\" sso_group_name\n\" pulumi-lang-yaml=\" ssoGroupName\n\" pulumi-lang-java=\" ssoGroupName\n\"\u003e sso_group_name\n\u003c/span\u003e\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" ssoGroupId \" pulumi-lang-dotnet=\" SsoGroupId \" pulumi-lang-go=\" ssoGroupId \" pulumi-lang-python=\" sso_group_id \" pulumi-lang-yaml=\" ssoGroupId \" pulumi-lang-java=\" ssoGroupId \"\u003e sso_group_id \u003c/span\u003e// same as\u003cspan pulumi-lang-nodejs=\" ssoGroupName\n\" pulumi-lang-dotnet=\" SsoGroupName\n\" pulumi-lang-go=\" ssoGroupName\n\" pulumi-lang-python=\" sso_group_name\n\" pulumi-lang-yaml=\" ssoGroupName\n\" pulumi-lang-java=\" ssoGroupName\n\"\u003e sso_group_name\n\u003c/span\u003e\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" linkedSsoType\n\" pulumi-lang-dotnet=\" LinkedSsoType\n\" pulumi-lang-go=\" linkedSsoType\n\" pulumi-lang-python=\" linked_sso_type\n\" pulumi-lang-yaml=\" linkedSsoType\n\" pulumi-lang-java=\" linkedSsoType\n\"\u003e linked_sso_type\n\u003c/span\u003e\t\t\n\t\t-\u003cspan pulumi-lang-nodejs=\" ssoLinked\n\" pulumi-lang-dotnet=\" SsoLinked\n\" pulumi-lang-go=\" ssoLinked\n\" pulumi-lang-python=\" sso_linked\n\" pulumi-lang-yaml=\" ssoLinked\n\" pulumi-lang-java=\" ssoLinked\n\"\u003e sso_linked\n\u003c/span\u003e\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst ssoTypeSaml = new harness.platform.Usergroup(\"sso_type_saml\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    linkedSsoId: \"linked_sso_id\",\n    externallyManaged: false,\n    users: [\"user_id\"],\n    notificationConfigs: [\n        {\n            type: \"SLACK\",\n            slackWebhookUrl: \"https://google.com\",\n        },\n        {\n            type: \"EMAIL\",\n            groupEmail: \"email@email.com\",\n            sendEmailToAllUsers: true,\n        },\n        {\n            type: \"MSTEAMS\",\n            microsoftTeamsWebhookUrl: \"https://google.com\",\n        },\n        {\n            type: \"PAGERDUTY\",\n            pagerDutyKey: \"pagerDutyKey\",\n        },\n    ],\n    linkedSsoDisplayName: \"linked_sso_display_name\",\n    ssoGroupId: \"sso_group_name\",\n    ssoGroupName: \"sso_group_name\",\n    linkedSsoType: \"SAML\",\n    ssoLinked: true,\n});\nconst ssoTypeLdap = new harness.platform.Usergroup(\"sso_type_ldap\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    linkedSsoId: \"linked_sso_id\",\n    externallyManaged: false,\n    users: [\"user_id\"],\n    notificationConfigs: [\n        {\n            type: \"SLACK\",\n            slackWebhookUrl: \"https://google.com\",\n        },\n        {\n            type: \"EMAIL\",\n            groupEmail: \"email@email.com\",\n            sendEmailToAllUsers: true,\n        },\n        {\n            type: \"MSTEAMS\",\n            microsoftTeamsWebhookUrl: \"https://google.com\",\n        },\n        {\n            type: \"PAGERDUTY\",\n            pagerDutyKey: \"pagerDutyKey\",\n        },\n    ],\n    linkedSsoDisplayName: \"linked_sso_display_name\",\n    ssoGroupId: \"sso_group_id\",\n    ssoGroupName: \"sso_group_name\",\n    linkedSsoType: \"LDAP\",\n    ssoLinked: true,\n});\n// Create user group by adding user emails\nconst example = new harness.platform.Usergroup(\"example\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    linkedSsoId: \"linked_sso_id\",\n    externallyManaged: false,\n    userEmails: [\"user@email.com\"],\n    notificationConfigs: [\n        {\n            type: \"SLACK\",\n            slackWebhookUrl: \"https://google.com\",\n        },\n        {\n            type: \"EMAIL\",\n            groupEmail: \"email@email.com\",\n            sendEmailToAllUsers: true,\n        },\n        {\n            type: \"MSTEAMS\",\n            microsoftTeamsWebhookUrl: \"https://google.com\",\n        },\n        {\n            type: \"PAGERDUTY\",\n            pagerDutyKey: \"pagerDutyKey\",\n        },\n    ],\n    linkedSsoDisplayName: \"linked_sso_display_name\",\n    ssoGroupId: \"sso_group_name\",\n    ssoGroupName: \"sso_group_name\",\n    linkedSsoType: \"SAML\",\n    ssoLinked: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nsso_type_saml = harness.platform.Usergroup(\"sso_type_saml\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    linked_sso_id=\"linked_sso_id\",\n    externally_managed=False,\n    users=[\"user_id\"],\n    notification_configs=[\n        {\n            \"type\": \"SLACK\",\n            \"slack_webhook_url\": \"https://google.com\",\n        },\n        {\n            \"type\": \"EMAIL\",\n            \"group_email\": \"email@email.com\",\n            \"send_email_to_all_users\": True,\n        },\n        {\n            \"type\": \"MSTEAMS\",\n            \"microsoft_teams_webhook_url\": \"https://google.com\",\n        },\n        {\n            \"type\": \"PAGERDUTY\",\n            \"pager_duty_key\": \"pagerDutyKey\",\n        },\n    ],\n    linked_sso_display_name=\"linked_sso_display_name\",\n    sso_group_id=\"sso_group_name\",\n    sso_group_name=\"sso_group_name\",\n    linked_sso_type=\"SAML\",\n    sso_linked=True)\nsso_type_ldap = harness.platform.Usergroup(\"sso_type_ldap\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    linked_sso_id=\"linked_sso_id\",\n    externally_managed=False,\n    users=[\"user_id\"],\n    notification_configs=[\n        {\n            \"type\": \"SLACK\",\n            \"slack_webhook_url\": \"https://google.com\",\n        },\n        {\n            \"type\": \"EMAIL\",\n            \"group_email\": \"email@email.com\",\n            \"send_email_to_all_users\": True,\n        },\n        {\n            \"type\": \"MSTEAMS\",\n            \"microsoft_teams_webhook_url\": \"https://google.com\",\n        },\n        {\n            \"type\": \"PAGERDUTY\",\n            \"pager_duty_key\": \"pagerDutyKey\",\n        },\n    ],\n    linked_sso_display_name=\"linked_sso_display_name\",\n    sso_group_id=\"sso_group_id\",\n    sso_group_name=\"sso_group_name\",\n    linked_sso_type=\"LDAP\",\n    sso_linked=True)\n# Create user group by adding user emails\nexample = harness.platform.Usergroup(\"example\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    linked_sso_id=\"linked_sso_id\",\n    externally_managed=False,\n    user_emails=[\"user@email.com\"],\n    notification_configs=[\n        {\n            \"type\": \"SLACK\",\n            \"slack_webhook_url\": \"https://google.com\",\n        },\n        {\n            \"type\": \"EMAIL\",\n            \"group_email\": \"email@email.com\",\n            \"send_email_to_all_users\": True,\n        },\n        {\n            \"type\": \"MSTEAMS\",\n            \"microsoft_teams_webhook_url\": \"https://google.com\",\n        },\n        {\n            \"type\": \"PAGERDUTY\",\n            \"pager_duty_key\": \"pagerDutyKey\",\n        },\n    ],\n    linked_sso_display_name=\"linked_sso_display_name\",\n    sso_group_id=\"sso_group_name\",\n    sso_group_name=\"sso_group_name\",\n    linked_sso_type=\"SAML\",\n    sso_linked=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var ssoTypeSaml = new Harness.Platform.Usergroup(\"sso_type_saml\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        LinkedSsoId = \"linked_sso_id\",\n        ExternallyManaged = false,\n        Users = new[]\n        {\n            \"user_id\",\n        },\n        NotificationConfigs = new[]\n        {\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"SLACK\",\n                SlackWebhookUrl = \"https://google.com\",\n            },\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"EMAIL\",\n                GroupEmail = \"email@email.com\",\n                SendEmailToAllUsers = true,\n            },\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"MSTEAMS\",\n                MicrosoftTeamsWebhookUrl = \"https://google.com\",\n            },\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"PAGERDUTY\",\n                PagerDutyKey = \"pagerDutyKey\",\n            },\n        },\n        LinkedSsoDisplayName = \"linked_sso_display_name\",\n        SsoGroupId = \"sso_group_name\",\n        SsoGroupName = \"sso_group_name\",\n        LinkedSsoType = \"SAML\",\n        SsoLinked = true,\n    });\n\n    var ssoTypeLdap = new Harness.Platform.Usergroup(\"sso_type_ldap\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        LinkedSsoId = \"linked_sso_id\",\n        ExternallyManaged = false,\n        Users = new[]\n        {\n            \"user_id\",\n        },\n        NotificationConfigs = new[]\n        {\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"SLACK\",\n                SlackWebhookUrl = \"https://google.com\",\n            },\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"EMAIL\",\n                GroupEmail = \"email@email.com\",\n                SendEmailToAllUsers = true,\n            },\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"MSTEAMS\",\n                MicrosoftTeamsWebhookUrl = \"https://google.com\",\n            },\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"PAGERDUTY\",\n                PagerDutyKey = \"pagerDutyKey\",\n            },\n        },\n        LinkedSsoDisplayName = \"linked_sso_display_name\",\n        SsoGroupId = \"sso_group_id\",\n        SsoGroupName = \"sso_group_name\",\n        LinkedSsoType = \"LDAP\",\n        SsoLinked = true,\n    });\n\n    // Create user group by adding user emails\n    var example = new Harness.Platform.Usergroup(\"example\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        LinkedSsoId = \"linked_sso_id\",\n        ExternallyManaged = false,\n        UserEmails = new[]\n        {\n            \"user@email.com\",\n        },\n        NotificationConfigs = new[]\n        {\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"SLACK\",\n                SlackWebhookUrl = \"https://google.com\",\n            },\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"EMAIL\",\n                GroupEmail = \"email@email.com\",\n                SendEmailToAllUsers = true,\n            },\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"MSTEAMS\",\n                MicrosoftTeamsWebhookUrl = \"https://google.com\",\n            },\n            new Harness.Platform.Inputs.UsergroupNotificationConfigArgs\n            {\n                Type = \"PAGERDUTY\",\n                PagerDutyKey = \"pagerDutyKey\",\n            },\n        },\n        LinkedSsoDisplayName = \"linked_sso_display_name\",\n        SsoGroupId = \"sso_group_name\",\n        SsoGroupName = \"sso_group_name\",\n        LinkedSsoType = \"SAML\",\n        SsoLinked = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewUsergroup(ctx, \"sso_type_saml\", \u0026platform.UsergroupArgs{\n\t\t\tIdentifier:        pulumi.String(\"identifier\"),\n\t\t\tName:              pulumi.String(\"name\"),\n\t\t\tOrgId:             pulumi.String(\"org_id\"),\n\t\t\tProjectId:         pulumi.String(\"project_id\"),\n\t\t\tLinkedSsoId:       pulumi.String(\"linked_sso_id\"),\n\t\t\tExternallyManaged: pulumi.Bool(false),\n\t\t\tUsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user_id\"),\n\t\t\t},\n\t\t\tNotificationConfigs: platform.UsergroupNotificationConfigArray{\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:            pulumi.String(\"SLACK\"),\n\t\t\t\t\tSlackWebhookUrl: pulumi.String(\"https://google.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:                pulumi.String(\"EMAIL\"),\n\t\t\t\t\tGroupEmail:          pulumi.String(\"email@email.com\"),\n\t\t\t\t\tSendEmailToAllUsers: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:                     pulumi.String(\"MSTEAMS\"),\n\t\t\t\t\tMicrosoftTeamsWebhookUrl: pulumi.String(\"https://google.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:         pulumi.String(\"PAGERDUTY\"),\n\t\t\t\t\tPagerDutyKey: pulumi.String(\"pagerDutyKey\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLinkedSsoDisplayName: pulumi.String(\"linked_sso_display_name\"),\n\t\t\tSsoGroupId:           pulumi.String(\"sso_group_name\"),\n\t\t\tSsoGroupName:         pulumi.String(\"sso_group_name\"),\n\t\t\tLinkedSsoType:        pulumi.String(\"SAML\"),\n\t\t\tSsoLinked:            pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewUsergroup(ctx, \"sso_type_ldap\", \u0026platform.UsergroupArgs{\n\t\t\tIdentifier:        pulumi.String(\"identifier\"),\n\t\t\tName:              pulumi.String(\"name\"),\n\t\t\tOrgId:             pulumi.String(\"org_id\"),\n\t\t\tProjectId:         pulumi.String(\"project_id\"),\n\t\t\tLinkedSsoId:       pulumi.String(\"linked_sso_id\"),\n\t\t\tExternallyManaged: pulumi.Bool(false),\n\t\t\tUsers: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user_id\"),\n\t\t\t},\n\t\t\tNotificationConfigs: platform.UsergroupNotificationConfigArray{\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:            pulumi.String(\"SLACK\"),\n\t\t\t\t\tSlackWebhookUrl: pulumi.String(\"https://google.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:                pulumi.String(\"EMAIL\"),\n\t\t\t\t\tGroupEmail:          pulumi.String(\"email@email.com\"),\n\t\t\t\t\tSendEmailToAllUsers: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:                     pulumi.String(\"MSTEAMS\"),\n\t\t\t\t\tMicrosoftTeamsWebhookUrl: pulumi.String(\"https://google.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:         pulumi.String(\"PAGERDUTY\"),\n\t\t\t\t\tPagerDutyKey: pulumi.String(\"pagerDutyKey\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLinkedSsoDisplayName: pulumi.String(\"linked_sso_display_name\"),\n\t\t\tSsoGroupId:           pulumi.String(\"sso_group_id\"),\n\t\t\tSsoGroupName:         pulumi.String(\"sso_group_name\"),\n\t\t\tLinkedSsoType:        pulumi.String(\"LDAP\"),\n\t\t\tSsoLinked:            pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create user group by adding user emails\n\t\t_, err = platform.NewUsergroup(ctx, \"example\", \u0026platform.UsergroupArgs{\n\t\t\tIdentifier:        pulumi.String(\"identifier\"),\n\t\t\tName:              pulumi.String(\"name\"),\n\t\t\tOrgId:             pulumi.String(\"org_id\"),\n\t\t\tProjectId:         pulumi.String(\"project_id\"),\n\t\t\tLinkedSsoId:       pulumi.String(\"linked_sso_id\"),\n\t\t\tExternallyManaged: pulumi.Bool(false),\n\t\t\tUserEmails: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"user@email.com\"),\n\t\t\t},\n\t\t\tNotificationConfigs: platform.UsergroupNotificationConfigArray{\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:            pulumi.String(\"SLACK\"),\n\t\t\t\t\tSlackWebhookUrl: pulumi.String(\"https://google.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:                pulumi.String(\"EMAIL\"),\n\t\t\t\t\tGroupEmail:          pulumi.String(\"email@email.com\"),\n\t\t\t\t\tSendEmailToAllUsers: pulumi.Bool(true),\n\t\t\t\t},\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:                     pulumi.String(\"MSTEAMS\"),\n\t\t\t\t\tMicrosoftTeamsWebhookUrl: pulumi.String(\"https://google.com\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.UsergroupNotificationConfigArgs{\n\t\t\t\t\tType:         pulumi.String(\"PAGERDUTY\"),\n\t\t\t\t\tPagerDutyKey: pulumi.String(\"pagerDutyKey\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tLinkedSsoDisplayName: pulumi.String(\"linked_sso_display_name\"),\n\t\t\tSsoGroupId:           pulumi.String(\"sso_group_name\"),\n\t\t\tSsoGroupName:         pulumi.String(\"sso_group_name\"),\n\t\t\tLinkedSsoType:        pulumi.String(\"SAML\"),\n\t\t\tSsoLinked:            pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Usergroup;\nimport com.pulumi.harness.platform.UsergroupArgs;\nimport com.pulumi.harness.platform.inputs.UsergroupNotificationConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var ssoTypeSaml = new Usergroup(\"ssoTypeSaml\", UsergroupArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .linkedSsoId(\"linked_sso_id\")\n            .externallyManaged(false)\n            .users(\"user_id\")\n            .notificationConfigs(            \n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"SLACK\")\n                    .slackWebhookUrl(\"https://google.com\")\n                    .build(),\n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"EMAIL\")\n                    .groupEmail(\"email@email.com\")\n                    .sendEmailToAllUsers(true)\n                    .build(),\n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"MSTEAMS\")\n                    .microsoftTeamsWebhookUrl(\"https://google.com\")\n                    .build(),\n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"PAGERDUTY\")\n                    .pagerDutyKey(\"pagerDutyKey\")\n                    .build())\n            .linkedSsoDisplayName(\"linked_sso_display_name\")\n            .ssoGroupId(\"sso_group_name\")\n            .ssoGroupName(\"sso_group_name\")\n            .linkedSsoType(\"SAML\")\n            .ssoLinked(true)\n            .build());\n\n        var ssoTypeLdap = new Usergroup(\"ssoTypeLdap\", UsergroupArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .linkedSsoId(\"linked_sso_id\")\n            .externallyManaged(false)\n            .users(\"user_id\")\n            .notificationConfigs(            \n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"SLACK\")\n                    .slackWebhookUrl(\"https://google.com\")\n                    .build(),\n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"EMAIL\")\n                    .groupEmail(\"email@email.com\")\n                    .sendEmailToAllUsers(true)\n                    .build(),\n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"MSTEAMS\")\n                    .microsoftTeamsWebhookUrl(\"https://google.com\")\n                    .build(),\n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"PAGERDUTY\")\n                    .pagerDutyKey(\"pagerDutyKey\")\n                    .build())\n            .linkedSsoDisplayName(\"linked_sso_display_name\")\n            .ssoGroupId(\"sso_group_id\")\n            .ssoGroupName(\"sso_group_name\")\n            .linkedSsoType(\"LDAP\")\n            .ssoLinked(true)\n            .build());\n\n        // Create user group by adding user emails\n        var example = new Usergroup(\"example\", UsergroupArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .linkedSsoId(\"linked_sso_id\")\n            .externallyManaged(false)\n            .userEmails(\"user@email.com\")\n            .notificationConfigs(            \n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"SLACK\")\n                    .slackWebhookUrl(\"https://google.com\")\n                    .build(),\n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"EMAIL\")\n                    .groupEmail(\"email@email.com\")\n                    .sendEmailToAllUsers(true)\n                    .build(),\n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"MSTEAMS\")\n                    .microsoftTeamsWebhookUrl(\"https://google.com\")\n                    .build(),\n                UsergroupNotificationConfigArgs.builder()\n                    .type(\"PAGERDUTY\")\n                    .pagerDutyKey(\"pagerDutyKey\")\n                    .build())\n            .linkedSsoDisplayName(\"linked_sso_display_name\")\n            .ssoGroupId(\"sso_group_name\")\n            .ssoGroupName(\"sso_group_name\")\n            .linkedSsoType(\"SAML\")\n            .ssoLinked(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ssoTypeSaml:\n    type: harness:platform:Usergroup\n    name: sso_type_saml\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      linkedSsoId: linked_sso_id\n      externallyManaged: false\n      users:\n        - user_id\n      notificationConfigs:\n        - type: SLACK\n          slackWebhookUrl: https://google.com\n        - type: EMAIL\n          groupEmail: email@email.com\n          sendEmailToAllUsers: true\n        - type: MSTEAMS\n          microsoftTeamsWebhookUrl: https://google.com\n        - type: PAGERDUTY\n          pagerDutyKey: pagerDutyKey\n      linkedSsoDisplayName: linked_sso_display_name\n      ssoGroupId: sso_group_name\n      ssoGroupName: sso_group_name\n      linkedSsoType: SAML\n      ssoLinked: true\n  ssoTypeLdap:\n    type: harness:platform:Usergroup\n    name: sso_type_ldap\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      linkedSsoId: linked_sso_id\n      externallyManaged: false\n      users:\n        - user_id\n      notificationConfigs:\n        - type: SLACK\n          slackWebhookUrl: https://google.com\n        - type: EMAIL\n          groupEmail: email@email.com\n          sendEmailToAllUsers: true\n        - type: MSTEAMS\n          microsoftTeamsWebhookUrl: https://google.com\n        - type: PAGERDUTY\n          pagerDutyKey: pagerDutyKey\n      linkedSsoDisplayName: linked_sso_display_name\n      ssoGroupId: sso_group_id\n      ssoGroupName: sso_group_name\n      linkedSsoType: LDAP\n      ssoLinked: true\n  # Create user group by adding user emails\n  example:\n    type: harness:platform:Usergroup\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      linkedSsoId: linked_sso_id\n      externallyManaged: false\n      userEmails:\n        - user@email.com\n      notificationConfigs:\n        - type: SLACK\n          slackWebhookUrl: https://google.com\n        - type: EMAIL\n          groupEmail: email@email.com\n          sendEmailToAllUsers: true\n        - type: MSTEAMS\n          microsoftTeamsWebhookUrl: https://google.com\n        - type: PAGERDUTY\n          pagerDutyKey: pagerDutyKey\n      linkedSsoDisplayName: linked_sso_display_name\n      ssoGroupId: sso_group_name\n      ssoGroupName: sso_group_name\n      linkedSsoType: SAML\n      ssoLinked: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level user group\n\n```sh\n$ pulumi import harness:platform/usergroup:Usergroup example \u003cusergroup_id\u003e\n```\n\nImport org level user group\n\n```sh\n$ pulumi import harness:platform/usergroup:Usergroup example \u003cord_id\u003e/\u003cusergroup_id\u003e\n```\n\nImport project level user group\n\n```sh\n$ pulumi import harness:platform/usergroup:Usergroup example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cusergroup_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"externallyManaged":{"type":"boolean","description":"Whether the user group is externally managed.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"linkedSsoDisplayName":{"type":"string","description":"Name of the linked SSO.\n"},"linkedSsoId":{"type":"string","description":"The SSO account ID that the user group is linked to.\n"},"linkedSsoType":{"type":"string","description":"Type of linked SSO.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"notificationConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/UsergroupNotificationConfig:UsergroupNotificationConfig"},"description":"List of notification settings.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"ssoGroupId":{"type":"string","description":"Identifier of the userGroup in SSO.\n"},"ssoGroupName":{"type":"string","description":"Name of the SSO userGroup.\n"},"ssoLinked":{"type":"boolean","description":"Whether sso is linked or not.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"userEmails":{"type":"array","items":{"type":"string"},"description":"List of user emails in the UserGroup. Either provide list of users or list of user emails.\n"},"users":{"type":"array","items":{"type":"string"},"description":"List of users in the UserGroup. Either provide list of users or list of user emails. (Should be null for SSO managed)\n"}},"required":["identifier","name","ssoLinked"],"inputProperties":{"description":{"type":"string","description":"Description of the resource.\n"},"externallyManaged":{"type":"boolean","description":"Whether the user group is externally managed.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"linkedSsoDisplayName":{"type":"string","description":"Name of the linked SSO.\n"},"linkedSsoId":{"type":"string","description":"The SSO account ID that the user group is linked to.\n"},"linkedSsoType":{"type":"string","description":"Type of linked SSO.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"notificationConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/UsergroupNotificationConfig:UsergroupNotificationConfig"},"description":"List of notification settings.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"ssoGroupId":{"type":"string","description":"Identifier of the userGroup in SSO.\n"},"ssoGroupName":{"type":"string","description":"Name of the SSO userGroup.\n"},"ssoLinked":{"type":"boolean","description":"Whether sso is linked or not.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"userEmails":{"type":"array","items":{"type":"string"},"description":"List of user emails in the UserGroup. Either provide list of users or list of user emails.\n"},"users":{"type":"array","items":{"type":"string"},"description":"List of users in the UserGroup. Either provide list of users or list of user emails. (Should be null for SSO managed)\n"}},"requiredInputs":["identifier"],"stateInputs":{"description":"Input properties used for looking up and filtering Usergroup resources.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"externallyManaged":{"type":"boolean","description":"Whether the user group is externally managed.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"linkedSsoDisplayName":{"type":"string","description":"Name of the linked SSO.\n"},"linkedSsoId":{"type":"string","description":"The SSO account ID that the user group is linked to.\n"},"linkedSsoType":{"type":"string","description":"Type of linked SSO.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"notificationConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/UsergroupNotificationConfig:UsergroupNotificationConfig"},"description":"List of notification settings.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"ssoGroupId":{"type":"string","description":"Identifier of the userGroup in SSO.\n"},"ssoGroupName":{"type":"string","description":"Name of the SSO userGroup.\n"},"ssoLinked":{"type":"boolean","description":"Whether sso is linked or not.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"userEmails":{"type":"array","items":{"type":"string"},"description":"List of user emails in the UserGroup. Either provide list of users or list of user emails.\n"},"users":{"type":"array","items":{"type":"string"},"description":"List of users in the UserGroup. Either provide list of users or list of user emails. (Should be null for SSO managed)\n"}},"type":"object"}},"harness:platform/variables:Variables":{"description":"Resource for creating a Harness Variables.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = new harness.platform.Variables(\"test\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    type: \"String\",\n    spec: {\n        valueType: \"FIXED\",\n        fixedValue: \"fixedValue\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.Variables(\"test\",\n    identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    type=\"String\",\n    spec={\n        \"value_type\": \"FIXED\",\n        \"fixed_value\": \"fixedValue\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = new Harness.Platform.Variables(\"test\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Type = \"String\",\n        Spec = new Harness.Platform.Inputs.VariablesSpecArgs\n        {\n            ValueType = \"FIXED\",\n            FixedValue = \"fixedValue\",\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewVariables(ctx, \"test\", \u0026platform.VariablesArgs{\n\t\t\tIdentifier: pulumi.String(\"identifier\"),\n\t\t\tName:       pulumi.String(\"name\"),\n\t\t\tOrgId:      pulumi.String(\"org_id\"),\n\t\t\tProjectId:  pulumi.String(\"project_id\"),\n\t\t\tType:       pulumi.String(\"String\"),\n\t\t\tSpec: \u0026platform.VariablesSpecArgs{\n\t\t\t\tValueType:  pulumi.String(\"FIXED\"),\n\t\t\t\tFixedValue: pulumi.String(\"fixedValue\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Variables;\nimport com.pulumi.harness.platform.VariablesArgs;\nimport com.pulumi.harness.platform.inputs.VariablesSpecArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var test = new Variables(\"test\", VariablesArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .type(\"String\")\n            .spec(VariablesSpecArgs.builder()\n                .valueType(\"FIXED\")\n                .fixedValue(\"fixedValue\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  test:\n    type: harness:platform:Variables\n    properties:\n      identifier: identifier\n      name: name\n      orgId: org_id\n      projectId: project_id\n      type: String\n      spec:\n        valueType: FIXED\n        fixedValue: fixedValue\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level variables\n\n```sh\n$ pulumi import harness:platform/variables:Variables example \u003cvariable_id\u003e\n```\n\nImport org level variables\n\n```sh\n$ pulumi import harness:platform/variables:Variables example \u003cord_id\u003e/\u003cvariable_id\u003e\n```\n\nImport project level variables\n\n```sh\n$ pulumi import harness:platform/variables:Variables example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cvariable_id\u003e\n```\n\n","properties":{"description":{"type":"string","description":"Description of the entity\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"name":{"type":"string","description":"Name of the Variable\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity\n"},"spec":{"$ref":"#/types/harness:platform/VariablesSpec:VariablesSpec","description":"List of Spec Fields.\n"},"type":{"type":"string","description":"Type of Variable\n"}},"required":["identifier","name","spec","type"],"inputProperties":{"description":{"type":"string","description":"Description of the entity\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the Variable\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier for the Entity\n","willReplaceOnChanges":true},"spec":{"$ref":"#/types/harness:platform/VariablesSpec:VariablesSpec","description":"List of Spec Fields.\n"},"type":{"type":"string","description":"Type of Variable\n"}},"requiredInputs":["identifier","spec","type"],"stateInputs":{"description":"Input properties used for looking up and filtering Variables resources.\n","properties":{"description":{"type":"string","description":"Description of the entity\n"},"identifier":{"type":"string","description":"Unique identifier of the resource\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the Variable\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project Identifier for the Entity\n","willReplaceOnChanges":true},"spec":{"$ref":"#/types/harness:platform/VariablesSpec:VariablesSpec","description":"List of Spec Fields.\n"},"type":{"type":"string","description":"Type of Variable\n"}},"type":"object"}},"harness:platform/vaultConnector:VaultConnector":{"description":"Resource for creating a HashiCorp Vault Secret Manager connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst awsAuth = new harness.platform.VaultConnector(\"aws_auth\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    awsRegion: \"aws_region\",\n    basePath: \"base_path\",\n    accessType: \"AWS_IAM\",\n    \"default\": false,\n    xvaultAwsIamServerId: `account.${test.id}`,\n    readOnly: true,\n    renewalIntervalMinutes: 60,\n    secretEngineManuallyConfigured: true,\n    secretEngineName: \"secret_engine_name\",\n    secretEngineVersion: 2,\n    vaultAwsIamRole: \"vault_aws_iam_role\",\n    useAwsIam: true,\n    useK8sAuth: false,\n    useVaultAgent: false,\n    delegateSelectors: [\"harness-delegate\"],\n    vaultUrl: \"https://vault_url.com\",\n    useJwtAuth: false,\n});\nconst appRole = new harness.platform.VaultConnector(\"app_role\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    appRoleId: \"app_role_id\",\n    basePath: \"base_path\",\n    accessType: \"APP_ROLE\",\n    \"default\": false,\n    secretId: `account.${test.id}`,\n    readOnly: true,\n    renewalIntervalMinutes: 60,\n    secretEngineManuallyConfigured: true,\n    secretEngineName: \"secret_engine_name\",\n    secretEngineVersion: 2,\n    useAwsIam: false,\n    useK8sAuth: false,\n    useVaultAgent: false,\n    renewAppRoleToken: true,\n    delegateSelectors: [\"harness-delegate\"],\n    vaultUrl: \"https://vault_url.com\",\n    useJwtAuth: false,\n});\nconst k8sAuth = new harness.platform.VaultConnector(\"k8s_auth\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    authToken: `account.${test.id}`,\n    basePath: \"base_path\",\n    accessType: \"K8s_AUTH\",\n    \"default\": false,\n    k8sAuthEndpoint: \"k8s_auth_endpoint\",\n    namespace: \"namespace\",\n    readOnly: true,\n    renewalIntervalMinutes: 10,\n    secretEngineManuallyConfigured: true,\n    secretEngineName: \"secret_engine_name\",\n    secretEngineVersion: 2,\n    serviceAccountTokenPath: \"service_account_token_path\",\n    useAwsIam: false,\n    useK8sAuth: true,\n    useVaultAgent: false,\n    vaultK8sAuthRole: \"vault_k8s_auth_role\",\n    vaultAwsIamRole: \"vault_aws_iam_role\",\n    delegateSelectors: [\"harness-delegate\"],\n    vaultUrl: \"https://vault_url.com\",\n    useJwtAuth: false,\n});\nconst vaultAgent = new harness.platform.VaultConnector(\"vault_agent\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    authToken: `account.${test.id}`,\n    basePath: \"base_path\",\n    accessType: \"VAULT_AGENT\",\n    \"default\": false,\n    namespace: \"namespace\",\n    readOnly: true,\n    renewalIntervalMinutes: 10,\n    secretEngineManuallyConfigured: true,\n    secretEngineName: \"secret_engine_name\",\n    secretEngineVersion: 2,\n    useAwsIam: false,\n    useK8sAuth: false,\n    useVaultAgent: true,\n    sinkPath: \"sink_path\",\n    delegateSelectors: [\"harness-delegate\"],\n    vaultUrl: \"https://vault_url.com\",\n    useJwtAuth: false,\n});\nconst token = new harness.platform.VaultConnector(\"token\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    authToken: `account.${test.id}`,\n    basePath: \"base_path\",\n    accessType: \"TOKEN\",\n    \"default\": false,\n    namespace: \"namespace\",\n    readOnly: true,\n    renewalIntervalMinutes: 10,\n    secretEngineManuallyConfigured: true,\n    secretEngineName: \"secret_engine_name\",\n    secretEngineVersion: 2,\n    useAwsIam: false,\n    useK8sAuth: false,\n    vaultUrl: \"https://vault_url.com\",\n    useJwtAuth: false,\n});\nconst jwt = new harness.platform.VaultConnector(\"jwt\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    basePath: \"base_path\",\n    accessType: \"JWT\",\n    \"default\": false,\n    readOnly: true,\n    renewalIntervalMinutes: 60,\n    secretEngineManuallyConfigured: true,\n    secretEngineName: \"secret_engine_name\",\n    secretEngineVersion: 2,\n    useAwsIam: false,\n    useK8sAuth: false,\n    useVaultAgent: false,\n    renewAppRoleToken: false,\n    delegateSelectors: [\"harness-delegate\"],\n    vaultUrl: \"https://vault_url.com\",\n    useJwtAuth: true,\n    vaultJwtAuthRole: \"vault_jwt_auth_role\",\n    vaultJwtAuthPath: \"vault_jwt_auth_path\",\n    executeOnDelegate: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\naws_auth = harness.platform.VaultConnector(\"aws_auth\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    aws_region=\"aws_region\",\n    base_path=\"base_path\",\n    access_type=\"AWS_IAM\",\n    default=False,\n    xvault_aws_iam_server_id=f\"account.{test['id']}\",\n    read_only=True,\n    renewal_interval_minutes=60,\n    secret_engine_manually_configured=True,\n    secret_engine_name=\"secret_engine_name\",\n    secret_engine_version=2,\n    vault_aws_iam_role=\"vault_aws_iam_role\",\n    use_aws_iam=True,\n    use_k8s_auth=False,\n    use_vault_agent=False,\n    delegate_selectors=[\"harness-delegate\"],\n    vault_url=\"https://vault_url.com\",\n    use_jwt_auth=False)\napp_role = harness.platform.VaultConnector(\"app_role\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    app_role_id=\"app_role_id\",\n    base_path=\"base_path\",\n    access_type=\"APP_ROLE\",\n    default=False,\n    secret_id=f\"account.{test['id']}\",\n    read_only=True,\n    renewal_interval_minutes=60,\n    secret_engine_manually_configured=True,\n    secret_engine_name=\"secret_engine_name\",\n    secret_engine_version=2,\n    use_aws_iam=False,\n    use_k8s_auth=False,\n    use_vault_agent=False,\n    renew_app_role_token=True,\n    delegate_selectors=[\"harness-delegate\"],\n    vault_url=\"https://vault_url.com\",\n    use_jwt_auth=False)\nk8s_auth = harness.platform.VaultConnector(\"k8s_auth\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    auth_token=f\"account.{test['id']}\",\n    base_path=\"base_path\",\n    access_type=\"K8s_AUTH\",\n    default=False,\n    k8s_auth_endpoint=\"k8s_auth_endpoint\",\n    namespace=\"namespace\",\n    read_only=True,\n    renewal_interval_minutes=10,\n    secret_engine_manually_configured=True,\n    secret_engine_name=\"secret_engine_name\",\n    secret_engine_version=2,\n    service_account_token_path=\"service_account_token_path\",\n    use_aws_iam=False,\n    use_k8s_auth=True,\n    use_vault_agent=False,\n    vault_k8s_auth_role=\"vault_k8s_auth_role\",\n    vault_aws_iam_role=\"vault_aws_iam_role\",\n    delegate_selectors=[\"harness-delegate\"],\n    vault_url=\"https://vault_url.com\",\n    use_jwt_auth=False)\nvault_agent = harness.platform.VaultConnector(\"vault_agent\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    auth_token=f\"account.{test['id']}\",\n    base_path=\"base_path\",\n    access_type=\"VAULT_AGENT\",\n    default=False,\n    namespace=\"namespace\",\n    read_only=True,\n    renewal_interval_minutes=10,\n    secret_engine_manually_configured=True,\n    secret_engine_name=\"secret_engine_name\",\n    secret_engine_version=2,\n    use_aws_iam=False,\n    use_k8s_auth=False,\n    use_vault_agent=True,\n    sink_path=\"sink_path\",\n    delegate_selectors=[\"harness-delegate\"],\n    vault_url=\"https://vault_url.com\",\n    use_jwt_auth=False)\ntoken = harness.platform.VaultConnector(\"token\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    auth_token=f\"account.{test['id']}\",\n    base_path=\"base_path\",\n    access_type=\"TOKEN\",\n    default=False,\n    namespace=\"namespace\",\n    read_only=True,\n    renewal_interval_minutes=10,\n    secret_engine_manually_configured=True,\n    secret_engine_name=\"secret_engine_name\",\n    secret_engine_version=2,\n    use_aws_iam=False,\n    use_k8s_auth=False,\n    vault_url=\"https://vault_url.com\",\n    use_jwt_auth=False)\njwt = harness.platform.VaultConnector(\"jwt\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    base_path=\"base_path\",\n    access_type=\"JWT\",\n    default=False,\n    read_only=True,\n    renewal_interval_minutes=60,\n    secret_engine_manually_configured=True,\n    secret_engine_name=\"secret_engine_name\",\n    secret_engine_version=2,\n    use_aws_iam=False,\n    use_k8s_auth=False,\n    use_vault_agent=False,\n    renew_app_role_token=False,\n    delegate_selectors=[\"harness-delegate\"],\n    vault_url=\"https://vault_url.com\",\n    use_jwt_auth=True,\n    vault_jwt_auth_role=\"vault_jwt_auth_role\",\n    vault_jwt_auth_path=\"vault_jwt_auth_path\",\n    execute_on_delegate=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var awsAuth = new Harness.Platform.VaultConnector(\"aws_auth\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        AwsRegion = \"aws_region\",\n        BasePath = \"base_path\",\n        AccessType = \"AWS_IAM\",\n        Default = false,\n        XvaultAwsIamServerId = $\"account.{test.Id}\",\n        ReadOnly = true,\n        RenewalIntervalMinutes = 60,\n        SecretEngineManuallyConfigured = true,\n        SecretEngineName = \"secret_engine_name\",\n        SecretEngineVersion = 2,\n        VaultAwsIamRole = \"vault_aws_iam_role\",\n        UseAwsIam = true,\n        UseK8sAuth = false,\n        UseVaultAgent = false,\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        VaultUrl = \"https://vault_url.com\",\n        UseJwtAuth = false,\n    });\n\n    var appRole = new Harness.Platform.VaultConnector(\"app_role\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        AppRoleId = \"app_role_id\",\n        BasePath = \"base_path\",\n        AccessType = \"APP_ROLE\",\n        Default = false,\n        SecretId = $\"account.{test.Id}\",\n        ReadOnly = true,\n        RenewalIntervalMinutes = 60,\n        SecretEngineManuallyConfigured = true,\n        SecretEngineName = \"secret_engine_name\",\n        SecretEngineVersion = 2,\n        UseAwsIam = false,\n        UseK8sAuth = false,\n        UseVaultAgent = false,\n        RenewAppRoleToken = true,\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        VaultUrl = \"https://vault_url.com\",\n        UseJwtAuth = false,\n    });\n\n    var k8sAuth = new Harness.Platform.VaultConnector(\"k8s_auth\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        AuthToken = $\"account.{test.Id}\",\n        BasePath = \"base_path\",\n        AccessType = \"K8s_AUTH\",\n        Default = false,\n        K8sAuthEndpoint = \"k8s_auth_endpoint\",\n        Namespace = \"namespace\",\n        ReadOnly = true,\n        RenewalIntervalMinutes = 10,\n        SecretEngineManuallyConfigured = true,\n        SecretEngineName = \"secret_engine_name\",\n        SecretEngineVersion = 2,\n        ServiceAccountTokenPath = \"service_account_token_path\",\n        UseAwsIam = false,\n        UseK8sAuth = true,\n        UseVaultAgent = false,\n        VaultK8sAuthRole = \"vault_k8s_auth_role\",\n        VaultAwsIamRole = \"vault_aws_iam_role\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        VaultUrl = \"https://vault_url.com\",\n        UseJwtAuth = false,\n    });\n\n    var vaultAgent = new Harness.Platform.VaultConnector(\"vault_agent\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        AuthToken = $\"account.{test.Id}\",\n        BasePath = \"base_path\",\n        AccessType = \"VAULT_AGENT\",\n        Default = false,\n        Namespace = \"namespace\",\n        ReadOnly = true,\n        RenewalIntervalMinutes = 10,\n        SecretEngineManuallyConfigured = true,\n        SecretEngineName = \"secret_engine_name\",\n        SecretEngineVersion = 2,\n        UseAwsIam = false,\n        UseK8sAuth = false,\n        UseVaultAgent = true,\n        SinkPath = \"sink_path\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        VaultUrl = \"https://vault_url.com\",\n        UseJwtAuth = false,\n    });\n\n    var token = new Harness.Platform.VaultConnector(\"token\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        AuthToken = $\"account.{test.Id}\",\n        BasePath = \"base_path\",\n        AccessType = \"TOKEN\",\n        Default = false,\n        Namespace = \"namespace\",\n        ReadOnly = true,\n        RenewalIntervalMinutes = 10,\n        SecretEngineManuallyConfigured = true,\n        SecretEngineName = \"secret_engine_name\",\n        SecretEngineVersion = 2,\n        UseAwsIam = false,\n        UseK8sAuth = false,\n        VaultUrl = \"https://vault_url.com\",\n        UseJwtAuth = false,\n    });\n\n    var jwt = new Harness.Platform.VaultConnector(\"jwt\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        BasePath = \"base_path\",\n        AccessType = \"JWT\",\n        Default = false,\n        ReadOnly = true,\n        RenewalIntervalMinutes = 60,\n        SecretEngineManuallyConfigured = true,\n        SecretEngineName = \"secret_engine_name\",\n        SecretEngineVersion = 2,\n        UseAwsIam = false,\n        UseK8sAuth = false,\n        UseVaultAgent = false,\n        RenewAppRoleToken = false,\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        VaultUrl = \"https://vault_url.com\",\n        UseJwtAuth = true,\n        VaultJwtAuthRole = \"vault_jwt_auth_role\",\n        VaultJwtAuthPath = \"vault_jwt_auth_path\",\n        ExecuteOnDelegate = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewVaultConnector(ctx, \"aws_auth\", \u0026platform.VaultConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tAwsRegion:                      pulumi.String(\"aws_region\"),\n\t\t\tBasePath:                       pulumi.String(\"base_path\"),\n\t\t\tAccessType:                     pulumi.String(\"AWS_IAM\"),\n\t\t\tDefault:                        pulumi.Bool(false),\n\t\t\tXvaultAwsIamServerId:           pulumi.Sprintf(\"account.%v\", test.Id),\n\t\t\tReadOnly:                       pulumi.Bool(true),\n\t\t\tRenewalIntervalMinutes:         pulumi.Int(60),\n\t\t\tSecretEngineManuallyConfigured: pulumi.Bool(true),\n\t\t\tSecretEngineName:               pulumi.String(\"secret_engine_name\"),\n\t\t\tSecretEngineVersion:            pulumi.Int(2),\n\t\t\tVaultAwsIamRole:                pulumi.String(\"vault_aws_iam_role\"),\n\t\t\tUseAwsIam:                      pulumi.Bool(true),\n\t\t\tUseK8sAuth:                     pulumi.Bool(false),\n\t\t\tUseVaultAgent:                  pulumi.Bool(false),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tVaultUrl:   pulumi.String(\"https://vault_url.com\"),\n\t\t\tUseJwtAuth: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewVaultConnector(ctx, \"app_role\", \u0026platform.VaultConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tAppRoleId:                      pulumi.String(\"app_role_id\"),\n\t\t\tBasePath:                       pulumi.String(\"base_path\"),\n\t\t\tAccessType:                     pulumi.String(\"APP_ROLE\"),\n\t\t\tDefault:                        pulumi.Bool(false),\n\t\t\tSecretId:                       pulumi.Sprintf(\"account.%v\", test.Id),\n\t\t\tReadOnly:                       pulumi.Bool(true),\n\t\t\tRenewalIntervalMinutes:         pulumi.Int(60),\n\t\t\tSecretEngineManuallyConfigured: pulumi.Bool(true),\n\t\t\tSecretEngineName:               pulumi.String(\"secret_engine_name\"),\n\t\t\tSecretEngineVersion:            pulumi.Int(2),\n\t\t\tUseAwsIam:                      pulumi.Bool(false),\n\t\t\tUseK8sAuth:                     pulumi.Bool(false),\n\t\t\tUseVaultAgent:                  pulumi.Bool(false),\n\t\t\tRenewAppRoleToken:              pulumi.Bool(true),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tVaultUrl:   pulumi.String(\"https://vault_url.com\"),\n\t\t\tUseJwtAuth: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewVaultConnector(ctx, \"k8s_auth\", \u0026platform.VaultConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tAuthToken:                      pulumi.Sprintf(\"account.%v\", test.Id),\n\t\t\tBasePath:                       pulumi.String(\"base_path\"),\n\t\t\tAccessType:                     pulumi.String(\"K8s_AUTH\"),\n\t\t\tDefault:                        pulumi.Bool(false),\n\t\t\tK8sAuthEndpoint:                pulumi.String(\"k8s_auth_endpoint\"),\n\t\t\tNamespace:                      pulumi.String(\"namespace\"),\n\t\t\tReadOnly:                       pulumi.Bool(true),\n\t\t\tRenewalIntervalMinutes:         pulumi.Int(10),\n\t\t\tSecretEngineManuallyConfigured: pulumi.Bool(true),\n\t\t\tSecretEngineName:               pulumi.String(\"secret_engine_name\"),\n\t\t\tSecretEngineVersion:            pulumi.Int(2),\n\t\t\tServiceAccountTokenPath:        pulumi.String(\"service_account_token_path\"),\n\t\t\tUseAwsIam:                      pulumi.Bool(false),\n\t\t\tUseK8sAuth:                     pulumi.Bool(true),\n\t\t\tUseVaultAgent:                  pulumi.Bool(false),\n\t\t\tVaultK8sAuthRole:               pulumi.String(\"vault_k8s_auth_role\"),\n\t\t\tVaultAwsIamRole:                pulumi.String(\"vault_aws_iam_role\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tVaultUrl:   pulumi.String(\"https://vault_url.com\"),\n\t\t\tUseJwtAuth: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewVaultConnector(ctx, \"vault_agent\", \u0026platform.VaultConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tAuthToken:                      pulumi.Sprintf(\"account.%v\", test.Id),\n\t\t\tBasePath:                       pulumi.String(\"base_path\"),\n\t\t\tAccessType:                     pulumi.String(\"VAULT_AGENT\"),\n\t\t\tDefault:                        pulumi.Bool(false),\n\t\t\tNamespace:                      pulumi.String(\"namespace\"),\n\t\t\tReadOnly:                       pulumi.Bool(true),\n\t\t\tRenewalIntervalMinutes:         pulumi.Int(10),\n\t\t\tSecretEngineManuallyConfigured: pulumi.Bool(true),\n\t\t\tSecretEngineName:               pulumi.String(\"secret_engine_name\"),\n\t\t\tSecretEngineVersion:            pulumi.Int(2),\n\t\t\tUseAwsIam:                      pulumi.Bool(false),\n\t\t\tUseK8sAuth:                     pulumi.Bool(false),\n\t\t\tUseVaultAgent:                  pulumi.Bool(true),\n\t\t\tSinkPath:                       pulumi.String(\"sink_path\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tVaultUrl:   pulumi.String(\"https://vault_url.com\"),\n\t\t\tUseJwtAuth: pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewVaultConnector(ctx, \"token\", \u0026platform.VaultConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tAuthToken:                      pulumi.Sprintf(\"account.%v\", test.Id),\n\t\t\tBasePath:                       pulumi.String(\"base_path\"),\n\t\t\tAccessType:                     pulumi.String(\"TOKEN\"),\n\t\t\tDefault:                        pulumi.Bool(false),\n\t\t\tNamespace:                      pulumi.String(\"namespace\"),\n\t\t\tReadOnly:                       pulumi.Bool(true),\n\t\t\tRenewalIntervalMinutes:         pulumi.Int(10),\n\t\t\tSecretEngineManuallyConfigured: pulumi.Bool(true),\n\t\t\tSecretEngineName:               pulumi.String(\"secret_engine_name\"),\n\t\t\tSecretEngineVersion:            pulumi.Int(2),\n\t\t\tUseAwsIam:                      pulumi.Bool(false),\n\t\t\tUseK8sAuth:                     pulumi.Bool(false),\n\t\t\tVaultUrl:                       pulumi.String(\"https://vault_url.com\"),\n\t\t\tUseJwtAuth:                     pulumi.Bool(false),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.NewVaultConnector(ctx, \"jwt\", \u0026platform.VaultConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier\"),\n\t\t\tName:        pulumi.String(\"name\"),\n\t\t\tDescription: pulumi.String(\"test\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\n\t\t\tBasePath:                       pulumi.String(\"base_path\"),\n\t\t\tAccessType:                     pulumi.String(\"JWT\"),\n\t\t\tDefault:                        pulumi.Bool(false),\n\t\t\tReadOnly:                       pulumi.Bool(true),\n\t\t\tRenewalIntervalMinutes:         pulumi.Int(60),\n\t\t\tSecretEngineManuallyConfigured: pulumi.Bool(true),\n\t\t\tSecretEngineName:               pulumi.String(\"secret_engine_name\"),\n\t\t\tSecretEngineVersion:            pulumi.Int(2),\n\t\t\tUseAwsIam:                      pulumi.Bool(false),\n\t\t\tUseK8sAuth:                     pulumi.Bool(false),\n\t\t\tUseVaultAgent:                  pulumi.Bool(false),\n\t\t\tRenewAppRoleToken:              pulumi.Bool(false),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tVaultUrl:          pulumi.String(\"https://vault_url.com\"),\n\t\t\tUseJwtAuth:        pulumi.Bool(true),\n\t\t\tVaultJwtAuthRole:  pulumi.String(\"vault_jwt_auth_role\"),\n\t\t\tVaultJwtAuthPath:  pulumi.String(\"vault_jwt_auth_path\"),\n\t\t\tExecuteOnDelegate: pulumi.Bool(true),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.VaultConnector;\nimport com.pulumi.harness.platform.VaultConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var awsAuth = new VaultConnector(\"awsAuth\", VaultConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .awsRegion(\"aws_region\")\n            .basePath(\"base_path\")\n            .accessType(\"AWS_IAM\")\n            .default_(false)\n            .xvaultAwsIamServerId(String.format(\"account.%s\", test.id()))\n            .readOnly(true)\n            .renewalIntervalMinutes(60)\n            .secretEngineManuallyConfigured(true)\n            .secretEngineName(\"secret_engine_name\")\n            .secretEngineVersion(2)\n            .vaultAwsIamRole(\"vault_aws_iam_role\")\n            .useAwsIam(true)\n            .useK8sAuth(false)\n            .useVaultAgent(false)\n            .delegateSelectors(\"harness-delegate\")\n            .vaultUrl(\"https://vault_url.com\")\n            .useJwtAuth(false)\n            .build());\n\n        var appRole = new VaultConnector(\"appRole\", VaultConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .appRoleId(\"app_role_id\")\n            .basePath(\"base_path\")\n            .accessType(\"APP_ROLE\")\n            .default_(false)\n            .secretId(String.format(\"account.%s\", test.id()))\n            .readOnly(true)\n            .renewalIntervalMinutes(60)\n            .secretEngineManuallyConfigured(true)\n            .secretEngineName(\"secret_engine_name\")\n            .secretEngineVersion(2)\n            .useAwsIam(false)\n            .useK8sAuth(false)\n            .useVaultAgent(false)\n            .renewAppRoleToken(true)\n            .delegateSelectors(\"harness-delegate\")\n            .vaultUrl(\"https://vault_url.com\")\n            .useJwtAuth(false)\n            .build());\n\n        var k8sAuth = new VaultConnector(\"k8sAuth\", VaultConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .authToken(String.format(\"account.%s\", test.id()))\n            .basePath(\"base_path\")\n            .accessType(\"K8s_AUTH\")\n            .default_(false)\n            .k8sAuthEndpoint(\"k8s_auth_endpoint\")\n            .namespace(\"namespace\")\n            .readOnly(true)\n            .renewalIntervalMinutes(10)\n            .secretEngineManuallyConfigured(true)\n            .secretEngineName(\"secret_engine_name\")\n            .secretEngineVersion(2)\n            .serviceAccountTokenPath(\"service_account_token_path\")\n            .useAwsIam(false)\n            .useK8sAuth(true)\n            .useVaultAgent(false)\n            .vaultK8sAuthRole(\"vault_k8s_auth_role\")\n            .vaultAwsIamRole(\"vault_aws_iam_role\")\n            .delegateSelectors(\"harness-delegate\")\n            .vaultUrl(\"https://vault_url.com\")\n            .useJwtAuth(false)\n            .build());\n\n        var vaultAgent = new VaultConnector(\"vaultAgent\", VaultConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .authToken(String.format(\"account.%s\", test.id()))\n            .basePath(\"base_path\")\n            .accessType(\"VAULT_AGENT\")\n            .default_(false)\n            .namespace(\"namespace\")\n            .readOnly(true)\n            .renewalIntervalMinutes(10)\n            .secretEngineManuallyConfigured(true)\n            .secretEngineName(\"secret_engine_name\")\n            .secretEngineVersion(2)\n            .useAwsIam(false)\n            .useK8sAuth(false)\n            .useVaultAgent(true)\n            .sinkPath(\"sink_path\")\n            .delegateSelectors(\"harness-delegate\")\n            .vaultUrl(\"https://vault_url.com\")\n            .useJwtAuth(false)\n            .build());\n\n        var token = new VaultConnector(\"token\", VaultConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .authToken(String.format(\"account.%s\", test.id()))\n            .basePath(\"base_path\")\n            .accessType(\"TOKEN\")\n            .default_(false)\n            .namespace(\"namespace\")\n            .readOnly(true)\n            .renewalIntervalMinutes(10)\n            .secretEngineManuallyConfigured(true)\n            .secretEngineName(\"secret_engine_name\")\n            .secretEngineVersion(2)\n            .useAwsIam(false)\n            .useK8sAuth(false)\n            .vaultUrl(\"https://vault_url.com\")\n            .useJwtAuth(false)\n            .build());\n\n        var jwt = new VaultConnector(\"jwt\", VaultConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .basePath(\"base_path\")\n            .accessType(\"JWT\")\n            .default_(false)\n            .readOnly(true)\n            .renewalIntervalMinutes(60)\n            .secretEngineManuallyConfigured(true)\n            .secretEngineName(\"secret_engine_name\")\n            .secretEngineVersion(2)\n            .useAwsIam(false)\n            .useK8sAuth(false)\n            .useVaultAgent(false)\n            .renewAppRoleToken(false)\n            .delegateSelectors(\"harness-delegate\")\n            .vaultUrl(\"https://vault_url.com\")\n            .useJwtAuth(true)\n            .vaultJwtAuthRole(\"vault_jwt_auth_role\")\n            .vaultJwtAuthPath(\"vault_jwt_auth_path\")\n            .executeOnDelegate(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  awsAuth:\n    type: harness:platform:VaultConnector\n    name: aws_auth\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      awsRegion: aws_region\n      basePath: base_path\n      accessType: AWS_IAM\n      default: false\n      xvaultAwsIamServerId: account.${test.id}\n      readOnly: true\n      renewalIntervalMinutes: 60\n      secretEngineManuallyConfigured: true\n      secretEngineName: secret_engine_name\n      secretEngineVersion: 2\n      vaultAwsIamRole: vault_aws_iam_role\n      useAwsIam: true\n      useK8sAuth: false\n      useVaultAgent: false\n      delegateSelectors:\n        - harness-delegate\n      vaultUrl: https://vault_url.com\n      useJwtAuth: false\n  appRole:\n    type: harness:platform:VaultConnector\n    name: app_role\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      appRoleId: app_role_id\n      basePath: base_path\n      accessType: APP_ROLE\n      default: false\n      secretId: account.${test.id}\n      readOnly: true\n      renewalIntervalMinutes: 60\n      secretEngineManuallyConfigured: true\n      secretEngineName: secret_engine_name\n      secretEngineVersion: 2\n      useAwsIam: false\n      useK8sAuth: false\n      useVaultAgent: false\n      renewAppRoleToken: true\n      delegateSelectors:\n        - harness-delegate\n      vaultUrl: https://vault_url.com\n      useJwtAuth: false\n  k8sAuth:\n    type: harness:platform:VaultConnector\n    name: k8s_auth\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      authToken: account.${test.id}\n      basePath: base_path\n      accessType: K8s_AUTH\n      default: false\n      k8sAuthEndpoint: k8s_auth_endpoint\n      namespace: namespace\n      readOnly: true\n      renewalIntervalMinutes: 10\n      secretEngineManuallyConfigured: true\n      secretEngineName: secret_engine_name\n      secretEngineVersion: 2\n      serviceAccountTokenPath: service_account_token_path\n      useAwsIam: false\n      useK8sAuth: true\n      useVaultAgent: false\n      vaultK8sAuthRole: vault_k8s_auth_role\n      vaultAwsIamRole: vault_aws_iam_role\n      delegateSelectors:\n        - harness-delegate\n      vaultUrl: https://vault_url.com\n      useJwtAuth: false\n  vaultAgent:\n    type: harness:platform:VaultConnector\n    name: vault_agent\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      authToken: account.${test.id}\n      basePath: base_path\n      accessType: VAULT_AGENT\n      default: false\n      namespace: namespace\n      readOnly: true\n      renewalIntervalMinutes: 10\n      secretEngineManuallyConfigured: true\n      secretEngineName: secret_engine_name\n      secretEngineVersion: 2\n      useAwsIam: false\n      useK8sAuth: false\n      useVaultAgent: true\n      sinkPath: sink_path\n      delegateSelectors:\n        - harness-delegate\n      vaultUrl: https://vault_url.com\n      useJwtAuth: false\n  token:\n    type: harness:platform:VaultConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      authToken: account.${test.id}\n      basePath: base_path\n      accessType: TOKEN\n      default: false\n      namespace: namespace\n      readOnly: true\n      renewalIntervalMinutes: 10\n      secretEngineManuallyConfigured: true\n      secretEngineName: secret_engine_name\n      secretEngineVersion: 2\n      useAwsIam: false\n      useK8sAuth: false\n      vaultUrl: https://vault_url.com\n      useJwtAuth: false\n  jwt:\n    type: harness:platform:VaultConnector\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      basePath: base_path\n      accessType: JWT\n      default: false\n      readOnly: true\n      renewalIntervalMinutes: 60\n      secretEngineManuallyConfigured: true\n      secretEngineName: secret_engine_name\n      secretEngineVersion: 2\n      useAwsIam: false\n      useK8sAuth: false\n      useVaultAgent: false\n      renewAppRoleToken: false\n      delegateSelectors:\n        - harness-delegate\n      vaultUrl: https://vault_url.com\n      useJwtAuth: true\n      vaultJwtAuthRole: vault_jwt_auth_role\n      vaultJwtAuthPath: vault_jwt_auth_path\n      executeOnDelegate: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport account level vault connector\n\n```sh\n$ pulumi import harness:platform/vaultConnector:VaultConnector example \u003cconnector_id\u003e\n```\n\nImport org level vault connector\n\n```sh\n$ pulumi import harness:platform/vaultConnector:VaultConnector example \u003cord_id\u003e/\u003cconnector_id\u003e\n```\n\nImport project level vault connector\n\n```sh\n$ pulumi import harness:platform/vaultConnector:VaultConnector example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cconnector_id\u003e\n```\n\n","properties":{"accessType":{"type":"string","description":"Access type.\n"},"appRoleId":{"type":"string","description":"ID of App Role.\n"},"authToken":{"type":"string","description":"Authentication token for Vault.\n"},"awsRegion":{"type":"string","description":"AWS region where the AWS IAM authentication will happen.\n"},"basePath":{"type":"string","description":"Location of the Vault directory where the secret will be stored.\n"},"default":{"type":"boolean","description":"Is default or not.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"List of Delegate Selectors that belong to the same Delegate and are used to connect to the Secret Manager.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"isDefault":{"type":"boolean","description":"Is default or not.\n"},"isReadOnly":{"type":"boolean","description":"Read only or not.\n"},"k8sAuthEndpoint":{"type":"string","description":"The path where Kubernetes Auth is enabled in Vault.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"namespace":{"type":"string","description":"Vault namespace where the Secret will be created.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"readOnly":{"type":"boolean","description":"Read only.\n"},"renewAppRoleToken":{"type":"boolean","description":"Boolean value to indicate if AppRole token renewal is enabled or not.\n"},"renewalIntervalMinutes":{"type":"integer","description":"The time interval for the token renewal.\n"},"secretEngineManuallyConfigured":{"type":"boolean","description":"Manually entered Secret Engine.\n"},"secretEngineName":{"type":"string","description":"Name of the Secret Engine.\n"},"secretEngineVersion":{"type":"integer","description":"Version of Secret Engine.\n"},"secretId":{"type":"string","description":"ID of the Secret.\n"},"serviceAccountTokenPath":{"type":"string","description":"The Service Account token path in the K8s pod where the token is mounted.\n"},"sinkPath":{"type":"string","description":"The location from which the authentication token should be read.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"useAwsIam":{"type":"boolean","description":"Boolean value to indicate if AWS IAM is used for authentication.\n"},"useJwtAuth":{"type":"boolean","description":"Boolean value to indicate if JWT is used for authentication.\n"},"useK8sAuth":{"type":"boolean","description":"Boolean value to indicate if K8s Auth is used for authentication.\n"},"useVaultAgent":{"type":"boolean","description":"Boolean value to indicate if Vault Agent is used for authentication.\n"},"vaultAwsIamRole":{"type":"string","description":"The Vault role defined to bind to aws iam account/role being accessed.\n"},"vaultJwtAuthPath":{"type":"string","description":"Custom path at with JWT auth in enabled for Vault\n"},"vaultJwtAuthRole":{"type":"string","description":"The Vault role defined with JWT auth type for accessing Vault as per policies binded.\n"},"vaultK8sAuthRole":{"type":"string","description":"The role where K8s Auth will happen.\n"},"vaultUrl":{"type":"string","description":"URL of the HashiCorp Vault.\n"},"xvaultAwsIamServerId":{"type":"string","description":"The AWS IAM Header Server ID that has been configured for this AWS IAM instance.\n"}},"required":["authToken","identifier","name","renewAppRoleToken","renewalIntervalMinutes","vaultUrl"],"inputProperties":{"accessType":{"type":"string","description":"Access type.\n"},"appRoleId":{"type":"string","description":"ID of App Role.\n"},"authToken":{"type":"string","description":"Authentication token for Vault.\n"},"awsRegion":{"type":"string","description":"AWS region where the AWS IAM authentication will happen.\n"},"basePath":{"type":"string","description":"Location of the Vault directory where the secret will be stored.\n"},"default":{"type":"boolean","description":"Is default or not.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"List of Delegate Selectors that belong to the same Delegate and are used to connect to the Secret Manager.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Is default or not.\n"},"isReadOnly":{"type":"boolean","description":"Read only or not.\n"},"k8sAuthEndpoint":{"type":"string","description":"The path where Kubernetes Auth is enabled in Vault.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"namespace":{"type":"string","description":"Vault namespace where the Secret will be created.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"readOnly":{"type":"boolean","description":"Read only.\n"},"renewAppRoleToken":{"type":"boolean","description":"Boolean value to indicate if AppRole token renewal is enabled or not.\n"},"renewalIntervalMinutes":{"type":"integer","description":"The time interval for the token renewal.\n"},"secretEngineManuallyConfigured":{"type":"boolean","description":"Manually entered Secret Engine.\n"},"secretEngineName":{"type":"string","description":"Name of the Secret Engine.\n"},"secretEngineVersion":{"type":"integer","description":"Version of Secret Engine.\n"},"secretId":{"type":"string","description":"ID of the Secret.\n"},"serviceAccountTokenPath":{"type":"string","description":"The Service Account token path in the K8s pod where the token is mounted.\n"},"sinkPath":{"type":"string","description":"The location from which the authentication token should be read.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"useAwsIam":{"type":"boolean","description":"Boolean value to indicate if AWS IAM is used for authentication.\n"},"useJwtAuth":{"type":"boolean","description":"Boolean value to indicate if JWT is used for authentication.\n"},"useK8sAuth":{"type":"boolean","description":"Boolean value to indicate if K8s Auth is used for authentication.\n"},"useVaultAgent":{"type":"boolean","description":"Boolean value to indicate if Vault Agent is used for authentication.\n"},"vaultAwsIamRole":{"type":"string","description":"The Vault role defined to bind to aws iam account/role being accessed.\n"},"vaultJwtAuthPath":{"type":"string","description":"Custom path at with JWT auth in enabled for Vault\n"},"vaultJwtAuthRole":{"type":"string","description":"The Vault role defined with JWT auth type for accessing Vault as per policies binded.\n"},"vaultK8sAuthRole":{"type":"string","description":"The role where K8s Auth will happen.\n"},"vaultUrl":{"type":"string","description":"URL of the HashiCorp Vault.\n"},"xvaultAwsIamServerId":{"type":"string","description":"The AWS IAM Header Server ID that has been configured for this AWS IAM instance.\n"}},"requiredInputs":["identifier","renewalIntervalMinutes","vaultUrl"],"stateInputs":{"description":"Input properties used for looking up and filtering VaultConnector resources.\n","properties":{"accessType":{"type":"string","description":"Access type.\n"},"appRoleId":{"type":"string","description":"ID of App Role.\n"},"authToken":{"type":"string","description":"Authentication token for Vault.\n"},"awsRegion":{"type":"string","description":"AWS region where the AWS IAM authentication will happen.\n"},"basePath":{"type":"string","description":"Location of the Vault directory where the secret will be stored.\n"},"default":{"type":"boolean","description":"Is default or not.\n"},"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"List of Delegate Selectors that belong to the same Delegate and are used to connect to the Secret Manager.\n"},"description":{"type":"string","description":"Description of the resource.\n"},"executeOnDelegate":{"type":"boolean","description":"Execute on delegate or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"isDefault":{"type":"boolean","description":"Is default or not.\n"},"isReadOnly":{"type":"boolean","description":"Read only or not.\n"},"k8sAuthEndpoint":{"type":"string","description":"The path where Kubernetes Auth is enabled in Vault.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"namespace":{"type":"string","description":"Vault namespace where the Secret will be created.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"readOnly":{"type":"boolean","description":"Read only.\n"},"renewAppRoleToken":{"type":"boolean","description":"Boolean value to indicate if AppRole token renewal is enabled or not.\n"},"renewalIntervalMinutes":{"type":"integer","description":"The time interval for the token renewal.\n"},"secretEngineManuallyConfigured":{"type":"boolean","description":"Manually entered Secret Engine.\n"},"secretEngineName":{"type":"string","description":"Name of the Secret Engine.\n"},"secretEngineVersion":{"type":"integer","description":"Version of Secret Engine.\n"},"secretId":{"type":"string","description":"ID of the Secret.\n"},"serviceAccountTokenPath":{"type":"string","description":"The Service Account token path in the K8s pod where the token is mounted.\n"},"sinkPath":{"type":"string","description":"The location from which the authentication token should be read.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"useAwsIam":{"type":"boolean","description":"Boolean value to indicate if AWS IAM is used for authentication.\n"},"useJwtAuth":{"type":"boolean","description":"Boolean value to indicate if JWT is used for authentication.\n"},"useK8sAuth":{"type":"boolean","description":"Boolean value to indicate if K8s Auth is used for authentication.\n"},"useVaultAgent":{"type":"boolean","description":"Boolean value to indicate if Vault Agent is used for authentication.\n"},"vaultAwsIamRole":{"type":"string","description":"The Vault role defined to bind to aws iam account/role being accessed.\n"},"vaultJwtAuthPath":{"type":"string","description":"Custom path at with JWT auth in enabled for Vault\n"},"vaultJwtAuthRole":{"type":"string","description":"The Vault role defined with JWT auth type for accessing Vault as per policies binded.\n"},"vaultK8sAuthRole":{"type":"string","description":"The role where K8s Auth will happen.\n"},"vaultUrl":{"type":"string","description":"URL of the HashiCorp Vault.\n"},"xvaultAwsIamServerId":{"type":"string","description":"The AWS IAM Header Server ID that has been configured for this AWS IAM instance.\n"}},"type":"object"}},"harness:platform/workspace:Workspace":{"description":"Resource for managing Workspaces\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.platform.Workspace(\"example\", {\n    name: \"example\",\n    identifier: \"example\",\n    orgId: testHarnessPlatformOrganization.id,\n    projectId: testHarnessPlatformProject.id,\n    provisionerType: \"terraform\",\n    provisionerVersion: \"1.5.6\",\n    repository: \"https://github.com/org/repo\",\n    repositoryBranch: \"main\",\n    repositoryPath: \"tf/aws/basic\",\n    costEstimationEnabled: true,\n    providerConnector: test.id,\n    repositoryConnector: test.id,\n    tags: [\n        \"tag1\",\n        \"tag2\",\n    ],\n    terraformVariables: [\n        {\n            key: \"key1\",\n            value: \"val1\",\n            valueType: \"string\",\n        },\n        {\n            key: \"key2\",\n            value: \"val2\",\n            valueType: \"string\",\n        },\n    ],\n    environmentVariables: [\n        {\n            key: \"key1\",\n            value: \"val1\",\n            valueType: \"string\",\n        },\n        {\n            key: \"key2\",\n            value: \"val2\",\n            valueType: \"string\",\n        },\n    ],\n    terraformVariableFiles: [\n        {\n            repository: \"https://github.com/org/repo\",\n            repositoryBranch: \"main\",\n            repositoryPath: \"tf/gcp/basic\",\n            repositoryConnector: test.id,\n        },\n        {\n            repository: \"https://github.com/org/repo\",\n            repositoryCommit: \"v1.0.0\",\n            repositoryPath: \"tf/aws/basic\",\n            repositoryConnector: test.id,\n        },\n        {\n            repository: \"https://github.com/org/repo\",\n            repositorySha: \"349d90bb9c90f4a3482981c259080de31609e6f6\",\n            repositoryPath: \"tf/aws/basic\",\n            repositoryConnector: test.id,\n        },\n    ],\n    variableSets: [testHarnessPlatformInfraVariableSet.id],\n    defaultPipelines: {\n        destroy: \"destroy_pipeline_id\",\n        drift: \"drift_pipeline_id\",\n        plan: \"plan_pipeline_id\",\n        apply: \"apply_pipeline_id\",\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.Workspace(\"example\",\n    name=\"example\",\n    identifier=\"example\",\n    org_id=test_harness_platform_organization[\"id\"],\n    project_id=test_harness_platform_project[\"id\"],\n    provisioner_type=\"terraform\",\n    provisioner_version=\"1.5.6\",\n    repository=\"https://github.com/org/repo\",\n    repository_branch=\"main\",\n    repository_path=\"tf/aws/basic\",\n    cost_estimation_enabled=True,\n    provider_connector=test[\"id\"],\n    repository_connector=test[\"id\"],\n    tags=[\n        \"tag1\",\n        \"tag2\",\n    ],\n    terraform_variables=[\n        {\n            \"key\": \"key1\",\n            \"value\": \"val1\",\n            \"value_type\": \"string\",\n        },\n        {\n            \"key\": \"key2\",\n            \"value\": \"val2\",\n            \"value_type\": \"string\",\n        },\n    ],\n    environment_variables=[\n        {\n            \"key\": \"key1\",\n            \"value\": \"val1\",\n            \"value_type\": \"string\",\n        },\n        {\n            \"key\": \"key2\",\n            \"value\": \"val2\",\n            \"value_type\": \"string\",\n        },\n    ],\n    terraform_variable_files=[\n        {\n            \"repository\": \"https://github.com/org/repo\",\n            \"repository_branch\": \"main\",\n            \"repository_path\": \"tf/gcp/basic\",\n            \"repository_connector\": test[\"id\"],\n        },\n        {\n            \"repository\": \"https://github.com/org/repo\",\n            \"repository_commit\": \"v1.0.0\",\n            \"repository_path\": \"tf/aws/basic\",\n            \"repository_connector\": test[\"id\"],\n        },\n        {\n            \"repository\": \"https://github.com/org/repo\",\n            \"repository_sha\": \"349d90bb9c90f4a3482981c259080de31609e6f6\",\n            \"repository_path\": \"tf/aws/basic\",\n            \"repository_connector\": test[\"id\"],\n        },\n    ],\n    variable_sets=[test_harness_platform_infra_variable_set[\"id\"]],\n    default_pipelines={\n        \"destroy\": \"destroy_pipeline_id\",\n        \"drift\": \"drift_pipeline_id\",\n        \"plan\": \"plan_pipeline_id\",\n        \"apply\": \"apply_pipeline_id\",\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Platform.Workspace(\"example\", new()\n    {\n        Name = \"example\",\n        Identifier = \"example\",\n        OrgId = testHarnessPlatformOrganization.Id,\n        ProjectId = testHarnessPlatformProject.Id,\n        ProvisionerType = \"terraform\",\n        ProvisionerVersion = \"1.5.6\",\n        Repository = \"https://github.com/org/repo\",\n        RepositoryBranch = \"main\",\n        RepositoryPath = \"tf/aws/basic\",\n        CostEstimationEnabled = true,\n        ProviderConnector = test.Id,\n        RepositoryConnector = test.Id,\n        Tags = new[]\n        {\n            \"tag1\",\n            \"tag2\",\n        },\n        TerraformVariables = new[]\n        {\n            new Harness.Platform.Inputs.WorkspaceTerraformVariableArgs\n            {\n                Key = \"key1\",\n                Value = \"val1\",\n                ValueType = \"string\",\n            },\n            new Harness.Platform.Inputs.WorkspaceTerraformVariableArgs\n            {\n                Key = \"key2\",\n                Value = \"val2\",\n                ValueType = \"string\",\n            },\n        },\n        EnvironmentVariables = new[]\n        {\n            new Harness.Platform.Inputs.WorkspaceEnvironmentVariableArgs\n            {\n                Key = \"key1\",\n                Value = \"val1\",\n                ValueType = \"string\",\n            },\n            new Harness.Platform.Inputs.WorkspaceEnvironmentVariableArgs\n            {\n                Key = \"key2\",\n                Value = \"val2\",\n                ValueType = \"string\",\n            },\n        },\n        TerraformVariableFiles = new[]\n        {\n            new Harness.Platform.Inputs.WorkspaceTerraformVariableFileArgs\n            {\n                Repository = \"https://github.com/org/repo\",\n                RepositoryBranch = \"main\",\n                RepositoryPath = \"tf/gcp/basic\",\n                RepositoryConnector = test.Id,\n            },\n            new Harness.Platform.Inputs.WorkspaceTerraformVariableFileArgs\n            {\n                Repository = \"https://github.com/org/repo\",\n                RepositoryCommit = \"v1.0.0\",\n                RepositoryPath = \"tf/aws/basic\",\n                RepositoryConnector = test.Id,\n            },\n            new Harness.Platform.Inputs.WorkspaceTerraformVariableFileArgs\n            {\n                Repository = \"https://github.com/org/repo\",\n                RepositorySha = \"349d90bb9c90f4a3482981c259080de31609e6f6\",\n                RepositoryPath = \"tf/aws/basic\",\n                RepositoryConnector = test.Id,\n            },\n        },\n        VariableSets = new[]\n        {\n            testHarnessPlatformInfraVariableSet.Id,\n        },\n        DefaultPipelines = \n        {\n            { \"destroy\", \"destroy_pipeline_id\" },\n            { \"drift\", \"drift_pipeline_id\" },\n            { \"plan\", \"plan_pipeline_id\" },\n            { \"apply\", \"apply_pipeline_id\" },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.NewWorkspace(ctx, \"example\", \u0026platform.WorkspaceArgs{\n\t\t\tName:                  pulumi.String(\"example\"),\n\t\t\tIdentifier:            pulumi.String(\"example\"),\n\t\t\tOrgId:                 pulumi.Any(testHarnessPlatformOrganization.Id),\n\t\t\tProjectId:             pulumi.Any(testHarnessPlatformProject.Id),\n\t\t\tProvisionerType:       pulumi.String(\"terraform\"),\n\t\t\tProvisionerVersion:    pulumi.String(\"1.5.6\"),\n\t\t\tRepository:            pulumi.String(\"https://github.com/org/repo\"),\n\t\t\tRepositoryBranch:      pulumi.String(\"main\"),\n\t\t\tRepositoryPath:        pulumi.String(\"tf/aws/basic\"),\n\t\t\tCostEstimationEnabled: pulumi.Bool(true),\n\t\t\tProviderConnector:     pulumi.Any(test.Id),\n\t\t\tRepositoryConnector:   pulumi.Any(test.Id),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"tag1\"),\n\t\t\t\tpulumi.String(\"tag2\"),\n\t\t\t},\n\t\t\tTerraformVariables: platform.WorkspaceTerraformVariableArray{\n\t\t\t\t\u0026platform.WorkspaceTerraformVariableArgs{\n\t\t\t\t\tKey:       pulumi.String(\"key1\"),\n\t\t\t\t\tValue:     pulumi.String(\"val1\"),\n\t\t\t\t\tValueType: pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.WorkspaceTerraformVariableArgs{\n\t\t\t\t\tKey:       pulumi.String(\"key2\"),\n\t\t\t\t\tValue:     pulumi.String(\"val2\"),\n\t\t\t\t\tValueType: pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEnvironmentVariables: platform.WorkspaceEnvironmentVariableArray{\n\t\t\t\t\u0026platform.WorkspaceEnvironmentVariableArgs{\n\t\t\t\t\tKey:       pulumi.String(\"key1\"),\n\t\t\t\t\tValue:     pulumi.String(\"val1\"),\n\t\t\t\t\tValueType: pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t\t\u0026platform.WorkspaceEnvironmentVariableArgs{\n\t\t\t\t\tKey:       pulumi.String(\"key2\"),\n\t\t\t\t\tValue:     pulumi.String(\"val2\"),\n\t\t\t\t\tValueType: pulumi.String(\"string\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tTerraformVariableFiles: platform.WorkspaceTerraformVariableFileArray{\n\t\t\t\t\u0026platform.WorkspaceTerraformVariableFileArgs{\n\t\t\t\t\tRepository:          pulumi.String(\"https://github.com/org/repo\"),\n\t\t\t\t\tRepositoryBranch:    pulumi.String(\"main\"),\n\t\t\t\t\tRepositoryPath:      pulumi.String(\"tf/gcp/basic\"),\n\t\t\t\t\tRepositoryConnector: pulumi.Any(test.Id),\n\t\t\t\t},\n\t\t\t\t\u0026platform.WorkspaceTerraformVariableFileArgs{\n\t\t\t\t\tRepository:          pulumi.String(\"https://github.com/org/repo\"),\n\t\t\t\t\tRepositoryCommit:    pulumi.String(\"v1.0.0\"),\n\t\t\t\t\tRepositoryPath:      pulumi.String(\"tf/aws/basic\"),\n\t\t\t\t\tRepositoryConnector: pulumi.Any(test.Id),\n\t\t\t\t},\n\t\t\t\t\u0026platform.WorkspaceTerraformVariableFileArgs{\n\t\t\t\t\tRepository:          pulumi.String(\"https://github.com/org/repo\"),\n\t\t\t\t\tRepositorySha:       pulumi.String(\"349d90bb9c90f4a3482981c259080de31609e6f6\"),\n\t\t\t\t\tRepositoryPath:      pulumi.String(\"tf/aws/basic\"),\n\t\t\t\t\tRepositoryConnector: pulumi.Any(test.Id),\n\t\t\t\t},\n\t\t\t},\n\t\t\tVariableSets: pulumi.StringArray{\n\t\t\t\ttestHarnessPlatformInfraVariableSet.Id,\n\t\t\t},\n\t\t\tDefaultPipelines: pulumi.StringMap{\n\t\t\t\t\"destroy\": pulumi.String(\"destroy_pipeline_id\"),\n\t\t\t\t\"drift\":   pulumi.String(\"drift_pipeline_id\"),\n\t\t\t\t\"plan\":    pulumi.String(\"plan_pipeline_id\"),\n\t\t\t\t\"apply\":   pulumi.String(\"apply_pipeline_id\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.Workspace;\nimport com.pulumi.harness.platform.WorkspaceArgs;\nimport com.pulumi.harness.platform.inputs.WorkspaceTerraformVariableArgs;\nimport com.pulumi.harness.platform.inputs.WorkspaceEnvironmentVariableArgs;\nimport com.pulumi.harness.platform.inputs.WorkspaceTerraformVariableFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Workspace(\"example\", WorkspaceArgs.builder()\n            .name(\"example\")\n            .identifier(\"example\")\n            .orgId(testHarnessPlatformOrganization.id())\n            .projectId(testHarnessPlatformProject.id())\n            .provisionerType(\"terraform\")\n            .provisionerVersion(\"1.5.6\")\n            .repository(\"https://github.com/org/repo\")\n            .repositoryBranch(\"main\")\n            .repositoryPath(\"tf/aws/basic\")\n            .costEstimationEnabled(true)\n            .providerConnector(test.id())\n            .repositoryConnector(test.id())\n            .tags(            \n                \"tag1\",\n                \"tag2\")\n            .terraformVariables(            \n                WorkspaceTerraformVariableArgs.builder()\n                    .key(\"key1\")\n                    .value(\"val1\")\n                    .valueType(\"string\")\n                    .build(),\n                WorkspaceTerraformVariableArgs.builder()\n                    .key(\"key2\")\n                    .value(\"val2\")\n                    .valueType(\"string\")\n                    .build())\n            .environmentVariables(            \n                WorkspaceEnvironmentVariableArgs.builder()\n                    .key(\"key1\")\n                    .value(\"val1\")\n                    .valueType(\"string\")\n                    .build(),\n                WorkspaceEnvironmentVariableArgs.builder()\n                    .key(\"key2\")\n                    .value(\"val2\")\n                    .valueType(\"string\")\n                    .build())\n            .terraformVariableFiles(            \n                WorkspaceTerraformVariableFileArgs.builder()\n                    .repository(\"https://github.com/org/repo\")\n                    .repositoryBranch(\"main\")\n                    .repositoryPath(\"tf/gcp/basic\")\n                    .repositoryConnector(test.id())\n                    .build(),\n                WorkspaceTerraformVariableFileArgs.builder()\n                    .repository(\"https://github.com/org/repo\")\n                    .repositoryCommit(\"v1.0.0\")\n                    .repositoryPath(\"tf/aws/basic\")\n                    .repositoryConnector(test.id())\n                    .build(),\n                WorkspaceTerraformVariableFileArgs.builder()\n                    .repository(\"https://github.com/org/repo\")\n                    .repositorySha(\"349d90bb9c90f4a3482981c259080de31609e6f6\")\n                    .repositoryPath(\"tf/aws/basic\")\n                    .repositoryConnector(test.id())\n                    .build())\n            .variableSets(testHarnessPlatformInfraVariableSet.id())\n            .defaultPipelines(Map.ofEntries(\n                Map.entry(\"destroy\", \"destroy_pipeline_id\"),\n                Map.entry(\"drift\", \"drift_pipeline_id\"),\n                Map.entry(\"plan\", \"plan_pipeline_id\"),\n                Map.entry(\"apply\", \"apply_pipeline_id\")\n            ))\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:platform:Workspace\n    properties:\n      name: example\n      identifier: example\n      orgId: ${testHarnessPlatformOrganization.id}\n      projectId: ${testHarnessPlatformProject.id}\n      provisionerType: terraform\n      provisionerVersion: 1.5.6\n      repository: https://github.com/org/repo\n      repositoryBranch: main\n      repositoryPath: tf/aws/basic\n      costEstimationEnabled: true\n      providerConnector: ${test.id}\n      repositoryConnector: ${test.id}\n      tags:\n        - tag1\n        - tag2\n      terraformVariables:\n        - key: key1\n          value: val1\n          valueType: string\n        - key: key2\n          value: val2\n          valueType: string\n      environmentVariables:\n        - key: key1\n          value: val1\n          valueType: string\n        - key: key2\n          value: val2\n          valueType: string\n      terraformVariableFiles:\n        - repository: https://github.com/org/repo\n          repositoryBranch: main\n          repositoryPath: tf/gcp/basic\n          repositoryConnector: ${test.id}\n        - repository: https://github.com/org/repo\n          repositoryCommit: v1.0.0\n          repositoryPath: tf/aws/basic\n          repositoryConnector: ${test.id}\n        - repository: https://github.com/org/repo\n          repositorySha: 349d90bb9c90f4a3482981c259080de31609e6f6\n          repositoryPath: tf/aws/basic\n          repositoryConnector: ${test.id}\n      variableSets:\n        - ${testHarnessPlatformInfraVariableSet.id}\n      defaultPipelines:\n        destroy: destroy_pipeline_id\n        drift: drift_pipeline_id\n        plan: plan_pipeline_id\n        apply: apply_pipeline_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n```sh\n$ pulumi import harness:platform/workspace:Workspace example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cworkspace_id\u003e\n```\n\n","properties":{"connectors":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceConnector:WorkspaceConnector"},"description":"Provider connectors configured on the Workspace. Only one connector of a type is supported\n"},"costEstimationEnabled":{"type":"boolean","description":"Cost estimation enabled determines if cost estimation operations are performed.\n"},"defaultPipelines":{"type":"object","additionalProperties":{"type":"string"},"description":"Default pipelines associated with this workspace\n"},"description":{"type":"string","description":"Description of the resource.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceEnvironmentVariable:WorkspaceEnvironmentVariable"},"description":"Environment variables configured on the workspace\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"providerConnector":{"type":"string","description":"Provider connector is the reference to the connector for the infrastructure provider\n"},"provisionerType":{"type":"string","description":"Provisioner type defines the provisioning tool to use (terraform or opentofu)\n"},"provisionerVersion":{"type":"string","description":"Provisioner version defines the provisioner version to use. The latest version of Opentofu should always be supported, Terraform is only supported up to version 1.5.7.\n"},"repository":{"type":"string","description":"Repository is the name of the repository to fetch the code from.\n"},"repositoryBranch":{"type":"string","description":"Repository branch is the name of the branch to fetch the code from. This cannot be set if repository commit or sha is set.\n"},"repositoryCommit":{"type":"string","description":"Repository commit is tag to fetch the code from. This cannot be set if repository branch or sha is set.\n"},"repositoryConnector":{"type":"string","description":"Repository connector is the reference to the connector used to fetch the code.\n"},"repositoryPath":{"type":"string","description":"Repository path is the path in which the code resides.\n"},"repositorySha":{"type":"string","description":"Repository commit is commit SHA to fetch the code from. This cannot be set if repository branch or commit is set.\n"},"runAll":{"type":"boolean","description":"Boolean flag for run-all terragrunt modules\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"terraformVariableFiles":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceTerraformVariableFile:WorkspaceTerraformVariableFile"},"description":"Terraform variables files configured on the workspace (see below for nested schema)\n"},"terraformVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceTerraformVariable:WorkspaceTerraformVariable"},"description":"Terraform variables configured on the workspace. Terraform variable keys must be unique within the workspace. (see below for nested schema)\n"},"terragruntProvider":{"type":"boolean","description":"Set to true to enable Terragrunt mode\n"},"terragruntVersion":{"type":"string","description":"Terragrunt version to use (e.g., 0.45.0)\n"},"variableSets":{"type":"array","items":{"type":"string"},"description":"Variable sets to use.\n"}},"required":["costEstimationEnabled","identifier","name","orgId","projectId","provisionerType","provisionerVersion","repository","repositoryConnector","repositoryPath"],"inputProperties":{"connectors":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceConnector:WorkspaceConnector"},"description":"Provider connectors configured on the Workspace. Only one connector of a type is supported\n"},"costEstimationEnabled":{"type":"boolean","description":"Cost estimation enabled determines if cost estimation operations are performed.\n"},"defaultPipelines":{"type":"object","additionalProperties":{"type":"string"},"description":"Default pipelines associated with this workspace\n"},"description":{"type":"string","description":"Description of the resource.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceEnvironmentVariable:WorkspaceEnvironmentVariable"},"description":"Environment variables configured on the workspace\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"providerConnector":{"type":"string","description":"Provider connector is the reference to the connector for the infrastructure provider\n"},"provisionerType":{"type":"string","description":"Provisioner type defines the provisioning tool to use (terraform or opentofu)\n"},"provisionerVersion":{"type":"string","description":"Provisioner version defines the provisioner version to use. The latest version of Opentofu should always be supported, Terraform is only supported up to version 1.5.7.\n"},"repository":{"type":"string","description":"Repository is the name of the repository to fetch the code from.\n"},"repositoryBranch":{"type":"string","description":"Repository branch is the name of the branch to fetch the code from. This cannot be set if repository commit or sha is set.\n"},"repositoryCommit":{"type":"string","description":"Repository commit is tag to fetch the code from. This cannot be set if repository branch or sha is set.\n"},"repositoryConnector":{"type":"string","description":"Repository connector is the reference to the connector used to fetch the code.\n"},"repositoryPath":{"type":"string","description":"Repository path is the path in which the code resides.\n"},"repositorySha":{"type":"string","description":"Repository commit is commit SHA to fetch the code from. This cannot be set if repository branch or commit is set.\n"},"runAll":{"type":"boolean","description":"Boolean flag for run-all terragrunt modules\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"terraformVariableFiles":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceTerraformVariableFile:WorkspaceTerraformVariableFile"},"description":"Terraform variables files configured on the workspace (see below for nested schema)\n"},"terraformVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceTerraformVariable:WorkspaceTerraformVariable"},"description":"Terraform variables configured on the workspace. Terraform variable keys must be unique within the workspace. (see below for nested schema)\n"},"terragruntProvider":{"type":"boolean","description":"Set to true to enable Terragrunt mode\n"},"terragruntVersion":{"type":"string","description":"Terragrunt version to use (e.g., 0.45.0)\n"},"variableSets":{"type":"array","items":{"type":"string"},"description":"Variable sets to use.\n"}},"requiredInputs":["costEstimationEnabled","identifier","orgId","projectId","provisionerType","provisionerVersion","repository","repositoryConnector","repositoryPath"],"stateInputs":{"description":"Input properties used for looking up and filtering Workspace resources.\n","properties":{"connectors":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceConnector:WorkspaceConnector"},"description":"Provider connectors configured on the Workspace. Only one connector of a type is supported\n"},"costEstimationEnabled":{"type":"boolean","description":"Cost estimation enabled determines if cost estimation operations are performed.\n"},"defaultPipelines":{"type":"object","additionalProperties":{"type":"string"},"description":"Default pipelines associated with this workspace\n"},"description":{"type":"string","description":"Description of the resource.\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceEnvironmentVariable:WorkspaceEnvironmentVariable"},"description":"Environment variables configured on the workspace\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"providerConnector":{"type":"string","description":"Provider connector is the reference to the connector for the infrastructure provider\n"},"provisionerType":{"type":"string","description":"Provisioner type defines the provisioning tool to use (terraform or opentofu)\n"},"provisionerVersion":{"type":"string","description":"Provisioner version defines the provisioner version to use. The latest version of Opentofu should always be supported, Terraform is only supported up to version 1.5.7.\n"},"repository":{"type":"string","description":"Repository is the name of the repository to fetch the code from.\n"},"repositoryBranch":{"type":"string","description":"Repository branch is the name of the branch to fetch the code from. This cannot be set if repository commit or sha is set.\n"},"repositoryCommit":{"type":"string","description":"Repository commit is tag to fetch the code from. This cannot be set if repository branch or sha is set.\n"},"repositoryConnector":{"type":"string","description":"Repository connector is the reference to the connector used to fetch the code.\n"},"repositoryPath":{"type":"string","description":"Repository path is the path in which the code resides.\n"},"repositorySha":{"type":"string","description":"Repository commit is commit SHA to fetch the code from. This cannot be set if repository branch or commit is set.\n"},"runAll":{"type":"boolean","description":"Boolean flag for run-all terragrunt modules\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"terraformVariableFiles":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceTerraformVariableFile:WorkspaceTerraformVariableFile"},"description":"Terraform variables files configured on the workspace (see below for nested schema)\n"},"terraformVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/WorkspaceTerraformVariable:WorkspaceTerraformVariable"},"description":"Terraform variables configured on the workspace. Terraform variable keys must be unique within the workspace. (see below for nested schema)\n"},"terragruntProvider":{"type":"boolean","description":"Set to true to enable Terragrunt mode\n"},"terragruntVersion":{"type":"string","description":"Terragrunt version to use (e.g., 0.45.0)\n"},"variableSets":{"type":"array","items":{"type":"string"},"description":"Variable sets to use.\n"}},"type":"object"}},"harness:service/ami:Ami":{"description":"Resource for creating an AMI service. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.Application(\"example\", {name: \"example\"});\nconst exampleAmi = new harness.service.Ami(\"example\", {\n    appId: example.id,\n    name: \"ami-example\",\n    description: \"Service for deploying AMI's\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.Application(\"example\", name=\"example\")\nexample_ami = harness.service.Ami(\"example\",\n    app_id=example.id,\n    name=\"ami-example\",\n    description=\"Service for deploying AMI's\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n    var exampleAmi = new Harness.Service.Ami(\"example\", new()\n    {\n        AppId = example.Id,\n        Name = \"ami-example\",\n        Description = \"Service for deploying AMI's\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = service.NewAmi(ctx, \"example\", \u0026service.AmiArgs{\n\t\t\tAppId:       example.ID(),\n\t\t\tName:        pulumi.String(\"ami-example\"),\n\t\t\tDescription: pulumi.String(\"Service for deploying AMI's\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.service.Ami;\nimport com.pulumi.harness.service.AmiArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example\")\n            .build());\n\n        var exampleAmi = new Ami(\"exampleAmi\", AmiArgs.builder()\n            .appId(example.id())\n            .name(\"ami-example\")\n            .description(\"Service for deploying AMI's\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:Application\n    properties:\n      name: example\n  exampleAmi:\n    type: harness:service:Ami\n    name: example\n    properties:\n      appId: ${example.id}\n      name: ami-example\n      description: Service for deploying AMI's\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id and service id\n\n```sh\n$ pulumi import harness:service/ami:Ami example \u003capp_id\u003e/\u003csvc_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n"},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/AmiVariable:AmiVariable"},"description":"Variables to be used in the service\n"}},"required":["appId","name"],"inputProperties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/AmiVariable:AmiVariable"},"description":"Variables to be used in the service\n"}},"requiredInputs":["appId"],"stateInputs":{"description":"Input properties used for looking up and filtering Ami resources.\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/AmiVariable:AmiVariable"},"description":"Variables to be used in the service\n"}},"type":"object"}},"harness:service/codedeploy:Codedeploy":{"description":"Resource for creating an AWS CodeDeploy service. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.Application(\"example\", {name: \"example\"});\nconst exampleCodedeploy = new harness.service.Codedeploy(\"example\", {\n    appId: example.id,\n    name: \"aws-codedeploy\",\n    description: \"Service for AWS codedeploy applications.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.Application(\"example\", name=\"example\")\nexample_codedeploy = harness.service.Codedeploy(\"example\",\n    app_id=example.id,\n    name=\"aws-codedeploy\",\n    description=\"Service for AWS codedeploy applications.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n    var exampleCodedeploy = new Harness.Service.Codedeploy(\"example\", new()\n    {\n        AppId = example.Id,\n        Name = \"aws-codedeploy\",\n        Description = \"Service for AWS codedeploy applications.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = service.NewCodedeploy(ctx, \"example\", \u0026service.CodedeployArgs{\n\t\t\tAppId:       example.ID(),\n\t\t\tName:        pulumi.String(\"aws-codedeploy\"),\n\t\t\tDescription: pulumi.String(\"Service for AWS codedeploy applications.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.service.Codedeploy;\nimport com.pulumi.harness.service.CodedeployArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example\")\n            .build());\n\n        var exampleCodedeploy = new Codedeploy(\"exampleCodedeploy\", CodedeployArgs.builder()\n            .appId(example.id())\n            .name(\"aws-codedeploy\")\n            .description(\"Service for AWS codedeploy applications.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:Application\n    properties:\n      name: example\n  exampleCodedeploy:\n    type: harness:service:Codedeploy\n    name: example\n    properties:\n      appId: ${example.id}\n      name: aws-codedeploy\n      description: Service for AWS codedeploy applications.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id and service id\n\n```sh\n$ pulumi import harness:service/codedeploy:Codedeploy example \u003capp_id\u003e/\u003csvc_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n"},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/CodedeployVariable:CodedeployVariable"},"description":"Variables to be used in the service\n"}},"required":["appId","name"],"inputProperties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/CodedeployVariable:CodedeployVariable"},"description":"Variables to be used in the service\n"}},"requiredInputs":["appId"],"stateInputs":{"description":"Input properties used for looking up and filtering Codedeploy resources.\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/CodedeployVariable:CodedeployVariable"},"description":"Variables to be used in the service\n"}},"type":"object"}},"harness:service/discoveryAgent:DiscoveryAgent":{"description":"Resource for managing a Harness Service Discovery Agent.\n\nThis resource allows you to create, read, update, and delete a Service Discovery Agent in Harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.service.DiscoveryAgent(\"example\", {\n    name: \"ExampleAgent\",\n    orgIdentifier: \"your_org_id\",\n    projectIdentifier: \"your_project_id\",\n    environmentIdentifier: \"your_environment_id\",\n    infraIdentifier: \"your_infra_id\",\n    configs: [{\n        collectorImage: \"harness/service-discovery-collector:main-latest\",\n        logWatcherImage: \"harness/chaos-log-watcher:main-latest\",\n        kubernetes: [{\n            namespace: \"harness-sd\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.service.DiscoveryAgent(\"example\",\n    name=\"ExampleAgent\",\n    org_identifier=\"your_org_id\",\n    project_identifier=\"your_project_id\",\n    environment_identifier=\"your_environment_id\",\n    infra_identifier=\"your_infra_id\",\n    configs=[{\n        \"collector_image\": \"harness/service-discovery-collector:main-latest\",\n        \"log_watcher_image\": \"harness/chaos-log-watcher:main-latest\",\n        \"kubernetes\": [{\n            \"namespace\": \"harness-sd\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Service.DiscoveryAgent(\"example\", new()\n    {\n        Name = \"ExampleAgent\",\n        OrgIdentifier = \"your_org_id\",\n        ProjectIdentifier = \"your_project_id\",\n        EnvironmentIdentifier = \"your_environment_id\",\n        InfraIdentifier = \"your_infra_id\",\n        Configs = new[]\n        {\n            new Harness.Service.Inputs.DiscoveryAgentConfigArgs\n            {\n                CollectorImage = \"harness/service-discovery-collector:main-latest\",\n                LogWatcherImage = \"harness/chaos-log-watcher:main-latest\",\n                Kubernetes = new[]\n                {\n                    new Harness.Service.Inputs.DiscoveryAgentConfigKuberneteArgs\n                    {\n                        Namespace = \"harness-sd\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := service.NewDiscoveryAgent(ctx, \"example\", \u0026service.DiscoveryAgentArgs{\n\t\t\tName:                  pulumi.String(\"ExampleAgent\"),\n\t\t\tOrgIdentifier:         pulumi.String(\"your_org_id\"),\n\t\t\tProjectIdentifier:     pulumi.String(\"your_project_id\"),\n\t\t\tEnvironmentIdentifier: pulumi.String(\"your_environment_id\"),\n\t\t\tInfraIdentifier:       pulumi.String(\"your_infra_id\"),\n\t\t\tConfigs: service.DiscoveryAgentConfigArray{\n\t\t\t\t\u0026service.DiscoveryAgentConfigArgs{\n\t\t\t\t\tCollectorImage:  pulumi.String(\"harness/service-discovery-collector:main-latest\"),\n\t\t\t\t\tLogWatcherImage: pulumi.String(\"harness/chaos-log-watcher:main-latest\"),\n\t\t\t\t\tKubernetes: service.DiscoveryAgentConfigKuberneteArray{\n\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigKuberneteArgs{\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"harness-sd\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.service.DiscoveryAgent;\nimport com.pulumi.harness.service.DiscoveryAgentArgs;\nimport com.pulumi.harness.service.inputs.DiscoveryAgentConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new DiscoveryAgent(\"example\", DiscoveryAgentArgs.builder()\n            .name(\"ExampleAgent\")\n            .orgIdentifier(\"your_org_id\")\n            .projectIdentifier(\"your_project_id\")\n            .environmentIdentifier(\"your_environment_id\")\n            .infraIdentifier(\"your_infra_id\")\n            .configs(DiscoveryAgentConfigArgs.builder()\n                .collectorImage(\"harness/service-discovery-collector:main-latest\")\n                .logWatcherImage(\"harness/chaos-log-watcher:main-latest\")\n                .kubernetes(DiscoveryAgentConfigKuberneteArgs.builder()\n                    .namespace(\"harness-sd\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:service:DiscoveryAgent\n    properties:\n      name: ExampleAgent\n      orgIdentifier: your_org_id\n      projectIdentifier: your_project_id\n      environmentIdentifier: your_environment_id\n      infraIdentifier: your_infra_id\n      configs:\n        - collectorImage: harness/service-discovery-collector:main-latest\n          logWatcherImage: harness/chaos-log-watcher:main-latest\n          kubernetes:\n            - namespace: harness-sd\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n\n### Additional Examples\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Create a new service discovery agent with minimal configuration\nconst example = new harness.service.DiscoveryAgent(\"example\", {\n    name: \"example-agent\",\n    orgIdentifier: orgIdentifier,\n    projectIdentifier: projectIdentifier,\n    environmentIdentifier: environmentIdentifier,\n    infraIdentifier: \"example-infra\",\n    configs: [{\n        kubernetes: [{\n            namespace: \"harness-sd\",\n        }],\n    }],\n});\n// Create a new service discovery agent with node agent enabled\nconst nodeAgent = new harness.service.DiscoveryAgent(\"node_agent\", {\n    name: \"node-agent-example\",\n    orgIdentifier: orgIdentifier,\n    projectIdentifier: projectIdentifier,\n    environmentIdentifier: environmentIdentifier,\n    infraIdentifier: \"node-agent-example\",\n    configs: [{\n        kubernetes: [{\n            namespace: \"harness-sd\",\n        }],\n        datas: [{\n            enableNodeAgent: true,\n        }],\n    }],\n});\n// Create a new service discovery agent with full configuration\nconst fullConfig = new harness.service.DiscoveryAgent(\"full_config\", {\n    name: \"full-config-example\",\n    orgIdentifier: orgIdentifier,\n    projectIdentifier: projectIdentifier,\n    environmentIdentifier: environmentIdentifier,\n    infraIdentifier: \"full-config-example\",\n    permanentInstallation: false,\n    correlationId: \"full-config-correlation-123\",\n    configs: [{\n        collectorImage: \"harness/service-discovery-collector:main-latest\",\n        logWatcherImage: \"harness/chaos-log-watcher:main-latest\",\n        skipSecureVerify: false,\n        kubernetes: [{\n            namespace: \"harness-sd\",\n            serviceAccount: \"harness-sd-sa\",\n            imagePullPolicy: \"IfNotPresent\",\n            runAsUser: 2000,\n            runAsGroup: 2000,\n            labels: {\n                app: \"service-discovery\",\n                env: \"dev\",\n            },\n            annotations: {\n                \"example.com/annotation\": \"value\",\n            },\n            nodeSelector: {\n                \"kubernetes.io/os\": \"linux\",\n            },\n            resources: [{\n                limits: {\n                    cpu: \"500m\",\n                    memory: \"512Mi\",\n                },\n                requests: {\n                    cpu: \"250m\",\n                    memory: \"256Mi\",\n                },\n            }],\n            tolerations: [{\n                key: \"key1\",\n                operator: \"Equal\",\n                value: \"value1\",\n                effect: \"NoSchedule\",\n            }],\n        }],\n        datas: [{\n            enableNodeAgent: true,\n            nodeAgentSelector: \"node-role.kubernetes.io/worker=\",\n            enableBatchResources: true,\n            enableOrphanedPod: true,\n            namespaceSelector: \"environment=dev\",\n            collectionWindowInMin: 15,\n            blacklistedNamespaces: [\n                \"kube-system\",\n                \"kube-public\",\n            ],\n            observedNamespaces: [\n                \"default\",\n                \"harness\",\n            ],\n            crons: [{\n                expression: \"0/10 * * * *\",\n            }],\n        }],\n        mtls: [{\n            certPath: \"/etc/certs/tls.crt\",\n            keyPath: \"/etc/certs/tls.key\",\n            secretName: \"mtls-secret\",\n            url: \"https://mtls.example.com:8443\",\n        }],\n        proxies: [{\n            httpProxy: \"http://proxy.example.com:8080\",\n            httpsProxy: \"https://proxy.example.com:8080\",\n            noProxy: \"localhost,127.0.0.1,.svc,.cluster.local\",\n            url: \"https://proxy.example.com\",\n        }],\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Create a new service discovery agent with minimal configuration\nexample = harness.service.DiscoveryAgent(\"example\",\n    name=\"example-agent\",\n    org_identifier=org_identifier,\n    project_identifier=project_identifier,\n    environment_identifier=environment_identifier,\n    infra_identifier=\"example-infra\",\n    configs=[{\n        \"kubernetes\": [{\n            \"namespace\": \"harness-sd\",\n        }],\n    }])\n# Create a new service discovery agent with node agent enabled\nnode_agent = harness.service.DiscoveryAgent(\"node_agent\",\n    name=\"node-agent-example\",\n    org_identifier=org_identifier,\n    project_identifier=project_identifier,\n    environment_identifier=environment_identifier,\n    infra_identifier=\"node-agent-example\",\n    configs=[{\n        \"kubernetes\": [{\n            \"namespace\": \"harness-sd\",\n        }],\n        \"datas\": [{\n            \"enable_node_agent\": True,\n        }],\n    }])\n# Create a new service discovery agent with full configuration\nfull_config = harness.service.DiscoveryAgent(\"full_config\",\n    name=\"full-config-example\",\n    org_identifier=org_identifier,\n    project_identifier=project_identifier,\n    environment_identifier=environment_identifier,\n    infra_identifier=\"full-config-example\",\n    permanent_installation=False,\n    correlation_id=\"full-config-correlation-123\",\n    configs=[{\n        \"collector_image\": \"harness/service-discovery-collector:main-latest\",\n        \"log_watcher_image\": \"harness/chaos-log-watcher:main-latest\",\n        \"skip_secure_verify\": False,\n        \"kubernetes\": [{\n            \"namespace\": \"harness-sd\",\n            \"service_account\": \"harness-sd-sa\",\n            \"image_pull_policy\": \"IfNotPresent\",\n            \"run_as_user\": 2000,\n            \"run_as_group\": 2000,\n            \"labels\": {\n                \"app\": \"service-discovery\",\n                \"env\": \"dev\",\n            },\n            \"annotations\": {\n                \"example.com/annotation\": \"value\",\n            },\n            \"node_selector\": {\n                \"kubernetes.io/os\": \"linux\",\n            },\n            \"resources\": [{\n                \"limits\": {\n                    \"cpu\": \"500m\",\n                    \"memory\": \"512Mi\",\n                },\n                \"requests\": {\n                    \"cpu\": \"250m\",\n                    \"memory\": \"256Mi\",\n                },\n            }],\n            \"tolerations\": [{\n                \"key\": \"key1\",\n                \"operator\": \"Equal\",\n                \"value\": \"value1\",\n                \"effect\": \"NoSchedule\",\n            }],\n        }],\n        \"datas\": [{\n            \"enable_node_agent\": True,\n            \"node_agent_selector\": \"node-role.kubernetes.io/worker=\",\n            \"enable_batch_resources\": True,\n            \"enable_orphaned_pod\": True,\n            \"namespace_selector\": \"environment=dev\",\n            \"collection_window_in_min\": 15,\n            \"blacklisted_namespaces\": [\n                \"kube-system\",\n                \"kube-public\",\n            ],\n            \"observed_namespaces\": [\n                \"default\",\n                \"harness\",\n            ],\n            \"crons\": [{\n                \"expression\": \"0/10 * * * *\",\n            }],\n        }],\n        \"mtls\": [{\n            \"cert_path\": \"/etc/certs/tls.crt\",\n            \"key_path\": \"/etc/certs/tls.key\",\n            \"secret_name\": \"mtls-secret\",\n            \"url\": \"https://mtls.example.com:8443\",\n        }],\n        \"proxies\": [{\n            \"http_proxy\": \"http://proxy.example.com:8080\",\n            \"https_proxy\": \"https://proxy.example.com:8080\",\n            \"no_proxy\": \"localhost,127.0.0.1,.svc,.cluster.local\",\n            \"url\": \"https://proxy.example.com\",\n        }],\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Create a new service discovery agent with minimal configuration\n    var example = new Harness.Service.DiscoveryAgent(\"example\", new()\n    {\n        Name = \"example-agent\",\n        OrgIdentifier = orgIdentifier,\n        ProjectIdentifier = projectIdentifier,\n        EnvironmentIdentifier = environmentIdentifier,\n        InfraIdentifier = \"example-infra\",\n        Configs = new[]\n        {\n            new Harness.Service.Inputs.DiscoveryAgentConfigArgs\n            {\n                Kubernetes = new[]\n                {\n                    new Harness.Service.Inputs.DiscoveryAgentConfigKuberneteArgs\n                    {\n                        Namespace = \"harness-sd\",\n                    },\n                },\n            },\n        },\n    });\n\n    // Create a new service discovery agent with node agent enabled\n    var nodeAgent = new Harness.Service.DiscoveryAgent(\"node_agent\", new()\n    {\n        Name = \"node-agent-example\",\n        OrgIdentifier = orgIdentifier,\n        ProjectIdentifier = projectIdentifier,\n        EnvironmentIdentifier = environmentIdentifier,\n        InfraIdentifier = \"node-agent-example\",\n        Configs = new[]\n        {\n            new Harness.Service.Inputs.DiscoveryAgentConfigArgs\n            {\n                Kubernetes = new[]\n                {\n                    new Harness.Service.Inputs.DiscoveryAgentConfigKuberneteArgs\n                    {\n                        Namespace = \"harness-sd\",\n                    },\n                },\n                Datas = new[]\n                {\n                    new Harness.Service.Inputs.DiscoveryAgentConfigDataArgs\n                    {\n                        EnableNodeAgent = true,\n                    },\n                },\n            },\n        },\n    });\n\n    // Create a new service discovery agent with full configuration\n    var fullConfig = new Harness.Service.DiscoveryAgent(\"full_config\", new()\n    {\n        Name = \"full-config-example\",\n        OrgIdentifier = orgIdentifier,\n        ProjectIdentifier = projectIdentifier,\n        EnvironmentIdentifier = environmentIdentifier,\n        InfraIdentifier = \"full-config-example\",\n        PermanentInstallation = false,\n        CorrelationId = \"full-config-correlation-123\",\n        Configs = new[]\n        {\n            new Harness.Service.Inputs.DiscoveryAgentConfigArgs\n            {\n                CollectorImage = \"harness/service-discovery-collector:main-latest\",\n                LogWatcherImage = \"harness/chaos-log-watcher:main-latest\",\n                SkipSecureVerify = false,\n                Kubernetes = new[]\n                {\n                    new Harness.Service.Inputs.DiscoveryAgentConfigKuberneteArgs\n                    {\n                        Namespace = \"harness-sd\",\n                        ServiceAccount = \"harness-sd-sa\",\n                        ImagePullPolicy = \"IfNotPresent\",\n                        RunAsUser = 2000,\n                        RunAsGroup = 2000,\n                        Labels = \n                        {\n                            { \"app\", \"service-discovery\" },\n                            { \"env\", \"dev\" },\n                        },\n                        Annotations = \n                        {\n                            { \"example.com/annotation\", \"value\" },\n                        },\n                        NodeSelector = \n                        {\n                            { \"kubernetes.io/os\", \"linux\" },\n                        },\n                        Resources = new[]\n                        {\n                            new Harness.Service.Inputs.DiscoveryAgentConfigKuberneteResourceArgs\n                            {\n                                Limits = \n                                {\n                                    { \"cpu\", \"500m\" },\n                                    { \"memory\", \"512Mi\" },\n                                },\n                                Requests = \n                                {\n                                    { \"cpu\", \"250m\" },\n                                    { \"memory\", \"256Mi\" },\n                                },\n                            },\n                        },\n                        Tolerations = new[]\n                        {\n                            new Harness.Service.Inputs.DiscoveryAgentConfigKuberneteTolerationArgs\n                            {\n                                Key = \"key1\",\n                                Operator = \"Equal\",\n                                Value = \"value1\",\n                                Effect = \"NoSchedule\",\n                            },\n                        },\n                    },\n                },\n                Datas = new[]\n                {\n                    new Harness.Service.Inputs.DiscoveryAgentConfigDataArgs\n                    {\n                        EnableNodeAgent = true,\n                        NodeAgentSelector = \"node-role.kubernetes.io/worker=\",\n                        EnableBatchResources = true,\n                        EnableOrphanedPod = true,\n                        NamespaceSelector = \"environment=dev\",\n                        CollectionWindowInMin = 15,\n                        BlacklistedNamespaces = new[]\n                        {\n                            \"kube-system\",\n                            \"kube-public\",\n                        },\n                        ObservedNamespaces = new[]\n                        {\n                            \"default\",\n                            \"harness\",\n                        },\n                        Crons = new[]\n                        {\n                            new Harness.Service.Inputs.DiscoveryAgentConfigDataCronArgs\n                            {\n                                Expression = \"0/10 * * * *\",\n                            },\n                        },\n                    },\n                },\n                Mtls = new[]\n                {\n                    new Harness.Service.Inputs.DiscoveryAgentConfigMtlArgs\n                    {\n                        CertPath = \"/etc/certs/tls.crt\",\n                        KeyPath = \"/etc/certs/tls.key\",\n                        SecretName = \"mtls-secret\",\n                        Url = \"https://mtls.example.com:8443\",\n                    },\n                },\n                Proxies = new[]\n                {\n                    new Harness.Service.Inputs.DiscoveryAgentConfigProxyArgs\n                    {\n                        HttpProxy = \"http://proxy.example.com:8080\",\n                        HttpsProxy = \"https://proxy.example.com:8080\",\n                        NoProxy = \"localhost,127.0.0.1,.svc,.cluster.local\",\n                        Url = \"https://proxy.example.com\",\n                    },\n                },\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Create a new service discovery agent with minimal configuration\n\t\t_, err := service.NewDiscoveryAgent(ctx, \"example\", \u0026service.DiscoveryAgentArgs{\n\t\t\tName:                  pulumi.String(\"example-agent\"),\n\t\t\tOrgIdentifier:         pulumi.Any(orgIdentifier),\n\t\t\tProjectIdentifier:     pulumi.Any(projectIdentifier),\n\t\t\tEnvironmentIdentifier: pulumi.Any(environmentIdentifier),\n\t\t\tInfraIdentifier:       pulumi.String(\"example-infra\"),\n\t\t\tConfigs: service.DiscoveryAgentConfigArray{\n\t\t\t\t\u0026service.DiscoveryAgentConfigArgs{\n\t\t\t\t\tKubernetes: service.DiscoveryAgentConfigKuberneteArray{\n\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigKuberneteArgs{\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"harness-sd\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new service discovery agent with node agent enabled\n\t\t_, err = service.NewDiscoveryAgent(ctx, \"node_agent\", \u0026service.DiscoveryAgentArgs{\n\t\t\tName:                  pulumi.String(\"node-agent-example\"),\n\t\t\tOrgIdentifier:         pulumi.Any(orgIdentifier),\n\t\t\tProjectIdentifier:     pulumi.Any(projectIdentifier),\n\t\t\tEnvironmentIdentifier: pulumi.Any(environmentIdentifier),\n\t\t\tInfraIdentifier:       pulumi.String(\"node-agent-example\"),\n\t\t\tConfigs: service.DiscoveryAgentConfigArray{\n\t\t\t\t\u0026service.DiscoveryAgentConfigArgs{\n\t\t\t\t\tKubernetes: service.DiscoveryAgentConfigKuberneteArray{\n\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigKuberneteArgs{\n\t\t\t\t\t\t\tNamespace: pulumi.String(\"harness-sd\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDatas: service.DiscoveryAgentConfigDataArray{\n\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigDataArgs{\n\t\t\t\t\t\t\tEnableNodeAgent: pulumi.Bool(true),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Create a new service discovery agent with full configuration\n\t\t_, err = service.NewDiscoveryAgent(ctx, \"full_config\", \u0026service.DiscoveryAgentArgs{\n\t\t\tName:                  pulumi.String(\"full-config-example\"),\n\t\t\tOrgIdentifier:         pulumi.Any(orgIdentifier),\n\t\t\tProjectIdentifier:     pulumi.Any(projectIdentifier),\n\t\t\tEnvironmentIdentifier: pulumi.Any(environmentIdentifier),\n\t\t\tInfraIdentifier:       pulumi.String(\"full-config-example\"),\n\t\t\tPermanentInstallation: pulumi.Bool(false),\n\t\t\tCorrelationId:         pulumi.String(\"full-config-correlation-123\"),\n\t\t\tConfigs: service.DiscoveryAgentConfigArray{\n\t\t\t\t\u0026service.DiscoveryAgentConfigArgs{\n\t\t\t\t\tCollectorImage:   pulumi.String(\"harness/service-discovery-collector:main-latest\"),\n\t\t\t\t\tLogWatcherImage:  pulumi.String(\"harness/chaos-log-watcher:main-latest\"),\n\t\t\t\t\tSkipSecureVerify: pulumi.Bool(false),\n\t\t\t\t\tKubernetes: service.DiscoveryAgentConfigKuberneteArray{\n\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigKuberneteArgs{\n\t\t\t\t\t\t\tNamespace:       pulumi.String(\"harness-sd\"),\n\t\t\t\t\t\t\tServiceAccount:  pulumi.String(\"harness-sd-sa\"),\n\t\t\t\t\t\t\tImagePullPolicy: pulumi.String(\"IfNotPresent\"),\n\t\t\t\t\t\t\tRunAsUser:       pulumi.Int(2000),\n\t\t\t\t\t\t\tRunAsGroup:      pulumi.Int(2000),\n\t\t\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"app\": pulumi.String(\"service-discovery\"),\n\t\t\t\t\t\t\t\t\"env\": pulumi.String(\"dev\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tAnnotations: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"example.com/annotation\": pulumi.String(\"value\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tNodeSelector: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"kubernetes.io/os\": pulumi.String(\"linux\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tResources: service.DiscoveryAgentConfigKuberneteResourceArray{\n\t\t\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigKuberneteResourceArgs{\n\t\t\t\t\t\t\t\t\tLimits: service.DiscoveryAgentConfigKuberneteResourceLimitArray{\n\t\t\t\t\t\t\t\t\t\tCpu:    \"500m\",\n\t\t\t\t\t\t\t\t\t\tMemory: \"512Mi\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\tRequests: service.DiscoveryAgentConfigKuberneteResourceRequestArray{\n\t\t\t\t\t\t\t\t\t\tCpu:    \"250m\",\n\t\t\t\t\t\t\t\t\t\tMemory: \"256Mi\",\n\t\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tTolerations: service.DiscoveryAgentConfigKuberneteTolerationArray{\n\t\t\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigKuberneteTolerationArgs{\n\t\t\t\t\t\t\t\t\tKey:      pulumi.String(\"key1\"),\n\t\t\t\t\t\t\t\t\tOperator: pulumi.String(\"Equal\"),\n\t\t\t\t\t\t\t\t\tValue:    pulumi.String(\"value1\"),\n\t\t\t\t\t\t\t\t\tEffect:   pulumi.String(\"NoSchedule\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tDatas: service.DiscoveryAgentConfigDataArray{\n\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigDataArgs{\n\t\t\t\t\t\t\tEnableNodeAgent:       pulumi.Bool(true),\n\t\t\t\t\t\t\tNodeAgentSelector:     pulumi.String(\"node-role.kubernetes.io/worker=\"),\n\t\t\t\t\t\t\tEnableBatchResources:  pulumi.Bool(true),\n\t\t\t\t\t\t\tEnableOrphanedPod:     pulumi.Bool(true),\n\t\t\t\t\t\t\tNamespaceSelector:     pulumi.String(\"environment=dev\"),\n\t\t\t\t\t\t\tCollectionWindowInMin: pulumi.Int(15),\n\t\t\t\t\t\t\tBlacklistedNamespaces: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"kube-system\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"kube-public\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tObservedNamespaces: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"default\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"harness\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tCrons: service.DiscoveryAgentConfigDataCronArray{\n\t\t\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigDataCronArgs{\n\t\t\t\t\t\t\t\t\tExpression: pulumi.String(\"0/10 * * * *\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tMtls: service.DiscoveryAgentConfigMtlArray{\n\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigMtlArgs{\n\t\t\t\t\t\t\tCertPath:   pulumi.String(\"/etc/certs/tls.crt\"),\n\t\t\t\t\t\t\tKeyPath:    pulumi.String(\"/etc/certs/tls.key\"),\n\t\t\t\t\t\t\tSecretName: pulumi.String(\"mtls-secret\"),\n\t\t\t\t\t\t\tUrl:        pulumi.String(\"https://mtls.example.com:8443\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tProxies: service.DiscoveryAgentConfigProxyArray{\n\t\t\t\t\t\t\u0026service.DiscoveryAgentConfigProxyArgs{\n\t\t\t\t\t\t\tHttpProxy:  pulumi.String(\"http://proxy.example.com:8080\"),\n\t\t\t\t\t\t\tHttpsProxy: pulumi.String(\"https://proxy.example.com:8080\"),\n\t\t\t\t\t\t\tNoProxy:    pulumi.String(\"localhost,127.0.0.1,.svc,.cluster.local\"),\n\t\t\t\t\t\t\tUrl:        pulumi.String(\"https://proxy.example.com\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.service.DiscoveryAgent;\nimport com.pulumi.harness.service.DiscoveryAgentArgs;\nimport com.pulumi.harness.service.inputs.DiscoveryAgentConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Create a new service discovery agent with minimal configuration\n        var example = new DiscoveryAgent(\"example\", DiscoveryAgentArgs.builder()\n            .name(\"example-agent\")\n            .orgIdentifier(orgIdentifier)\n            .projectIdentifier(projectIdentifier)\n            .environmentIdentifier(environmentIdentifier)\n            .infraIdentifier(\"example-infra\")\n            .configs(DiscoveryAgentConfigArgs.builder()\n                .kubernetes(DiscoveryAgentConfigKuberneteArgs.builder()\n                    .namespace(\"harness-sd\")\n                    .build())\n                .build())\n            .build());\n\n        // Create a new service discovery agent with node agent enabled\n        var nodeAgent = new DiscoveryAgent(\"nodeAgent\", DiscoveryAgentArgs.builder()\n            .name(\"node-agent-example\")\n            .orgIdentifier(orgIdentifier)\n            .projectIdentifier(projectIdentifier)\n            .environmentIdentifier(environmentIdentifier)\n            .infraIdentifier(\"node-agent-example\")\n            .configs(DiscoveryAgentConfigArgs.builder()\n                .kubernetes(DiscoveryAgentConfigKuberneteArgs.builder()\n                    .namespace(\"harness-sd\")\n                    .build())\n                .datas(DiscoveryAgentConfigDataArgs.builder()\n                    .enableNodeAgent(true)\n                    .build())\n                .build())\n            .build());\n\n        // Create a new service discovery agent with full configuration\n        var fullConfig = new DiscoveryAgent(\"fullConfig\", DiscoveryAgentArgs.builder()\n            .name(\"full-config-example\")\n            .orgIdentifier(orgIdentifier)\n            .projectIdentifier(projectIdentifier)\n            .environmentIdentifier(environmentIdentifier)\n            .infraIdentifier(\"full-config-example\")\n            .permanentInstallation(false)\n            .correlationId(\"full-config-correlation-123\")\n            .configs(DiscoveryAgentConfigArgs.builder()\n                .collectorImage(\"harness/service-discovery-collector:main-latest\")\n                .logWatcherImage(\"harness/chaos-log-watcher:main-latest\")\n                .skipSecureVerify(false)\n                .kubernetes(DiscoveryAgentConfigKuberneteArgs.builder()\n                    .namespace(\"harness-sd\")\n                    .serviceAccount(\"harness-sd-sa\")\n                    .imagePullPolicy(\"IfNotPresent\")\n                    .runAsUser(2000)\n                    .runAsGroup(2000)\n                    .labels(Map.ofEntries(\n                        Map.entry(\"app\", \"service-discovery\"),\n                        Map.entry(\"env\", \"dev\")\n                    ))\n                    .annotations(Map.of(\"example.com/annotation\", \"value\"))\n                    .nodeSelector(Map.of(\"kubernetes.io/os\", \"linux\"))\n                    .resources(DiscoveryAgentConfigKuberneteResourceArgs.builder()\n                        .limits(DiscoveryAgentConfigKuberneteResourceLimitArgs.builder()\n                            .cpu(\"500m\")\n                            .memory(\"512Mi\")\n                            .build())\n                        .requests(DiscoveryAgentConfigKuberneteResourceRequestArgs.builder()\n                            .cpu(\"250m\")\n                            .memory(\"256Mi\")\n                            .build())\n                        .build())\n                    .tolerations(DiscoveryAgentConfigKuberneteTolerationArgs.builder()\n                        .key(\"key1\")\n                        .operator(\"Equal\")\n                        .value(\"value1\")\n                        .effect(\"NoSchedule\")\n                        .build())\n                    .build())\n                .datas(DiscoveryAgentConfigDataArgs.builder()\n                    .enableNodeAgent(true)\n                    .nodeAgentSelector(\"node-role.kubernetes.io/worker=\")\n                    .enableBatchResources(true)\n                    .enableOrphanedPod(true)\n                    .namespaceSelector(\"environment=dev\")\n                    .collectionWindowInMin(15)\n                    .blacklistedNamespaces(                    \n                        \"kube-system\",\n                        \"kube-public\")\n                    .observedNamespaces(                    \n                        \"default\",\n                        \"harness\")\n                    .crons(DiscoveryAgentConfigDataCronArgs.builder()\n                        .expression(\"0/10 * * * *\")\n                        .build())\n                    .build())\n                .mtls(DiscoveryAgentConfigMtlArgs.builder()\n                    .certPath(\"/etc/certs/tls.crt\")\n                    .keyPath(\"/etc/certs/tls.key\")\n                    .secretName(\"mtls-secret\")\n                    .url(\"https://mtls.example.com:8443\")\n                    .build())\n                .proxies(DiscoveryAgentConfigProxyArgs.builder()\n                    .httpProxy(\"http://proxy.example.com:8080\")\n                    .httpsProxy(\"https://proxy.example.com:8080\")\n                    .noProxy(\"localhost,127.0.0.1,.svc,.cluster.local\")\n                    .url(\"https://proxy.example.com\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Create a new service discovery agent with minimal configuration\n  example:\n    type: harness:service:DiscoveryAgent\n    properties:\n      name: example-agent\n      orgIdentifier: ${orgIdentifier}\n      projectIdentifier: ${projectIdentifier}\n      environmentIdentifier: ${environmentIdentifier}\n      infraIdentifier: example-infra\n      configs:\n        - kubernetes:\n            - namespace: harness-sd\n  # Create a new service discovery agent with node agent enabled\n  nodeAgent:\n    type: harness:service:DiscoveryAgent\n    name: node_agent\n    properties:\n      name: node-agent-example\n      orgIdentifier: ${orgIdentifier}\n      projectIdentifier: ${projectIdentifier}\n      environmentIdentifier: ${environmentIdentifier}\n      infraIdentifier: node-agent-example\n      configs:\n        - kubernetes:\n            - namespace: harness-sd\n          datas:\n            - enableNodeAgent: true\n  # Create a new service discovery agent with full configuration\n  fullConfig:\n    type: harness:service:DiscoveryAgent\n    name: full_config\n    properties:\n      name: full-config-example\n      orgIdentifier: ${orgIdentifier}\n      projectIdentifier: ${projectIdentifier}\n      environmentIdentifier: ${environmentIdentifier}\n      infraIdentifier: full-config-example\n      permanentInstallation: false\n      correlationId: full-config-correlation-123\n      configs:\n        - collectorImage: harness/service-discovery-collector:main-latest\n          logWatcherImage: harness/chaos-log-watcher:main-latest\n          skipSecureVerify: false\n          kubernetes:\n            - namespace: harness-sd\n              serviceAccount: harness-sd-sa\n              imagePullPolicy: IfNotPresent\n              runAsUser: 2000\n              runAsGroup: 2000\n              labels:\n                app: service-discovery\n                env: dev\n              annotations:\n                example.com/annotation: value\n              nodeSelector:\n                kubernetes.io/os: linux\n              resources:\n                - limits:\n                    cpu: 500m\n                    memory: 512Mi\n                  requests:\n                    cpu: 250m\n                    memory: 256Mi\n              tolerations:\n                - key: key1\n                  operator: Equal\n                  value: value1\n                  effect: NoSchedule\n          datas:\n            - enableNodeAgent: true\n              nodeAgentSelector: node-role.kubernetes.io/worker=\n              enableBatchResources: true\n              enableOrphanedPod: true\n              namespaceSelector: environment=dev\n              collectionWindowInMin: 15\n              blacklistedNamespaces:\n                - kube-system\n                - kube-public\n              observedNamespaces:\n                - default\n                - harness\n              crons:\n                - expression: 0/10 * * * *\n          mtls:\n            - certPath: /etc/certs/tls.crt\n              keyPath: /etc/certs/tls.key\n              secretName: mtls-secret\n              url: https://mtls.example.com:8443\n          proxies:\n            - httpProxy: http://proxy.example.com:8080\n              httpsProxy: https://proxy.example.com:8080\n              noProxy: localhost,127.0.0.1,.svc,.cluster.local\n              url: https://proxy.example.com\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport Project level Service Discovery Agent\nAccount and Org level agents are not supported yet\n\n```sh\n$ pulumi import harness:service/discoveryAgent:DiscoveryAgent example \u003corg_identifier\u003e/\u003cproject_identifier\u003e/\u003cenvironment_identifier\u003e/\u003cinfra_identifier\u003e\n```\n\n","properties":{"configs":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfig:DiscoveryAgentConfig"},"description":"Configuration for the agent. This is a required field.\n"},"correlationId":{"type":"string","description":"Correlation ID for the agent.\n"},"createdAt":{"type":"string","description":"Timestamp when the agent was created.\n"},"createdBy":{"type":"string","description":"User who created the agent.\n"},"description":{"type":"string","description":"Description of the agent.\n"},"environmentIdentifier":{"type":"string","description":"The environment identifier of the agent. This is a required field.\n"},"identity":{"type":"string","description":"The unique identity of the agent.\n"},"infraIdentifier":{"type":"string","description":"The infrastructure identifier of the agent. This is a required field.\n"},"installationDetails":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentInstallationDetail:DiscoveryAgentInstallationDetail"},"description":"Installation details of the agent.\n"},"installationType":{"type":"string","description":"Type of installation for the agent.\n"},"name":{"type":"string","description":"The name of the agent. This is a required field.\n"},"networkMapCount":{"type":"integer","description":"Number of network maps associated with this agent.\n"},"orgIdentifier":{"type":"string","description":"The organization identifier of the agent. Must be 1-64 characters and contain only alphanumeric characters, hyphens, or underscores.\n"},"permanentInstallation":{"type":"boolean","description":"Whether this is a permanent installation.\n"},"projectIdentifier":{"type":"string","description":"The project identifier of the agent. Must be 1-64 characters and contain only alphanumeric characters, hyphens, or underscores.\n"},"removed":{"type":"boolean","description":"Whether the agent has been removed.\n"},"removedAt":{"type":"string","description":"Timestamp when the agent was removed.\n"},"serviceCount":{"type":"integer","description":"Number of services managed by this agent.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"List of resource tags for the agent.\n"},"updatedAt":{"type":"string","description":"Timestamp when the agent was last updated.\n"},"updatedBy":{"type":"string","description":"User who last updated the agent.\n"},"webhookUrl":{"type":"string","description":"Webhook URL for the agent.\n"}},"required":["configs","correlationId","createdAt","createdBy","description","environmentIdentifier","identity","infraIdentifier","installationDetails","name","networkMapCount","removed","removedAt","serviceCount","tags","updatedAt","updatedBy"],"inputProperties":{"configs":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfig:DiscoveryAgentConfig"},"description":"Configuration for the agent. This is a required field.\n"},"correlationId":{"type":"string","description":"Correlation ID for the agent.\n"},"environmentIdentifier":{"type":"string","description":"The environment identifier of the agent. This is a required field.\n"},"infraIdentifier":{"type":"string","description":"The infrastructure identifier of the agent. This is a required field.\n"},"installationType":{"type":"string","description":"Type of installation for the agent.\n"},"name":{"type":"string","description":"The name of the agent. This is a required field.\n"},"orgIdentifier":{"type":"string","description":"The organization identifier of the agent. Must be 1-64 characters and contain only alphanumeric characters, hyphens, or underscores.\n"},"permanentInstallation":{"type":"boolean","description":"Whether this is a permanent installation.\n"},"projectIdentifier":{"type":"string","description":"The project identifier of the agent. Must be 1-64 characters and contain only alphanumeric characters, hyphens, or underscores.\n"},"webhookUrl":{"type":"string","description":"Webhook URL for the agent.\n"}},"requiredInputs":["configs","environmentIdentifier","infraIdentifier"],"stateInputs":{"description":"Input properties used for looking up and filtering DiscoveryAgent resources.\n","properties":{"configs":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentConfig:DiscoveryAgentConfig"},"description":"Configuration for the agent. This is a required field.\n"},"correlationId":{"type":"string","description":"Correlation ID for the agent.\n"},"createdAt":{"type":"string","description":"Timestamp when the agent was created.\n"},"createdBy":{"type":"string","description":"User who created the agent.\n"},"description":{"type":"string","description":"Description of the agent.\n"},"environmentIdentifier":{"type":"string","description":"The environment identifier of the agent. This is a required field.\n"},"identity":{"type":"string","description":"The unique identity of the agent.\n"},"infraIdentifier":{"type":"string","description":"The infrastructure identifier of the agent. This is a required field.\n"},"installationDetails":{"type":"array","items":{"$ref":"#/types/harness:service/DiscoveryAgentInstallationDetail:DiscoveryAgentInstallationDetail"},"description":"Installation details of the agent.\n"},"installationType":{"type":"string","description":"Type of installation for the agent.\n"},"name":{"type":"string","description":"The name of the agent. This is a required field.\n"},"networkMapCount":{"type":"integer","description":"Number of network maps associated with this agent.\n"},"orgIdentifier":{"type":"string","description":"The organization identifier of the agent. Must be 1-64 characters and contain only alphanumeric characters, hyphens, or underscores.\n"},"permanentInstallation":{"type":"boolean","description":"Whether this is a permanent installation.\n"},"projectIdentifier":{"type":"string","description":"The project identifier of the agent. Must be 1-64 characters and contain only alphanumeric characters, hyphens, or underscores.\n"},"removed":{"type":"boolean","description":"Whether the agent has been removed.\n"},"removedAt":{"type":"string","description":"Timestamp when the agent was removed.\n"},"serviceCount":{"type":"integer","description":"Number of services managed by this agent.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"List of resource tags for the agent.\n"},"updatedAt":{"type":"string","description":"Timestamp when the agent was last updated.\n"},"updatedBy":{"type":"string","description":"User who last updated the agent.\n"},"webhookUrl":{"type":"string","description":"Webhook URL for the agent.\n"}},"type":"object"}},"harness:service/discoverySetting:DiscoverySetting":{"description":"Resource for managing service discovery settings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Update image registry settings for service discovery\nconst example = new harness.service.DiscoverySetting(\"example\", {\n    orgIdentifier: \"sechaosworkshop\",\n    projectIdentifier: \"se1\",\n    imageRegistry: {\n        account: \"\u003caccount_name\u003e\",\n        server: \"\u003cregistry_server\u003e\",\n        secrets: [\"\u003csecret_name\u003e\"],\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Update image registry settings for service discovery\nexample = harness.service.DiscoverySetting(\"example\",\n    org_identifier=\"sechaosworkshop\",\n    project_identifier=\"se1\",\n    image_registry={\n        \"account\": \"\u003caccount_name\u003e\",\n        \"server\": \"\u003cregistry_server\u003e\",\n        \"secrets\": [\"\u003csecret_name\u003e\"],\n    })\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Update image registry settings for service discovery\n    var example = new Harness.Service.DiscoverySetting(\"example\", new()\n    {\n        OrgIdentifier = \"sechaosworkshop\",\n        ProjectIdentifier = \"se1\",\n        ImageRegistry = new Harness.Service.Inputs.DiscoverySettingImageRegistryArgs\n        {\n            Account = \"\u003caccount_name\u003e\",\n            Server = \"\u003cregistry_server\u003e\",\n            Secrets = new[]\n            {\n                \"\u003csecret_name\u003e\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Update image registry settings for service discovery\n\t\t_, err := service.NewDiscoverySetting(ctx, \"example\", \u0026service.DiscoverySettingArgs{\n\t\t\tOrgIdentifier:     pulumi.String(\"sechaosworkshop\"),\n\t\t\tProjectIdentifier: pulumi.String(\"se1\"),\n\t\t\tImageRegistry: \u0026service.DiscoverySettingImageRegistryArgs{\n\t\t\t\tAccount: pulumi.String(\"\u003caccount_name\u003e\"),\n\t\t\t\tServer:  pulumi.String(\"\u003cregistry_server\u003e\"),\n\t\t\t\tSecrets: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003csecret_name\u003e\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.service.DiscoverySetting;\nimport com.pulumi.harness.service.DiscoverySettingArgs;\nimport com.pulumi.harness.service.inputs.DiscoverySettingImageRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Update image registry settings for service discovery\n        var example = new DiscoverySetting(\"example\", DiscoverySettingArgs.builder()\n            .orgIdentifier(\"sechaosworkshop\")\n            .projectIdentifier(\"se1\")\n            .imageRegistry(DiscoverySettingImageRegistryArgs.builder()\n                .account(\"\u003caccount_name\u003e\")\n                .server(\"\u003cregistry_server\u003e\")\n                .secrets(\"\u003csecret_name\u003e\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Update image registry settings for service discovery\n  example:\n    type: harness:service:DiscoverySetting\n    properties:\n      orgIdentifier: sechaosworkshop\n      projectIdentifier: se1\n      imageRegistry:\n        account: \u003caccount_name\u003e\n        server: \u003cregistry_server\u003e\n        secrets:\n          - \u003csecret_name\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","properties":{"correlationId":{"type":"string","description":"Correlation ID for the request.\n"},"createdAt":{"type":"string","description":"Timestamp when the setting was created.\n"},"imageRegistry":{"$ref":"#/types/harness:service/DiscoverySettingImageRegistry:DiscoverySettingImageRegistry","description":"Image registry configuration.\n"},"orgIdentifier":{"type":"string","description":"The organization identifier.\n"},"projectIdentifier":{"type":"string","description":"The project identifier.\n"},"updatedAt":{"type":"string","description":"Timestamp when the setting was last updated.\n"}},"required":["createdAt","updatedAt"],"inputProperties":{"correlationId":{"type":"string","description":"Correlation ID for the request.\n"},"imageRegistry":{"$ref":"#/types/harness:service/DiscoverySettingImageRegistry:DiscoverySettingImageRegistry","description":"Image registry configuration.\n"},"orgIdentifier":{"type":"string","description":"The organization identifier.\n"},"projectIdentifier":{"type":"string","description":"The project identifier.\n"}},"stateInputs":{"description":"Input properties used for looking up and filtering DiscoverySetting resources.\n","properties":{"correlationId":{"type":"string","description":"Correlation ID for the request.\n"},"createdAt":{"type":"string","description":"Timestamp when the setting was created.\n"},"imageRegistry":{"$ref":"#/types/harness:service/DiscoverySettingImageRegistry:DiscoverySettingImageRegistry","description":"Image registry configuration.\n"},"orgIdentifier":{"type":"string","description":"The organization identifier.\n"},"projectIdentifier":{"type":"string","description":"The project identifier.\n"},"updatedAt":{"type":"string","description":"Timestamp when the setting was last updated.\n"}},"type":"object"}},"harness:service/ecs:Ecs":{"description":"Resource for creating an AWS ECS service. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.Application(\"example\", {name: \"example\"});\nconst exampleEcs = new harness.service.Ecs(\"example\", {\n    appId: example.id,\n    name: \"ecs-example-service\",\n    description: \"Service for deploying AWS ECS tasks.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.Application(\"example\", name=\"example\")\nexample_ecs = harness.service.Ecs(\"example\",\n    app_id=example.id,\n    name=\"ecs-example-service\",\n    description=\"Service for deploying AWS ECS tasks.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n    var exampleEcs = new Harness.Service.Ecs(\"example\", new()\n    {\n        AppId = example.Id,\n        Name = \"ecs-example-service\",\n        Description = \"Service for deploying AWS ECS tasks.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = service.NewEcs(ctx, \"example\", \u0026service.EcsArgs{\n\t\t\tAppId:       example.ID(),\n\t\t\tName:        pulumi.String(\"ecs-example-service\"),\n\t\t\tDescription: pulumi.String(\"Service for deploying AWS ECS tasks.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.service.Ecs;\nimport com.pulumi.harness.service.EcsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example\")\n            .build());\n\n        var exampleEcs = new Ecs(\"exampleEcs\", EcsArgs.builder()\n            .appId(example.id())\n            .name(\"ecs-example-service\")\n            .description(\"Service for deploying AWS ECS tasks.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:Application\n    properties:\n      name: example\n  exampleEcs:\n    type: harness:service:Ecs\n    name: example\n    properties:\n      appId: ${example.id}\n      name: ecs-example-service\n      description: Service for deploying AWS ECS tasks.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id and service id\n\n```sh\n$ pulumi import harness:service/ecs:Ecs example \u003capp_id\u003e/\u003csvc_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n"},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/EcsVariable:EcsVariable"},"description":"Variables to be used in the service\n"}},"required":["appId","name"],"inputProperties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/EcsVariable:EcsVariable"},"description":"Variables to be used in the service\n"}},"requiredInputs":["appId"],"stateInputs":{"description":"Input properties used for looking up and filtering Ecs resources.\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/EcsVariable:EcsVariable"},"description":"Variables to be used in the service\n"}},"type":"object"}},"harness:service/helm:Helm":{"description":"Resource for creating a Kubernetes Helm service. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.Application(\"example\", {name: \"example\"});\nconst exampleHelm = new harness.service.Helm(\"example\", {\n    appId: example.id,\n    name: \"helm-example-service\",\n    description: \"Service for deploying native Helm application.s\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.Application(\"example\", name=\"example\")\nexample_helm = harness.service.Helm(\"example\",\n    app_id=example.id,\n    name=\"helm-example-service\",\n    description=\"Service for deploying native Helm application.s\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n    var exampleHelm = new Harness.Service.Helm(\"example\", new()\n    {\n        AppId = example.Id,\n        Name = \"helm-example-service\",\n        Description = \"Service for deploying native Helm application.s\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = service.NewHelm(ctx, \"example\", \u0026service.HelmArgs{\n\t\t\tAppId:       example.ID(),\n\t\t\tName:        pulumi.String(\"helm-example-service\"),\n\t\t\tDescription: pulumi.String(\"Service for deploying native Helm application.s\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.service.Helm;\nimport com.pulumi.harness.service.HelmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example\")\n            .build());\n\n        var exampleHelm = new Helm(\"exampleHelm\", HelmArgs.builder()\n            .appId(example.id())\n            .name(\"helm-example-service\")\n            .description(\"Service for deploying native Helm application.s\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:Application\n    properties:\n      name: example\n  exampleHelm:\n    type: harness:service:Helm\n    name: example\n    properties:\n      appId: ${example.id}\n      name: helm-example-service\n      description: Service for deploying native Helm application.s\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id and service id\n\n```sh\n$ pulumi import harness:service/helm:Helm example \u003capp_id\u003e/\u003csvc_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n"},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/HelmVariable:HelmVariable"},"description":"Variables to be used in the service\n"}},"required":["appId","name"],"inputProperties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/HelmVariable:HelmVariable"},"description":"Variables to be used in the service\n"}},"requiredInputs":["appId"],"stateInputs":{"description":"Input properties used for looking up and filtering Helm resources.\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/HelmVariable:HelmVariable"},"description":"Variables to be used in the service\n"}},"type":"object"}},"harness:service/kubernetes:Kubernetes":{"description":"Resource for creating a Kubernetes service. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.Application(\"example\", {name: \"example\"});\nconst exampleKubernetes = new harness.service.Kubernetes(\"example\", {\n    appId: example.id,\n    name: \"k8s-svc\",\n    helmVersion: \"V3\",\n    description: \"Service for deploying Kubernetes manifests\",\n    variables: [\n        {\n            name: \"test\",\n            value: \"test_value\",\n            type: \"TEXT\",\n        },\n        {\n            name: \"test2\",\n            value: \"test_value2\",\n            type: \"TEXT\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.Application(\"example\", name=\"example\")\nexample_kubernetes = harness.service.Kubernetes(\"example\",\n    app_id=example.id,\n    name=\"k8s-svc\",\n    helm_version=\"V3\",\n    description=\"Service for deploying Kubernetes manifests\",\n    variables=[\n        {\n            \"name\": \"test\",\n            \"value\": \"test_value\",\n            \"type\": \"TEXT\",\n        },\n        {\n            \"name\": \"test2\",\n            \"value\": \"test_value2\",\n            \"type\": \"TEXT\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n    var exampleKubernetes = new Harness.Service.Kubernetes(\"example\", new()\n    {\n        AppId = example.Id,\n        Name = \"k8s-svc\",\n        HelmVersion = \"V3\",\n        Description = \"Service for deploying Kubernetes manifests\",\n        Variables = new[]\n        {\n            new Harness.Service.Inputs.KubernetesVariableArgs\n            {\n                Name = \"test\",\n                Value = \"test_value\",\n                Type = \"TEXT\",\n            },\n            new Harness.Service.Inputs.KubernetesVariableArgs\n            {\n                Name = \"test2\",\n                Value = \"test_value2\",\n                Type = \"TEXT\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = service.NewKubernetes(ctx, \"example\", \u0026service.KubernetesArgs{\n\t\t\tAppId:       example.ID(),\n\t\t\tName:        pulumi.String(\"k8s-svc\"),\n\t\t\tHelmVersion: pulumi.String(\"V3\"),\n\t\t\tDescription: pulumi.String(\"Service for deploying Kubernetes manifests\"),\n\t\t\tVariables: service.KubernetesVariableArray{\n\t\t\t\t\u0026service.KubernetesVariableArgs{\n\t\t\t\t\tName:  pulumi.String(\"test\"),\n\t\t\t\t\tValue: pulumi.String(\"test_value\"),\n\t\t\t\t\tType:  pulumi.String(\"TEXT\"),\n\t\t\t\t},\n\t\t\t\t\u0026service.KubernetesVariableArgs{\n\t\t\t\t\tName:  pulumi.String(\"test2\"),\n\t\t\t\t\tValue: pulumi.String(\"test_value2\"),\n\t\t\t\t\tType:  pulumi.String(\"TEXT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.service.Kubernetes;\nimport com.pulumi.harness.service.KubernetesArgs;\nimport com.pulumi.harness.service.inputs.KubernetesVariableArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example\")\n            .build());\n\n        var exampleKubernetes = new Kubernetes(\"exampleKubernetes\", KubernetesArgs.builder()\n            .appId(example.id())\n            .name(\"k8s-svc\")\n            .helmVersion(\"V3\")\n            .description(\"Service for deploying Kubernetes manifests\")\n            .variables(            \n                KubernetesVariableArgs.builder()\n                    .name(\"test\")\n                    .value(\"test_value\")\n                    .type(\"TEXT\")\n                    .build(),\n                KubernetesVariableArgs.builder()\n                    .name(\"test2\")\n                    .value(\"test_value2\")\n                    .type(\"TEXT\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:Application\n    properties:\n      name: example\n  exampleKubernetes:\n    type: harness:service:Kubernetes\n    name: example\n    properties:\n      appId: ${example.id}\n      name: k8s-svc\n      helmVersion: V3\n      description: Service for deploying Kubernetes manifests\n      variables:\n        - name: test\n          value: test_value\n          type: TEXT\n        - name: test2\n          value: test_value2\n          type: TEXT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id and service id\n\n```sh\n$ pulumi import harness:service/kubernetes:Kubernetes example \u003capp_id\u003e/\u003csvc_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n"},"description":{"type":"string","description":"Description of th service\n"},"helmVersion":{"type":"string","description":"The version of Helm to use. Options are `V2` and `V3`. Defaults to 'V2'. Only used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `KUBERNETES` or `HELM`.\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/KubernetesVariable:KubernetesVariable"},"description":"Variables to be used in the service\n"}},"required":["appId","name"],"inputProperties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"helmVersion":{"type":"string","description":"The version of Helm to use. Options are `V2` and `V3`. Defaults to 'V2'. Only used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `KUBERNETES` or `HELM`.\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/KubernetesVariable:KubernetesVariable"},"description":"Variables to be used in the service\n"}},"requiredInputs":["appId"],"stateInputs":{"description":"Input properties used for looking up and filtering Kubernetes resources.\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"helmVersion":{"type":"string","description":"The version of Helm to use. Options are `V2` and `V3`. Defaults to 'V2'. Only used when \u003cspan pulumi-lang-nodejs=\"`type`\" pulumi-lang-dotnet=\"`Type`\" pulumi-lang-go=\"`type`\" pulumi-lang-python=\"`type`\" pulumi-lang-yaml=\"`type`\" pulumi-lang-java=\"`type`\"\u003e`type`\u003c/span\u003e is `KUBERNETES` or `HELM`.\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/KubernetesVariable:KubernetesVariable"},"description":"Variables to be used in the service\n"}},"type":"object"}},"harness:service/lambda:Lambda":{"description":"Resource for creating an AWS Lambda service. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.Application(\"example\", {name: \"example\"});\nconst exampleLambda = new harness.service.Lambda(\"example\", {\n    appId: example.id,\n    name: \"my-lambda-service\",\n    description: \"Service for deploying AWS Lambda functions.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.Application(\"example\", name=\"example\")\nexample_lambda = harness.service.Lambda(\"example\",\n    app_id=example.id,\n    name=\"my-lambda-service\",\n    description=\"Service for deploying AWS Lambda functions.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n    var exampleLambda = new Harness.Service.Lambda(\"example\", new()\n    {\n        AppId = example.Id,\n        Name = \"my-lambda-service\",\n        Description = \"Service for deploying AWS Lambda functions.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = service.NewLambda(ctx, \"example\", \u0026service.LambdaArgs{\n\t\t\tAppId:       example.ID(),\n\t\t\tName:        pulumi.String(\"my-lambda-service\"),\n\t\t\tDescription: pulumi.String(\"Service for deploying AWS Lambda functions.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.service.Lambda;\nimport com.pulumi.harness.service.LambdaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example\")\n            .build());\n\n        var exampleLambda = new Lambda(\"exampleLambda\", LambdaArgs.builder()\n            .appId(example.id())\n            .name(\"my-lambda-service\")\n            .description(\"Service for deploying AWS Lambda functions.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:Application\n    properties:\n      name: example\n  exampleLambda:\n    type: harness:service:Lambda\n    name: example\n    properties:\n      appId: ${example.id}\n      name: my-lambda-service\n      description: Service for deploying AWS Lambda functions.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id and service id\n\n```sh\n$ pulumi import harness:service/lambda:Lambda example \u003capp_id\u003e/\u003csvc_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n"},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/LambdaVariable:LambdaVariable"},"description":"Variables to be used in the service\n"}},"required":["appId","name"],"inputProperties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/LambdaVariable:LambdaVariable"},"description":"Variables to be used in the service\n"}},"requiredInputs":["appId"],"stateInputs":{"description":"Input properties used for looking up and filtering Lambda resources.\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/LambdaVariable:LambdaVariable"},"description":"Variables to be used in the service\n"}},"type":"object"}},"harness:service/ssh:Ssh":{"description":"Resource for creating an SSH service. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.Application(\"example\", {name: \"example\"});\nconst exampleSsh = new harness.service.Ssh(\"example\", {\n    appId: example.id,\n    artifactType: \"TAR\",\n    name: \"ssh-example\",\n    description: \"Service for deploying applications with SSH.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.Application(\"example\", name=\"example\")\nexample_ssh = harness.service.Ssh(\"example\",\n    app_id=example.id,\n    artifact_type=\"TAR\",\n    name=\"ssh-example\",\n    description=\"Service for deploying applications with SSH.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n    var exampleSsh = new Harness.Service.Ssh(\"example\", new()\n    {\n        AppId = example.Id,\n        ArtifactType = \"TAR\",\n        Name = \"ssh-example\",\n        Description = \"Service for deploying applications with SSH.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = service.NewSsh(ctx, \"example\", \u0026service.SshArgs{\n\t\t\tAppId:        example.ID(),\n\t\t\tArtifactType: pulumi.String(\"TAR\"),\n\t\t\tName:         pulumi.String(\"ssh-example\"),\n\t\t\tDescription:  pulumi.String(\"Service for deploying applications with SSH.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.service.Ssh;\nimport com.pulumi.harness.service.SshArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example\")\n            .build());\n\n        var exampleSsh = new Ssh(\"exampleSsh\", SshArgs.builder()\n            .appId(example.id())\n            .artifactType(\"TAR\")\n            .name(\"ssh-example\")\n            .description(\"Service for deploying applications with SSH.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:Application\n    properties:\n      name: example\n  exampleSsh:\n    type: harness:service:Ssh\n    name: example\n    properties:\n      appId: ${example.id}\n      artifactType: TAR\n      name: ssh-example\n      description: Service for deploying applications with SSH.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id and service id\n\n```sh\n$ pulumi import harness:service/ssh:Ssh example \u003capp_id\u003e/\u003csvc_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n"},"artifactType":{"type":"string","description":"The type of artifact to deploy.\n"},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/SshVariable:SshVariable"},"description":"Variables to be used in the service\n"}},"required":["appId","artifactType","name"],"inputProperties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"artifactType":{"type":"string","description":"The type of artifact to deploy.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/SshVariable:SshVariable"},"description":"Variables to be used in the service\n"}},"requiredInputs":["appId","artifactType"],"stateInputs":{"description":"Input properties used for looking up and filtering Ssh resources.\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"artifactType":{"type":"string","description":"The type of artifact to deploy.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/SshVariable:SshVariable"},"description":"Variables to be used in the service\n"}},"type":"object"}},"harness:service/tanzu:Tanzu":{"description":"Resource for creating a Tanzu (PCF) service. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.Application(\"example\", {name: \"example\"});\nconst exampleTanzu = new harness.service.Tanzu(\"example\", {\n    appId: example.id,\n    name: \"tanzu-svc\",\n    description: \"A service for deploying Tanzu applications.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.Application(\"example\", name=\"example\")\nexample_tanzu = harness.service.Tanzu(\"example\",\n    app_id=example.id,\n    name=\"tanzu-svc\",\n    description=\"A service for deploying Tanzu applications.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n    var exampleTanzu = new Harness.Service.Tanzu(\"example\", new()\n    {\n        AppId = example.Id,\n        Name = \"tanzu-svc\",\n        Description = \"A service for deploying Tanzu applications.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = service.NewTanzu(ctx, \"example\", \u0026service.TanzuArgs{\n\t\t\tAppId:       example.ID(),\n\t\t\tName:        pulumi.String(\"tanzu-svc\"),\n\t\t\tDescription: pulumi.String(\"A service for deploying Tanzu applications.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.service.Tanzu;\nimport com.pulumi.harness.service.TanzuArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example\")\n            .build());\n\n        var exampleTanzu = new Tanzu(\"exampleTanzu\", TanzuArgs.builder()\n            .appId(example.id())\n            .name(\"tanzu-svc\")\n            .description(\"A service for deploying Tanzu applications.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:Application\n    properties:\n      name: example\n  exampleTanzu:\n    type: harness:service:Tanzu\n    name: example\n    properties:\n      appId: ${example.id}\n      name: tanzu-svc\n      description: A service for deploying Tanzu applications.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id and service id\n\n```sh\n$ pulumi import harness:service/tanzu:Tanzu example \u003capp_id\u003e/\u003csvc_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n"},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/TanzuVariable:TanzuVariable"},"description":"Variables to be used in the service\n"}},"required":["appId","name"],"inputProperties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/TanzuVariable:TanzuVariable"},"description":"Variables to be used in the service\n"}},"requiredInputs":["appId"],"stateInputs":{"description":"Input properties used for looking up and filtering Tanzu resources.\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/TanzuVariable:TanzuVariable"},"description":"Variables to be used in the service\n"}},"type":"object"}},"harness:service/winrm:Winrm":{"description":"Resource for creating an WinRM service. This resource uses the config-as-code API's. When updating the \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`path`\" pulumi-lang-dotnet=\"`Path`\" pulumi-lang-go=\"`path`\" pulumi-lang-python=\"`path`\" pulumi-lang-yaml=\"`path`\" pulumi-lang-java=\"`path`\"\u003e`path`\u003c/span\u003e of this resource you should typically also set the \u003cspan pulumi-lang-nodejs=\"`createBeforeDestroy \" pulumi-lang-dotnet=\"`CreateBeforeDestroy \" pulumi-lang-go=\"`createBeforeDestroy \" pulumi-lang-python=\"`create_before_destroy \" pulumi-lang-yaml=\"`createBeforeDestroy \" pulumi-lang-java=\"`createBeforeDestroy \"\u003e`create_before_destroy \u003c/span\u003e= true` lifecycle setting.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = new harness.Application(\"example\", {name: \"example\"});\nconst exampleWinrm = new harness.service.Winrm(\"example\", {\n    appId: example.id,\n    artifactType: \"IIS_APP\",\n    name: \"iis-app-winrm-svc\",\n    description: \"Service for deploying IIS appliactions using winrm.\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.Application(\"example\", name=\"example\")\nexample_winrm = harness.service.Winrm(\"example\",\n    app_id=example.id,\n    artifact_type=\"IIS_APP\",\n    name=\"iis-app-winrm-svc\",\n    description=\"Service for deploying IIS appliactions using winrm.\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = new Harness.Application(\"example\", new()\n    {\n        Name = \"example\",\n    });\n\n    var exampleWinrm = new Harness.Service.Winrm(\"example\", new()\n    {\n        AppId = example.Id,\n        ArtifactType = \"IIS_APP\",\n        Name = \"iis-app-winrm-svc\",\n        Description = \"Service for deploying IIS appliactions using winrm.\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := harness.NewApplication(ctx, \"example\", \u0026harness.ApplicationArgs{\n\t\t\tName: pulumi.String(\"example\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = service.NewWinrm(ctx, \"example\", \u0026service.WinrmArgs{\n\t\t\tAppId:        example.ID(),\n\t\t\tArtifactType: pulumi.String(\"IIS_APP\"),\n\t\t\tName:         pulumi.String(\"iis-app-winrm-svc\"),\n\t\t\tDescription:  pulumi.String(\"Service for deploying IIS appliactions using winrm.\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.Application;\nimport com.pulumi.harness.ApplicationArgs;\nimport com.pulumi.harness.service.Winrm;\nimport com.pulumi.harness.service.WinrmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        var example = new Application(\"example\", ApplicationArgs.builder()\n            .name(\"example\")\n            .build());\n\n        var exampleWinrm = new Winrm(\"exampleWinrm\", WinrmArgs.builder()\n            .appId(example.id())\n            .artifactType(\"IIS_APP\")\n            .name(\"iis-app-winrm-svc\")\n            .description(\"Service for deploying IIS appliactions using winrm.\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  example:\n    type: harness:Application\n    properties:\n      name: example\n  exampleWinrm:\n    type: harness:service:Winrm\n    name: example\n    properties:\n      appId: ${example.id}\n      artifactType: IIS_APP\n      name: iis-app-winrm-svc\n      description: Service for deploying IIS appliactions using winrm.\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport using the Harness application id and service id\n\n```sh\n$ pulumi import harness:service/winrm:Winrm example \u003capp_id\u003e/\u003csvc_id\u003e\n```\n\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n"},"artifactType":{"type":"string","description":"The type of artifact to deploy.\n"},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/WinrmVariable:WinrmVariable"},"description":"Variables to be used in the service\n"}},"required":["appId","artifactType","name"],"inputProperties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"artifactType":{"type":"string","description":"The type of artifact to deploy.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/WinrmVariable:WinrmVariable"},"description":"Variables to be used in the service\n"}},"requiredInputs":["appId","artifactType"],"stateInputs":{"description":"Input properties used for looking up and filtering Winrm resources.\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n","willReplaceOnChanges":true},"artifactType":{"type":"string","description":"The type of artifact to deploy.\n","willReplaceOnChanges":true},"description":{"type":"string","description":"Description of th service\n"},"name":{"type":"string","description":"Name of the service\n"},"variables":{"type":"array","items":{"$ref":"#/types/harness:service/WinrmVariable:WinrmVariable"},"description":"Variables to be used in the service\n"}},"type":"object"}}},"functions":{"harness:autostopping/getAwsAlb:getAwsAlb":{"description":"Data source for AWS Autostopping proxy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:autostopping:getAwsAlb\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAwsAlb.\n","properties":{"albArn":{"type":"string","description":"Arn of AWS ALB to be imported. Required only for importing existing ALB\n"},"certificateId":{"type":"string"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the loadabalancer entity will be deleted on Terraform destroy. When set to true, the associated ALB will be deleted permanently from AWS account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, leaving the cloud resources intact.\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"type":"object","required":["cloudConnectorId","deleteCloudResourcesOnDestroy","name","region","vpc"]},"outputs":{"description":"A collection of values returned by getAwsAlb.\n","properties":{"albArn":{"description":"Arn of AWS ALB to be imported. Required only for importing existing ALB\n","type":"string"},"certificateId":{"type":"string"},"cloudConnectorId":{"description":"Id of the cloud connector\n","type":"string"},"deleteCloudResourcesOnDestroy":{"description":"Governs how the loadabalancer entity will be deleted on Terraform destroy. When set to true, the associated ALB will be deleted permanently from AWS account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, leaving the cloud resources intact.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"string"},"name":{"description":"Name of the proxy\n","type":"string"},"region":{"description":"Region in which cloud resources are hosted\n","type":"string"},"securityGroups":{"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n","items":{"type":"string"},"type":"array"},"vpc":{"description":"VPC in which cloud resources are hosted\n","type":"string"}},"required":["cloudConnectorId","deleteCloudResourcesOnDestroy","identifier","name","region","vpc","id"],"type":"object"}},"harness:autostopping/getAwsProxy:getAwsProxy":{"description":"Data source for AWS Autostopping proxy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:autostopping:getAwsProxy\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAwsProxy.\n","properties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificates":{"$ref":"#/types/harness:autostopping/getAwsProxyCertificates:getAwsProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from AWS account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in AWS account itself.\n"},"keypair":{"type":"string"},"machineType":{"type":"string","description":"Machine instance type\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"type":"object","required":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","machineType","name","region","vpc"]},"outputs":{"description":"A collection of values returned by getAwsProxy.\n","properties":{"allocateStaticIp":{"description":"Boolean value to indicate if proxy vm needs to have static IP\n","type":"boolean"},"apiKey":{"description":"Harness NG API key\n","secret":true,"type":"string"},"certificates":{"$ref":"#/types/harness:autostopping/getAwsProxyCertificates:getAwsProxyCertificates"},"cloudConnectorId":{"description":"Id of the cloud connector\n","type":"string"},"deleteCloudResourcesOnDestroy":{"description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from AWS account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in AWS account itself.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"string"},"keypair":{"type":"string"},"machineType":{"description":"Machine instance type\n","type":"string"},"name":{"description":"Name of the proxy\n","type":"string"},"region":{"description":"Region in which cloud resources are hosted\n","type":"string"},"securityGroups":{"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n","items":{"type":"string"},"type":"array"},"vpc":{"description":"VPC in which cloud resources are hosted\n","type":"string"}},"required":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","identifier","machineType","name","region","vpc","id"],"type":"object"}},"harness:autostopping/getAzureGateway:getAzureGateway":{"description":"Data source for AWS Autostopping proxy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:autostopping:getAzureGateway\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAzureGateway.\n","properties":{"appGatewayId":{"type":"string","description":"ID of Azure AppGateway for importing\n"},"azureFuncRegion":{"type":"string","description":"Region in which azure cloud function will be provisioned\n"},"certificateId":{"type":"string","description":"ID of existing SSL certificate from AppGateway being imported. Required only for SSL based rules\n"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the loadabalancer entity will be deleted on Terraform destroy. When set to true, the associated Application Gateway will be deleted permanently from Azure account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, leaving the cloud resources intact.\n"},"frontendIp":{"type":"string","description":"ID of IP address to be used. Required only for creating new AppGateway. See https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-components#static-versus-dynamic-public-ip-address for more details\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"resourceGroup":{"type":"string","description":"Resource group in which cloud resources are hosted\n"},"skuSize":{"type":"string","description":"Size of machine used for the gateway\n"},"subnetId":{"type":"string","description":"Subnet in which cloud resources are hosted\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"type":"object","required":["azureFuncRegion","cloudConnectorId","deleteCloudResourcesOnDestroy","name","region","resourceGroup","vpc"]},"outputs":{"description":"A collection of values returned by getAzureGateway.\n","properties":{"appGatewayId":{"description":"ID of Azure AppGateway for importing\n","type":"string"},"azureFuncRegion":{"description":"Region in which azure cloud function will be provisioned\n","type":"string"},"certificateId":{"description":"ID of existing SSL certificate from AppGateway being imported. Required only for SSL based rules\n","type":"string"},"cloudConnectorId":{"description":"Id of the cloud connector\n","type":"string"},"deleteCloudResourcesOnDestroy":{"description":"Governs how the loadabalancer entity will be deleted on Terraform destroy. When set to true, the associated Application Gateway will be deleted permanently from Azure account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, leaving the cloud resources intact.\n","type":"boolean"},"frontendIp":{"description":"ID of IP address to be used. Required only for creating new AppGateway. See https://learn.microsoft.com/en-us/azure/application-gateway/application-gateway-components#static-versus-dynamic-public-ip-address for more details\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"string"},"name":{"description":"Name of the proxy\n","type":"string"},"region":{"description":"Region in which cloud resources are hosted\n","type":"string"},"resourceGroup":{"description":"Resource group in which cloud resources are hosted\n","type":"string"},"skuSize":{"description":"Size of machine used for the gateway\n","type":"string"},"subnetId":{"description":"Subnet in which cloud resources are hosted\n","type":"string"},"vpc":{"description":"VPC in which cloud resources are hosted\n","type":"string"}},"required":["azureFuncRegion","cloudConnectorId","deleteCloudResourcesOnDestroy","identifier","name","region","resourceGroup","vpc","id"],"type":"object"}},"harness:autostopping/getAzureProxy:getAzureProxy":{"description":"Data source for Azure Autostopping proxy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:autostopping:getAzureProxy\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAzureProxy.\n","properties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificateId":{"type":"string"},"certificates":{"$ref":"#/types/harness:autostopping/getAzureProxyCertificates:getAzureProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from Azure account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in Azure account itself.\n"},"keypair":{"type":"string","description":"Name of SSH Key to be used for proxy VM\n"},"machineType":{"type":"string","description":"Type of instance to be used for proxy\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"resourceGroup":{"type":"string","description":"Resource group in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"subnetId":{"type":"string","description":"Subnet in which cloud resources are hosted\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"}},"type":"object","required":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","keypair","machineType","name","region","resourceGroup","subnetId","vpc"]},"outputs":{"description":"A collection of values returned by getAzureProxy.\n","properties":{"allocateStaticIp":{"description":"Boolean value to indicate if proxy vm needs to have static IP\n","type":"boolean"},"apiKey":{"description":"Harness NG API key\n","secret":true,"type":"string"},"certificateId":{"type":"string"},"certificates":{"$ref":"#/types/harness:autostopping/getAzureProxyCertificates:getAzureProxyCertificates"},"cloudConnectorId":{"description":"Id of the cloud connector\n","type":"string"},"deleteCloudResourcesOnDestroy":{"description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from Azure account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in Azure account itself.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"string"},"keypair":{"description":"Name of SSH Key to be used for proxy VM\n","type":"string"},"machineType":{"description":"Type of instance to be used for proxy\n","type":"string"},"name":{"description":"Name of the proxy\n","type":"string"},"region":{"description":"Region in which cloud resources are hosted\n","type":"string"},"resourceGroup":{"description":"Resource group in which cloud resources are hosted\n","type":"string"},"securityGroups":{"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n","items":{"type":"string"},"type":"array"},"subnetId":{"description":"Subnet in which cloud resources are hosted\n","type":"string"},"vpc":{"description":"VPC in which cloud resources are hosted\n","type":"string"}},"required":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","identifier","keypair","machineType","name","region","resourceGroup","subnetId","vpc","id"],"type":"object"}},"harness:autostopping/getGcpProxy:getGcpProxy":{"description":"Data source for GCP Autostopping proxy\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:autostopping:getGcpProxy\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGcpProxy.\n","properties":{"allocateStaticIp":{"type":"boolean","description":"Boolean value to indicate if proxy vm needs to have static IP\n"},"apiKey":{"type":"string","description":"Harness NG API key\n","secret":true},"certificates":{"$ref":"#/types/harness:autostopping/getGcpProxyCertificates:getGcpProxyCertificates"},"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"deleteCloudResourcesOnDestroy":{"type":"boolean","description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from GCP account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in GCP account itself.\n"},"machineType":{"type":"string","description":"Machine instance type\n"},"name":{"type":"string","description":"Name of the proxy\n"},"region":{"type":"string","description":"Region in which cloud resources are hosted\n"},"securityGroups":{"type":"array","items":{"type":"string"},"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n"},"subnetId":{"type":"string","description":"VPC in which cloud resources are hosted\n"},"vpc":{"type":"string","description":"VPC in which cloud resources are hosted\n"},"zone":{"type":"string","description":"Zone in which cloud resources are hosted\n"}},"type":"object","required":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","machineType","name","region","subnetId","vpc","zone"]},"outputs":{"description":"A collection of values returned by getGcpProxy.\n","properties":{"allocateStaticIp":{"description":"Boolean value to indicate if proxy vm needs to have static IP\n","type":"boolean"},"apiKey":{"description":"Harness NG API key\n","secret":true,"type":"string"},"certificates":{"$ref":"#/types/harness:autostopping/getGcpProxyCertificates:getGcpProxyCertificates"},"cloudConnectorId":{"description":"Id of the cloud connector\n","type":"string"},"deleteCloudResourcesOnDestroy":{"description":"Governs how the proxy entity will be deleted on Terraform destroy. When set to true, the associated VM will be deleted permanently from GCP account. Be fully aware of the consequneces of settting this to true, as the action is irreversible. When set to false, solely the Harness LB representation will be deleted, which leaves the proxy VM in GCP account itself.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"string"},"machineType":{"description":"Machine instance type\n","type":"string"},"name":{"description":"Name of the proxy\n","type":"string"},"region":{"description":"Region in which cloud resources are hosted\n","type":"string"},"securityGroups":{"description":"Security Group to define the security rules that determine the inbound and outbound traffic\n","items":{"type":"string"},"type":"array"},"subnetId":{"description":"VPC in which cloud resources are hosted\n","type":"string"},"vpc":{"description":"VPC in which cloud resources are hosted\n","type":"string"},"zone":{"description":"Zone in which cloud resources are hosted\n","type":"string"}},"required":["apiKey","cloudConnectorId","deleteCloudResourcesOnDestroy","identifier","machineType","name","region","subnetId","vpc","zone","id"],"type":"object"}},"harness:autostopping/getRuleEcs:getRuleEcs":{"description":"Data source for retrieving a Harness AutoStopping rule for ECS services.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:autostopping:getRuleEcs\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRuleEcs.\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"container":{"$ref":"#/types/harness:autostopping/getRuleEcsContainer:getRuleEcsContainer"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleEcsDepend:getRuleEcsDepend"},"description":"Dependent rules\n"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleEcsHttp:getRuleEcsHttp"},"description":"Http routing configuration\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"}},"type":"object","required":["cloudConnectorId","name"]},"outputs":{"description":"A collection of values returned by getRuleEcs.\n","properties":{"cloudConnectorId":{"description":"Id of the cloud connector\n","type":"string"},"container":{"$ref":"#/types/harness:autostopping/getRuleEcsContainer:getRuleEcsContainer"},"customDomains":{"description":"Custom URLs used to access the instances\n","items":{"type":"string"},"type":"array"},"depends":{"description":"Dependent rules\n","items":{"$ref":"#/types/harness:autostopping/getRuleEcsDepend:getRuleEcsDepend"},"type":"array"},"https":{"description":"Http routing configuration\n","items":{"$ref":"#/types/harness:autostopping/getRuleEcsHttp:getRuleEcsHttp"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"number"},"idleTimeMins":{"description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n","type":"integer"},"name":{"description":"Name of the rule\n","type":"string"}},"required":["cloudConnectorId","identifier","name","id"],"type":"object"}},"harness:autostopping/getRuleRds:getRuleRds":{"description":"Data source for retrieving a Harness AutoStopping rule for RDS databases.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:autostopping:getRuleRds\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRuleRds.\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"database":{"$ref":"#/types/harness:autostopping/getRuleRdsDatabase:getRuleRdsDatabase"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleRdsDepend:getRuleRdsDepend"},"description":"Dependent rules\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"tcps":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleRdsTcp:getRuleRdsTcp"},"description":"TCP routing configuration\n"}},"type":"object","required":["cloudConnectorId","database","name"]},"outputs":{"description":"A collection of values returned by getRuleRds.\n","properties":{"cloudConnectorId":{"description":"Id of the cloud connector\n","type":"string"},"database":{"$ref":"#/types/harness:autostopping/getRuleRdsDatabase:getRuleRdsDatabase"},"depends":{"description":"Dependent rules\n","items":{"$ref":"#/types/harness:autostopping/getRuleRdsDepend:getRuleRdsDepend"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"number"},"idleTimeMins":{"description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n","type":"integer"},"name":{"description":"Name of the rule\n","type":"string"},"tcps":{"description":"TCP routing configuration\n","items":{"$ref":"#/types/harness:autostopping/getRuleRdsTcp:getRuleRdsTcp"},"type":"array"}},"required":["cloudConnectorId","database","identifier","name","id"],"type":"object"}},"harness:autostopping/getRuleScaleGroup:getRuleScaleGroup":{"description":"Data source for retrieving a Harness AutoStopping rule for Scaling Groups.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:autostopping:getRuleScaleGroup\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRuleScaleGroup.\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleScaleGroupDepend:getRuleScaleGroupDepend"},"description":"Dependent rules\n"},"dryRun":{"type":"boolean","description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleScaleGroupHttp:getRuleScaleGroupHttp"},"description":"Http routing configuration\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"scaleGroup":{"$ref":"#/types/harness:autostopping/getRuleScaleGroupScaleGroup:getRuleScaleGroupScaleGroup","description":"Scaling Group configuration\n"}},"type":"object","required":["cloudConnectorId","name","scaleGroup"]},"outputs":{"description":"A collection of values returned by getRuleScaleGroup.\n","properties":{"cloudConnectorId":{"description":"Id of the cloud connector\n","type":"string"},"customDomains":{"description":"Custom URLs used to access the instances\n","items":{"type":"string"},"type":"array"},"depends":{"description":"Dependent rules\n","items":{"$ref":"#/types/harness:autostopping/getRuleScaleGroupDepend:getRuleScaleGroupDepend"},"type":"array"},"dryRun":{"description":"Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n","type":"boolean"},"https":{"description":"Http routing configuration\n","items":{"$ref":"#/types/harness:autostopping/getRuleScaleGroupHttp:getRuleScaleGroupHttp"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"number"},"idleTimeMins":{"description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n","type":"integer"},"name":{"description":"Name of the rule\n","type":"string"},"scaleGroup":{"$ref":"#/types/harness:autostopping/getRuleScaleGroupScaleGroup:getRuleScaleGroupScaleGroup","description":"Scaling Group configuration\n"}},"required":["cloudConnectorId","identifier","name","scaleGroup","id"],"type":"object"}},"harness:autostopping/getRuleVm:getRuleVm":{"description":"Data source for retrieving a Harness AutoStopping rule for VMs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:autostopping:getRuleVm\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRuleVm.\n","properties":{"cloudConnectorId":{"type":"string","description":"Id of the cloud connector\n"},"customDomains":{"type":"array","items":{"type":"string"},"description":"Custom URLs used to access the instances\n"},"depends":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleVmDepend:getRuleVmDepend"},"description":"Dependent rules\n"},"filter":{"$ref":"#/types/harness:autostopping/getRuleVmFilter:getRuleVmFilter"},"https":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleVmHttp:getRuleVmHttp"},"description":"Http routing configuration\n"},"idleTimeMins":{"type":"integer","description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n"},"name":{"type":"string","description":"Name of the rule\n"},"tcps":{"type":"array","items":{"$ref":"#/types/harness:autostopping/getRuleVmTcp:getRuleVmTcp"},"description":"TCP routing configuration\n"},"useSpot":{"type":"boolean","description":"Boolean that indicates whether the selected instances should be converted to spot vm\n"}},"type":"object","required":["cloudConnectorId","filter","name"]},"outputs":{"description":"A collection of values returned by getRuleVm.\n","properties":{"cloudConnectorId":{"description":"Id of the cloud connector\n","type":"string"},"customDomains":{"description":"Custom URLs used to access the instances\n","items":{"type":"string"},"type":"array"},"depends":{"description":"Dependent rules\n","items":{"$ref":"#/types/harness:autostopping/getRuleVmDepend:getRuleVmDepend"},"type":"array"},"filter":{"$ref":"#/types/harness:autostopping/getRuleVmFilter:getRuleVmFilter"},"https":{"description":"Http routing configuration\n","items":{"$ref":"#/types/harness:autostopping/getRuleVmHttp:getRuleVmHttp"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"number"},"idleTimeMins":{"description":"Idle time in minutes. This is the time that the AutoStopping rule waits before stopping the idle instances.\n","type":"integer"},"name":{"description":"Name of the rule\n","type":"string"},"tcps":{"description":"TCP routing configuration\n","items":{"$ref":"#/types/harness:autostopping/getRuleVmTcp:getRuleVmTcp"},"type":"array"},"useSpot":{"description":"Boolean that indicates whether the selected instances should be converted to spot vm\n","type":"boolean"}},"required":["cloudConnectorId","filter","identifier","name","id"],"type":"object"}},"harness:autostopping/getSchedule:getSchedule":{"description":"Data source for retrieving a fixed schedule for Harness AutoStopping rule\n","inputs":{"description":"A collection of arguments for invoking getSchedule.\n","properties":{"scheduleType":{"type":"string","description":"Type of the schedule. Valid values are \u003cspan pulumi-lang-nodejs=\"`uptime`\" pulumi-lang-dotnet=\"`Uptime`\" pulumi-lang-go=\"`uptime`\" pulumi-lang-python=\"`uptime`\" pulumi-lang-yaml=\"`uptime`\" pulumi-lang-java=\"`uptime`\"\u003e`uptime`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`downtime`\" pulumi-lang-dotnet=\"`Downtime`\" pulumi-lang-go=\"`downtime`\" pulumi-lang-python=\"`downtime`\" pulumi-lang-yaml=\"`downtime`\" pulumi-lang-java=\"`downtime`\"\u003e`downtime`\u003c/span\u003e\n"}},"type":"object","required":["scheduleType"]},"outputs":{"description":"A collection of values returned by getSchedule.\n","properties":{"endingOn":{"description":"Time until which schedule will be active. Need to be in YYYY-MM-DD HH:mm:SS format. Eg 2006-01-02 15:04:05\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the schedule\n","type":"number"},"name":{"description":"Name of the schedule\n","type":"string"},"repeats":{"description":"For defining periodic schedule. Periodic nature will be applicable from the time of creation of schedule, unless specific 'time_period' is specified\n","items":{"$ref":"#/types/harness:autostopping/getScheduleRepeat:getScheduleRepeat"},"type":"array"},"rules":{"description":"ID of AutoStopping rules on which the schedule applies\n","items":{"type":"number"},"type":"array"},"scheduleType":{"description":"Type of the schedule. Valid values are \u003cspan pulumi-lang-nodejs=\"`uptime`\" pulumi-lang-dotnet=\"`Uptime`\" pulumi-lang-go=\"`uptime`\" pulumi-lang-python=\"`uptime`\" pulumi-lang-yaml=\"`uptime`\" pulumi-lang-java=\"`uptime`\"\u003e`uptime`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`downtime`\" pulumi-lang-dotnet=\"`Downtime`\" pulumi-lang-go=\"`downtime`\" pulumi-lang-python=\"`downtime`\" pulumi-lang-yaml=\"`downtime`\" pulumi-lang-java=\"`downtime`\"\u003e`downtime`\u003c/span\u003e\n","type":"string"},"startingFrom":{"description":"Time from which schedule will be active. Schedule will take immediate effect if\u003cspan pulumi-lang-nodejs=\" startingFrom \" pulumi-lang-dotnet=\" StartingFrom \" pulumi-lang-go=\" startingFrom \" pulumi-lang-python=\" starting_from \" pulumi-lang-yaml=\" startingFrom \" pulumi-lang-java=\" startingFrom \"\u003e starting_from \u003c/span\u003eis not specified. Need to be in YYYY-MM-DD HH:mm:SS format. Eg 2006-01-02 15:04:05\n","type":"string"},"timeZone":{"description":"Time zone in which schedule needs to be executed\n","type":"string"}},"required":["endingOn","identifier","name","repeats","rules","scheduleType","startingFrom","timeZone","id"],"type":"object"}},"harness:chaos/getHub:getHub":{"description":"Data source for retrieving a Harness Chaos Hub\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.chaos.getHub({\n    name: \"\u003cname\u003e\",\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.chaos.get_hub(name=\"\u003cname\u003e\",\n    org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Chaos.GetHub.Invoke(new()\n    {\n        Name = \"\u003cname\u003e\",\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/chaos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := chaos.LookupHub(ctx, \u0026chaos.LookupHubArgs{\n\t\t\tName:      \"\u003cname\u003e\",\n\t\t\tOrgId:     pulumi.StringRef(\"\u003corg_id\u003e\"),\n\t\t\tProjectId: pulumi.StringRef(\"\u003cproject_id\u003e\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.chaos.ChaosFunctions;\nimport com.pulumi.harness.chaos.inputs.GetHubArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ChaosFunctions.getHub(GetHubArgs.builder()\n            .name(\"\u003cname\u003e\")\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:chaos:getHub\n      arguments:\n        name: \u003cname\u003e\n        orgId: \u003corg_id\u003e\n        projectId: \u003cproject_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getHub.\n","properties":{"name":{"type":"string","description":"Name of the chaos hub\n"},"orgId":{"type":"string","description":"The organization ID of the chaos hub\n"},"projectId":{"type":"string","description":"The project ID of the chaos hub\n"}},"type":"object","required":["name"]},"outputs":{"description":"A collection of values returned by getHub.\n","properties":{"connectorId":{"description":"ID of the Git connector\n","type":"string"},"createdAt":{"description":"Creation timestamp\n","type":"string"},"description":{"description":"Description of the chaos hub\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"isAvailable":{"description":"Whether the chaos hub is available\n","type":"boolean"},"isDefault":{"description":"Whether this is the default chaos hub\n","type":"boolean"},"lastSyncedAt":{"description":"Timestamp of the last sync\n","type":"string"},"name":{"description":"Name of the chaos hub\n","type":"string"},"orgId":{"description":"The organization ID of the chaos hub\n","type":"string"},"projectId":{"description":"The project ID of the chaos hub\n","type":"string"},"repoBranch":{"description":"Git repository branch\n","type":"string"},"repoName":{"description":"Name of the Git repository\n","type":"string"},"tags":{"description":"Tags associated with the chaos hub\n","items":{"type":"string"},"type":"array"},"totalExperiments":{"description":"Total number of experiments in the hub\n","type":"integer"},"totalFaults":{"description":"Total number of faults in the hub\n","type":"integer"},"updatedAt":{"description":"Last update timestamp\n","type":"string"}},"required":["connectorId","createdAt","description","isAvailable","isDefault","lastSyncedAt","name","repoBranch","repoName","tags","totalExperiments","totalFaults","updatedAt","id"],"type":"object"}},"harness:chaos/getImageRegistry:getImageRegistry":{"description":"Data source for retrieving a Harness Chaos Image Registry and checking override status\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Data source to verify the registry\nconst example = harness.chaos.getImageRegistry({\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n});\n// Example of checking override status\nconst overrideCheck = harness.chaos.getImageRegistry({\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n    checkOverride: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Data source to verify the registry\nexample = harness.chaos.get_image_registry(org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\")\n# Example of checking override status\noverride_check = harness.chaos.get_image_registry(org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\",\n    check_override=True)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Data source to verify the registry\n    var example = Harness.Chaos.GetImageRegistry.Invoke(new()\n    {\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n    });\n\n    // Example of checking override status\n    var overrideCheck = Harness.Chaos.GetImageRegistry.Invoke(new()\n    {\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n        CheckOverride = true,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/chaos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Data source to verify the registry\n\t\t_, err := chaos.LookupImageRegistry(ctx, \u0026chaos.LookupImageRegistryArgs{\n\t\t\tOrgId:     pulumi.StringRef(\"\u003corg_id\u003e\"),\n\t\t\tProjectId: pulumi.StringRef(\"\u003cproject_id\u003e\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example of checking override status\n\t\t_, err = chaos.LookupImageRegistry(ctx, \u0026chaos.LookupImageRegistryArgs{\n\t\t\tOrgId:         pulumi.StringRef(\"\u003corg_id\u003e\"),\n\t\t\tProjectId:     pulumi.StringRef(\"\u003cproject_id\u003e\"),\n\t\t\tCheckOverride: pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.chaos.ChaosFunctions;\nimport com.pulumi.harness.chaos.inputs.GetImageRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Data source to verify the registry\n        final var example = ChaosFunctions.getImageRegistry(GetImageRegistryArgs.builder()\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .build());\n\n        // Example of checking override status\n        final var overrideCheck = ChaosFunctions.getImageRegistry(GetImageRegistryArgs.builder()\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .checkOverride(true)\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Data source to verify the registry\n  example:\n    fn::invoke:\n      function: harness:chaos:getImageRegistry\n      arguments:\n        orgId: \u003corg_id\u003e\n        projectId: \u003cproject_id\u003e\n  # Example of checking override status\n  overrideCheck:\n    fn::invoke:\n      function: harness:chaos:getImageRegistry\n      arguments:\n        orgId: \u003corg_id\u003e\n        projectId: \u003cproject_id\u003e\n        checkOverride: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getImageRegistry.\n","properties":{"checkOverride":{"type":"boolean","description":"Whether to check if override is allowed\n"},"infraId":{"type":"string","description":"The infrastructure ID to set up the image registry\n"},"orgId":{"type":"string","description":"The organization ID of the image registry\n"},"projectId":{"type":"string","description":"The project ID of the image registry\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getImageRegistry.\n","properties":{"checkOverride":{"description":"Whether to check if override is allowed\n","type":"boolean"},"createdAt":{"description":"Creation timestamp\n","type":"string"},"customImages":{"description":"Custom images configuration\n","items":{"$ref":"#/types/harness:chaos/getImageRegistryCustomImage:getImageRegistryCustomImage"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"infraId":{"description":"The infrastructure ID to set up the image registry\n","type":"string"},"isDefault":{"description":"Whether this is the default registry\n","type":"boolean"},"isOverrideAllowed":{"description":"Whether override is allowed for this registry\n","type":"boolean"},"isPrivate":{"description":"Whether the registry is private\n","type":"boolean"},"orgId":{"description":"The organization ID of the image registry\n","type":"string"},"overrideBlockedByScope":{"description":"Indicates if override is blocked by scope (only populated if\u003cspan pulumi-lang-nodejs=\" checkOverride \" pulumi-lang-dotnet=\" CheckOverride \" pulumi-lang-go=\" checkOverride \" pulumi-lang-python=\" check_override \" pulumi-lang-yaml=\" checkOverride \" pulumi-lang-java=\" checkOverride \"\u003e check_override \u003c/span\u003eis true)\n","type":"string"},"projectId":{"description":"The project ID of the image registry\n","type":"string"},"registryAccount":{"description":"The registry account name\n","type":"string"},"registryServer":{"description":"The registry server URL\n","type":"string"},"secretName":{"description":"The name of the secret for authentication\n","type":"string"},"updatedAt":{"description":"Last update timestamp\n","type":"string"},"useCustomImages":{"description":"Whether custom images are used\n","type":"boolean"}},"required":["createdAt","customImages","isDefault","isOverrideAllowed","isPrivate","overrideBlockedByScope","registryAccount","registryServer","secretName","updatedAt","useCustomImages","id"],"type":"object"}},"harness:chaos/getInfrastructureV2:getInfrastructureV2":{"description":"Data source for retrieving a Harness Chaos Infrastructure V2.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Data source to fetch a specific agent by name\nconst byName = harness.service.getDiscoveryAgent({\n    name: \"example-agent\",\n    orgIdentifier: orgIdentifier,\n    projectIdentifier: projectIdentifier,\n    environmentIdentifier: environmentIdentifier,\n});\nexport const agentDetailsByName = byName;\n// Data source to fetch a specific agent by identity\nconst byIdentity = harness.service.getDiscoveryAgent({\n    identity: \"example-infra\",\n    orgIdentifier: orgIdentifier,\n    projectIdentifier: projectIdentifier,\n    environmentIdentifier: environmentIdentifier,\n});\nexport const agentDetailsByIdentity = byIdentity;\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Data source to fetch a specific agent by name\nby_name = harness.service.get_discovery_agent(name=\"example-agent\",\n    org_identifier=org_identifier,\n    project_identifier=project_identifier,\n    environment_identifier=environment_identifier)\npulumi.export(\"agentDetailsByName\", by_name)\n# Data source to fetch a specific agent by identity\nby_identity = harness.service.get_discovery_agent(identity=\"example-infra\",\n    org_identifier=org_identifier,\n    project_identifier=project_identifier,\n    environment_identifier=environment_identifier)\npulumi.export(\"agentDetailsByIdentity\", by_identity)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Data source to fetch a specific agent by name\n    var byName = Harness.Service.GetDiscoveryAgent.Invoke(new()\n    {\n        Name = \"example-agent\",\n        OrgIdentifier = orgIdentifier,\n        ProjectIdentifier = projectIdentifier,\n        EnvironmentIdentifier = environmentIdentifier,\n    });\n\n    // Data source to fetch a specific agent by identity\n    var byIdentity = Harness.Service.GetDiscoveryAgent.Invoke(new()\n    {\n        Identity = \"example-infra\",\n        OrgIdentifier = orgIdentifier,\n        ProjectIdentifier = projectIdentifier,\n        EnvironmentIdentifier = environmentIdentifier,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"agentDetailsByName\"] = byName,\n        [\"agentDetailsByIdentity\"] = byIdentity,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Data source to fetch a specific agent by name\n\t\tbyName, err := service.LookupDiscoveryAgent(ctx, \u0026service.LookupDiscoveryAgentArgs{\n\t\t\tName:                  pulumi.StringRef(\"example-agent\"),\n\t\t\tOrgIdentifier:         pulumi.StringRef(orgIdentifier),\n\t\t\tProjectIdentifier:     pulumi.StringRef(projectIdentifier),\n\t\t\tEnvironmentIdentifier: environmentIdentifier,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"agentDetailsByName\", byName)\n\t\t// Data source to fetch a specific agent by identity\n\t\tbyIdentity, err := service.LookupDiscoveryAgent(ctx, \u0026service.LookupDiscoveryAgentArgs{\n\t\t\tIdentity:              pulumi.StringRef(\"example-infra\"),\n\t\t\tOrgIdentifier:         pulumi.StringRef(orgIdentifier),\n\t\t\tProjectIdentifier:     pulumi.StringRef(projectIdentifier),\n\t\t\tEnvironmentIdentifier: environmentIdentifier,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"agentDetailsByIdentity\", byIdentity)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.service.ServiceFunctions;\nimport com.pulumi.harness.service.inputs.GetDiscoveryAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Data source to fetch a specific agent by name\n        final var byName = ServiceFunctions.getDiscoveryAgent(GetDiscoveryAgentArgs.builder()\n            .name(\"example-agent\")\n            .orgIdentifier(orgIdentifier)\n            .projectIdentifier(projectIdentifier)\n            .environmentIdentifier(environmentIdentifier)\n            .build());\n\n        ctx.export(\"agentDetailsByName\", byName);\n        // Data source to fetch a specific agent by identity\n        final var byIdentity = ServiceFunctions.getDiscoveryAgent(GetDiscoveryAgentArgs.builder()\n            .identity(\"example-infra\")\n            .orgIdentifier(orgIdentifier)\n            .projectIdentifier(projectIdentifier)\n            .environmentIdentifier(environmentIdentifier)\n            .build());\n\n        ctx.export(\"agentDetailsByIdentity\", byIdentity);\n    }\n}\n```\n```yaml\nvariables:\n  # Data source to fetch a specific agent by name\n  byName:\n    fn::invoke:\n      function: harness:service:getDiscoveryAgent\n      arguments:\n        name: example-agent\n        orgIdentifier: ${orgIdentifier}\n        projectIdentifier: ${projectIdentifier}\n        environmentIdentifier: ${environmentIdentifier}\n  # Data source to fetch a specific agent by identity\n  byIdentity:\n    fn::invoke:\n      function: harness:service:getDiscoveryAgent\n      arguments:\n        identity: example-infra\n        orgIdentifier: ${orgIdentifier}\n        projectIdentifier: ${projectIdentifier}\n        environmentIdentifier: ${environmentIdentifier}\noutputs:\n  agentDetailsByName: ${byName}\n  agentDetailsByIdentity: ${byIdentity}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInfrastructureV2.\n","properties":{"environmentId":{"type":"string","description":"The ID of the environment.\n"},"imageRegistries":{"type":"array","items":{"$ref":"#/types/harness:chaos/getInfrastructureV2ImageRegistry:getInfrastructureV2ImageRegistry"},"description":"Configuration for the container image registry.\n"},"infraId":{"type":"string","description":"The ID of the infrastructure.\n"},"mtls":{"$ref":"#/types/harness:chaos/getInfrastructureV2Mtls:getInfrastructureV2Mtls","description":"mTLS configuration for the infrastructure.\n"},"orgId":{"type":"string","description":"The ID of the organization.\n"},"projectId":{"type":"string","description":"The ID of the project.\n"},"proxy":{"$ref":"#/types/harness:chaos/getInfrastructureV2Proxy:getInfrastructureV2Proxy","description":"Proxy configuration for the infrastructure.\n"},"tolerations":{"type":"array","items":{"$ref":"#/types/harness:chaos/getInfrastructureV2Toleration:getInfrastructureV2Toleration"},"description":"If specified, the pod's tolerations.\n"},"volumeMounts":{"type":"array","items":{"$ref":"#/types/harness:chaos/getInfrastructureV2VolumeMount:getInfrastructureV2VolumeMount"},"description":"Volume mounts for the container.\n"},"volumes":{"type":"array","items":{"$ref":"#/types/harness:chaos/getInfrastructureV2Volume:getInfrastructureV2Volume"},"description":"Volumes to be created in the infrastructure.\n"}},"type":"object","required":["environmentId","infraId","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getInfrastructureV2.\n","properties":{"annotation":{"additionalProperties":{"type":"string"},"type":"object"},"containers":{"description":"List of containers in the infrastructure.\n","type":"string"},"createdAt":{"description":"Created at of the infrastructure.\n","type":"string"},"createdBy":{"description":"Created by of the infrastructure.\n","type":"string"},"description":{"description":"Description of the infrastructure.\n","type":"string"},"environmentId":{"description":"The ID of the environment.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the infrastructure.\n","type":"string"},"identity":{"description":"Identity of the infrastructure.\n","type":"string"},"imageRegistries":{"description":"Configuration for the container image registry.\n","items":{"$ref":"#/types/harness:chaos/getInfrastructureV2ImageRegistry:getInfrastructureV2ImageRegistry"},"type":"array"},"infraId":{"description":"The ID of the infrastructure.\n","type":"string"},"infraScope":{"description":"Scope of the infrastructure.\n","type":"string"},"infraType":{"description":"Type of the infrastructure.\n","type":"string"},"insecureSkipVerify":{"type":"boolean"},"isAiEnabled":{"type":"boolean"},"isChaosEnabled":{"type":"boolean"},"label":{"additionalProperties":{"type":"string"},"type":"object"},"lastHeartbeat":{"description":"Last heartbeat of the infrastructure.\n","type":"integer"},"lastWorkflowTimestamp":{"description":"Last workflow timestamp of the infrastructure.\n","type":"string"},"mtls":{"$ref":"#/types/harness:chaos/getInfrastructureV2Mtls:getInfrastructureV2Mtls","description":"mTLS configuration for the infrastructure.\n"},"name":{"description":"Name of the infrastructure.\n","type":"string"},"namespace":{"description":"Kubernetes namespace for the infrastructure.\n","type":"string"},"noOfSchedules":{"description":"Number of schedules for the infrastructure.\n","type":"integer"},"noOfWorkflows":{"description":"Number of workflows for the infrastructure.\n","type":"integer"},"nodeSelector":{"additionalProperties":{"type":"string"},"type":"object"},"orgId":{"description":"The ID of the organization.\n","type":"string"},"projectId":{"description":"The ID of the project.\n","type":"string"},"proxy":{"$ref":"#/types/harness:chaos/getInfrastructureV2Proxy:getInfrastructureV2Proxy","description":"Proxy configuration for the infrastructure.\n"},"runAsGroup":{"type":"integer"},"runAsUser":{"type":"integer"},"serviceAccount":{"description":"Service account used by the infrastructure.\n","type":"string"},"status":{"description":"Status of the infrastructure.\n","type":"string"},"tags":{"description":"Tags of the infrastructure.\n","items":{"type":"string"},"type":"array"},"tolerations":{"description":"If specified, the pod's tolerations.\n","items":{"$ref":"#/types/harness:chaos/getInfrastructureV2Toleration:getInfrastructureV2Toleration"},"type":"array"},"updateStatus":{"description":"Update status of the infrastructure.\n","type":"string"},"updatedAt":{"description":"Updated at of the infrastructure.\n","type":"string"},"updatedBy":{"description":"Updated by of the infrastructure.\n","type":"string"},"volumeMounts":{"description":"Volume mounts for the container.\n","items":{"$ref":"#/types/harness:chaos/getInfrastructureV2VolumeMount:getInfrastructureV2VolumeMount"},"type":"array"},"volumes":{"description":"Volumes to be created in the infrastructure.\n","items":{"$ref":"#/types/harness:chaos/getInfrastructureV2Volume:getInfrastructureV2Volume"},"type":"array"}},"required":["annotation","containers","createdAt","createdBy","description","environmentId","identifier","identity","imageRegistries","infraId","infraScope","infraType","insecureSkipVerify","isAiEnabled","isChaosEnabled","label","lastHeartbeat","lastWorkflowTimestamp","name","namespace","noOfSchedules","noOfWorkflows","nodeSelector","orgId","projectId","runAsGroup","runAsUser","serviceAccount","status","tags","updateStatus","updatedAt","updatedBy","id"],"type":"object"}},"harness:chaos/getSecurityGovernanceCondition:getSecurityGovernanceCondition":{"description":"Data source for retrieving a Harness Chaos Security Governance Condition\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Example of looking up a security governance condition by name\nconst byName = harness.chaos.getSecurityGovernanceCondition({\n    orgId: orgId,\n    projectId: projectId,\n    name: \"k8s-security-condition\",\n});\n// Example of looking up a security governance condition by ID\nconst byId = harness.chaos.getSecurityGovernanceCondition({\n    orgId: orgId,\n    projectId: projectId,\n    id: \"\u003ccondition_id\u003e\",\n});\nexport const securityGovernanceConditionByName = byName;\nexport const securityGovernanceConditionById = byId;\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Example of looking up a security governance condition by name\nby_name = harness.chaos.get_security_governance_condition(org_id=org_id,\n    project_id=project_id,\n    name=\"k8s-security-condition\")\n# Example of looking up a security governance condition by ID\nby_id = harness.chaos.get_security_governance_condition(org_id=org_id,\n    project_id=project_id,\n    id=\"\u003ccondition_id\u003e\")\npulumi.export(\"securityGovernanceConditionByName\", by_name)\npulumi.export(\"securityGovernanceConditionById\", by_id)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Example of looking up a security governance condition by name\n    var byName = Harness.Chaos.GetSecurityGovernanceCondition.Invoke(new()\n    {\n        OrgId = orgId,\n        ProjectId = projectId,\n        Name = \"k8s-security-condition\",\n    });\n\n    // Example of looking up a security governance condition by ID\n    var byId = Harness.Chaos.GetSecurityGovernanceCondition.Invoke(new()\n    {\n        OrgId = orgId,\n        ProjectId = projectId,\n        Id = \"\u003ccondition_id\u003e\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"securityGovernanceConditionByName\"] = byName,\n        [\"securityGovernanceConditionById\"] = byId,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/chaos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example of looking up a security governance condition by name\n\t\tbyName, err := chaos.LookupSecurityGovernanceCondition(ctx, \u0026chaos.LookupSecurityGovernanceConditionArgs{\n\t\t\tOrgId:     pulumi.StringRef(orgId),\n\t\t\tProjectId: pulumi.StringRef(projectId),\n\t\t\tName:      pulumi.StringRef(\"k8s-security-condition\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example of looking up a security governance condition by ID\n\t\tbyId, err := chaos.LookupSecurityGovernanceCondition(ctx, \u0026chaos.LookupSecurityGovernanceConditionArgs{\n\t\t\tOrgId:     pulumi.StringRef(orgId),\n\t\t\tProjectId: pulumi.StringRef(projectId),\n\t\t\tId:        pulumi.StringRef(\"\u003ccondition_id\u003e\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"securityGovernanceConditionByName\", byName)\n\t\tctx.Export(\"securityGovernanceConditionById\", byId)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.chaos.ChaosFunctions;\nimport com.pulumi.harness.chaos.inputs.GetSecurityGovernanceConditionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Example of looking up a security governance condition by name\n        final var byName = ChaosFunctions.getSecurityGovernanceCondition(GetSecurityGovernanceConditionArgs.builder()\n            .orgId(orgId)\n            .projectId(projectId)\n            .name(\"k8s-security-condition\")\n            .build());\n\n        // Example of looking up a security governance condition by ID\n        final var byId = ChaosFunctions.getSecurityGovernanceCondition(GetSecurityGovernanceConditionArgs.builder()\n            .orgId(orgId)\n            .projectId(projectId)\n            .id(\"\u003ccondition_id\u003e\")\n            .build());\n\n        ctx.export(\"securityGovernanceConditionByName\", byName);\n        ctx.export(\"securityGovernanceConditionById\", byId);\n    }\n}\n```\n```yaml\nvariables:\n  # Example of looking up a security governance condition by name\n  byName:\n    fn::invoke:\n      function: harness:chaos:getSecurityGovernanceCondition\n      arguments:\n        orgId: ${orgId}\n        projectId: ${projectId}\n        name: k8s-security-condition\n  # Example of looking up a security governance condition by ID\n  byId:\n    fn::invoke:\n      function: harness:chaos:getSecurityGovernanceCondition\n      arguments:\n        orgId: ${orgId}\n        projectId: ${projectId}\n        id: \u003ccondition_id\u003e\noutputs:\n  # Output the retrieved conditions\n  securityGovernanceConditionByName: ${byName}\n  securityGovernanceConditionById: ${byId}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecurityGovernanceCondition.\n","properties":{"id":{"type":"string","description":"The ID of the security governance condition. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be specified.\n"},"name":{"type":"string","description":"The name of the security governance condition. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be specified.\n"},"orgId":{"type":"string","description":"The organization ID of the security governance condition\n"},"projectId":{"type":"string","description":"The project ID of the security governance condition\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSecurityGovernanceCondition.\n","properties":{"description":{"description":"The description of the security governance condition\n","type":"string"},"faultSpecs":{"description":"Fault specification for the condition\n","items":{"$ref":"#/types/harness:chaos/getSecurityGovernanceConditionFaultSpec:getSecurityGovernanceConditionFaultSpec"},"type":"array"},"id":{"description":"The ID of the security governance condition. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be specified.\n","type":"string"},"infraType":{"description":"The infrastructure type (KubernetesV2, Linux, Windows)\n","type":"string"},"k8sSpecs":{"description":"Kubernetes specific configuration\n","items":{"$ref":"#/types/harness:chaos/getSecurityGovernanceConditionK8sSpec:getSecurityGovernanceConditionK8sSpec"},"type":"array"},"machineSpecs":{"description":"Machine specific configuration\n","items":{"$ref":"#/types/harness:chaos/getSecurityGovernanceConditionMachineSpec:getSecurityGovernanceConditionMachineSpec"},"type":"array"},"name":{"description":"The name of the security governance condition. Either \u003cspan pulumi-lang-nodejs=\"`id`\" pulumi-lang-dotnet=\"`Id`\" pulumi-lang-go=\"`id`\" pulumi-lang-python=\"`id`\" pulumi-lang-yaml=\"`id`\" pulumi-lang-java=\"`id`\"\u003e`id`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`name`\" pulumi-lang-dotnet=\"`Name`\" pulumi-lang-go=\"`name`\" pulumi-lang-python=\"`name`\" pulumi-lang-yaml=\"`name`\" pulumi-lang-java=\"`name`\"\u003e`name`\u003c/span\u003e must be specified.\n","type":"string"},"orgId":{"description":"The organization ID of the security governance condition\n","type":"string"},"projectId":{"description":"The project ID of the security governance condition\n","type":"string"},"tags":{"description":"Tags associated with the condition\n","items":{"type":"string"},"type":"array"}},"required":["description","faultSpecs","id","infraType","k8sSpecs","machineSpecs","name","tags"],"type":"object"}},"harness:chaos/getSecurityGovernanceRule:getSecurityGovernanceRule":{"description":"Data source for retrieving a Harness Chaos Security Governance Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Data sources to verify the rules\nconst example = harness.chaos.getSecurityGovernanceRule({\n    id: \"\u003crule_id\u003e\",\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n});\nconst exampleLinux = harness.chaos.getSecurityGovernanceRule({\n    id: \"\u003crule_id\u003e\",\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n});\nconst exampleWindows = harness.chaos.getSecurityGovernanceRule({\n    id: \"\u003crule_id\u003e\",\n    orgId: \"\u003corg_id\u003e\",\n    projectId: \"\u003cproject_id\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Data sources to verify the rules\nexample = harness.chaos.get_security_governance_rule(id=\"\u003crule_id\u003e\",\n    org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\")\nexample_linux = harness.chaos.get_security_governance_rule(id=\"\u003crule_id\u003e\",\n    org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\")\nexample_windows = harness.chaos.get_security_governance_rule(id=\"\u003crule_id\u003e\",\n    org_id=\"\u003corg_id\u003e\",\n    project_id=\"\u003cproject_id\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Data sources to verify the rules\n    var example = Harness.Chaos.GetSecurityGovernanceRule.Invoke(new()\n    {\n        Id = \"\u003crule_id\u003e\",\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n    });\n\n    var exampleLinux = Harness.Chaos.GetSecurityGovernanceRule.Invoke(new()\n    {\n        Id = \"\u003crule_id\u003e\",\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n    });\n\n    var exampleWindows = Harness.Chaos.GetSecurityGovernanceRule.Invoke(new()\n    {\n        Id = \"\u003crule_id\u003e\",\n        OrgId = \"\u003corg_id\u003e\",\n        ProjectId = \"\u003cproject_id\u003e\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/chaos\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Data sources to verify the rules\n\t\t_, err := chaos.LookupSecurityGovernanceRule(ctx, \u0026chaos.LookupSecurityGovernanceRuleArgs{\n\t\t\tId:        pulumi.StringRef(\"\u003crule_id\u003e\"),\n\t\t\tOrgId:     \"\u003corg_id\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chaos.LookupSecurityGovernanceRule(ctx, \u0026chaos.LookupSecurityGovernanceRuleArgs{\n\t\t\tId:        pulumi.StringRef(\"\u003crule_id\u003e\"),\n\t\t\tOrgId:     \"\u003corg_id\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = chaos.LookupSecurityGovernanceRule(ctx, \u0026chaos.LookupSecurityGovernanceRuleArgs{\n\t\t\tId:        pulumi.StringRef(\"\u003crule_id\u003e\"),\n\t\t\tOrgId:     \"\u003corg_id\u003e\",\n\t\t\tProjectId: \"\u003cproject_id\u003e\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.chaos.ChaosFunctions;\nimport com.pulumi.harness.chaos.inputs.GetSecurityGovernanceRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Data sources to verify the rules\n        final var example = ChaosFunctions.getSecurityGovernanceRule(GetSecurityGovernanceRuleArgs.builder()\n            .id(\"\u003crule_id\u003e\")\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .build());\n\n        final var exampleLinux = ChaosFunctions.getSecurityGovernanceRule(GetSecurityGovernanceRuleArgs.builder()\n            .id(\"\u003crule_id\u003e\")\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .build());\n\n        final var exampleWindows = ChaosFunctions.getSecurityGovernanceRule(GetSecurityGovernanceRuleArgs.builder()\n            .id(\"\u003crule_id\u003e\")\n            .orgId(\"\u003corg_id\u003e\")\n            .projectId(\"\u003cproject_id\u003e\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Data sources to verify the rules\n  example:\n    fn::invoke:\n      function: harness:chaos:getSecurityGovernanceRule\n      arguments:\n        id: \u003crule_id\u003e\n        orgId: \u003corg_id\u003e\n        projectId: \u003cproject_id\u003e\n  exampleLinux:\n    fn::invoke:\n      function: harness:chaos:getSecurityGovernanceRule\n      arguments:\n        id: \u003crule_id\u003e\n        orgId: \u003corg_id\u003e\n        projectId: \u003cproject_id\u003e\n  exampleWindows:\n    fn::invoke:\n      function: harness:chaos:getSecurityGovernanceRule\n      arguments:\n        id: \u003crule_id\u003e\n        orgId: \u003corg_id\u003e\n        projectId: \u003cproject_id\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecurityGovernanceRule.\n","properties":{"id":{"type":"string","description":"The ID of the rule.\n"},"name":{"type":"string","description":"The name of the rule.\n"},"orgId":{"type":"string","description":"The organization identifier.\n"},"projectId":{"type":"string","description":"The project identifier.\n"}},"type":"object","required":["orgId","projectId"]},"outputs":{"description":"A collection of values returned by getSecurityGovernanceRule.\n","properties":{"conditionIds":{"description":"List of condition IDs associated with the rule.\n","items":{"type":"string"},"type":"array"},"description":{"description":"The description of the rule.\n","type":"string"},"id":{"description":"The ID of the rule.\n","type":"string"},"isEnabled":{"description":"Whether the rule is enabled.\n","type":"boolean"},"name":{"description":"The name of the rule.\n","type":"string"},"orgId":{"description":"The organization identifier.\n","type":"string"},"projectId":{"description":"The project identifier.\n","type":"string"},"tags":{"description":"Tags associated with the rule.\n","items":{"type":"string"},"type":"array"},"timeWindows":{"description":"Time windows when the rule is active.\n","items":{"$ref":"#/types/harness:chaos/getSecurityGovernanceRuleTimeWindow:getSecurityGovernanceRuleTimeWindow"},"type":"array"},"userGroupIds":{"description":"List of user group IDs associated with the rule.\n","items":{"type":"string"},"type":"array"}},"required":["conditionIds","description","isEnabled","orgId","projectId","tags","timeWindows","userGroupIds"],"type":"object"}},"harness:cloudprovider/getDelegateIds:getDelegateIds":{"description":"Use this data source to get a list of delegate ID's matching the specified search criteria.\n\n","inputs":{"description":"A collection of arguments for invoking getDelegateIds.\n","properties":{"name":{"type":"string","description":"The name of the delegate to query for.\n"},"status":{"type":"string","description":"The status of the delegate to query for. Valid values are DELETED, ENABLED, WAITING*FOR*APPROVAL\n"},"type":{"type":"string","description":"The type of the delegate to query for. Valid values are DOCKER, ECS, HELM*DELEGATE, KUBERNETES, SHELL*SCRIPT\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDelegateIds.\n","properties":{"delegateIds":{"description":"A list of delegate ID's matching the specified search criteria.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"The name of the delegate to query for.\n","type":"string"},"status":{"description":"The status of the delegate to query for. Valid values are DELETED, ENABLED, WAITING*FOR*APPROVAL\n","type":"string"},"type":{"description":"The type of the delegate to query for. Valid values are DOCKER, ECS, HELM*DELEGATE, KUBERNETES, SHELL*SCRIPT\n","type":"string"}},"required":["delegateIds","id"],"type":"object"}},"harness:cluster/getOrchestrator:getOrchestrator":{"description":"Data source for retrieving a Harness ClusterOrchestrator.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:cluster:getOrchestrator\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOrchestrator.\n","properties":{"clusterEndpoint":{"type":"string","description":"Endpoint of the k8s cluster being onboarded under the orchestrator\n"},"k8sConnectorId":{"type":"string","description":"ID of the Harness Kubernetes Connector Being used\n"},"name":{"type":"string","description":"Name of the Orchestrator\n"},"region":{"type":"string","description":"Region of the k8s cluster\n"}},"type":"object","required":["clusterEndpoint","name"]},"outputs":{"description":"A collection of values returned by getOrchestrator.\n","properties":{"clusterEndpoint":{"description":"Endpoint of the k8s cluster being onboarded under the orchestrator\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"k8sConnectorId":{"description":"ID of the Harness Kubernetes Connector Being used\n","type":"string"},"name":{"description":"Name of the Orchestrator\n","type":"string"},"region":{"description":"Region of the k8s cluster\n","type":"string"}},"required":["clusterEndpoint","name","id"],"type":"object"}},"harness:cluster/getOrchestratorConfig:getOrchestratorConfig":{"description":"Data Source for retrieving Harness CCM ClusterOrchestrator Config.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.cluster.getOrchestratorConfig({\n    orchestratorId: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.cluster.get_orchestrator_config(orchestrator_id=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Cluster.GetOrchestratorConfig.Invoke(new()\n    {\n        OrchestratorId = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/cluster\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := cluster.LookupOrchestratorConfig(ctx, \u0026cluster.LookupOrchestratorConfigArgs{\n\t\t\tOrchestratorId: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.cluster.ClusterFunctions;\nimport com.pulumi.harness.cluster.inputs.GetOrchestratorConfigArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = ClusterFunctions.getOrchestratorConfig(GetOrchestratorConfigArgs.builder()\n            .orchestratorId(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:cluster:getOrchestratorConfig\n      arguments:\n        orchestratorId: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOrchestratorConfig.\n","properties":{"binpacking":{"$ref":"#/types/harness:cluster/getOrchestratorConfigBinpacking:getOrchestratorConfigBinpacking","description":"Binpacking preferences for Cluster Orchestrator\n"},"commitmentIntegration":{"$ref":"#/types/harness:cluster/getOrchestratorConfigCommitmentIntegration:getOrchestratorConfigCommitmentIntegration","description":"Commitment integration configuration for Cluster Orchestrator\n"},"disabled":{"type":"boolean","description":"Whether the cluster orchestrator is disabled\n"},"distribution":{"$ref":"#/types/harness:cluster/getOrchestratorConfigDistribution:getOrchestratorConfigDistribution","description":"Spot and Ondemand Distribution Preferences for workload replicas\n"},"nodePreferences":{"$ref":"#/types/harness:cluster/getOrchestratorConfigNodePreferences:getOrchestratorConfigNodePreferences","description":"Node preferences for Cluster Orchestrator\n"},"orchestratorId":{"type":"string","description":"ID of the Cluster Orchestrator Object\n"},"replacementSchedule":{"$ref":"#/types/harness:cluster/getOrchestratorConfigReplacementSchedule:getOrchestratorConfigReplacementSchedule","description":"Replacement schedule for Cluster Orchestrator\n"}},"type":"object","required":["orchestratorId"]},"outputs":{"description":"A collection of values returned by getOrchestratorConfig.\n","properties":{"binpacking":{"$ref":"#/types/harness:cluster/getOrchestratorConfigBinpacking:getOrchestratorConfigBinpacking","description":"Binpacking preferences for Cluster Orchestrator\n"},"commitmentIntegration":{"$ref":"#/types/harness:cluster/getOrchestratorConfigCommitmentIntegration:getOrchestratorConfigCommitmentIntegration","description":"Commitment integration configuration for Cluster Orchestrator\n"},"disabled":{"description":"Whether the cluster orchestrator is disabled\n","type":"boolean"},"distribution":{"$ref":"#/types/harness:cluster/getOrchestratorConfigDistribution:getOrchestratorConfigDistribution","description":"Spot and Ondemand Distribution Preferences for workload replicas\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"nodePreferences":{"$ref":"#/types/harness:cluster/getOrchestratorConfigNodePreferences:getOrchestratorConfigNodePreferences","description":"Node preferences for Cluster Orchestrator\n"},"orchestratorId":{"description":"ID of the Cluster Orchestrator Object\n","type":"string"},"replacementSchedule":{"$ref":"#/types/harness:cluster/getOrchestratorConfigReplacementSchedule:getOrchestratorConfigReplacementSchedule","description":"Replacement schedule for Cluster Orchestrator\n"}},"required":["orchestratorId","id"],"type":"object"}},"harness:governance/getRule:getRule":{"description":"Datasource for looking up a rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.governance.getRule({\n    ruleId: \"rule_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.governance.get_rule(rule_id=\"rule_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Governance.GetRule.Invoke(new()\n    {\n        RuleId = \"rule_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/governance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := governance.LookupRule(ctx, \u0026governance.LookupRuleArgs{\n\t\t\tRuleId: \"rule_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.governance.GovernanceFunctions;\nimport com.pulumi.harness.governance.inputs.GetRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = GovernanceFunctions.getRule(GetRuleArgs.builder()\n            .ruleId(\"rule_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:governance:getRule\n      arguments:\n        ruleId: rule_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRule.\n","properties":{"ruleId":{"type":"string","description":"Id of rule.\n"}},"type":"object","required":["ruleId"]},"outputs":{"description":"A collection of values returned by getRule.\n","properties":{"cloudProvider":{"description":"The cloud provider for the rule.\n","type":"string"},"description":{"description":"Description for rule.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"Name of the rule.\n","type":"string"},"ruleId":{"description":"Id of rule.\n","type":"string"},"rulesYaml":{"description":"Policy YAML of the rule.\n","type":"string"}},"required":["cloudProvider","description","name","ruleId","rulesYaml","id"],"type":"object"}},"harness:governance/getRuleEnforcement:getRuleEnforcement":{"description":"Datasource for looking up a rule enforcement.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.governance.getRuleEnforcement({\n    enforcementId: \"enforcement_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.governance.get_rule_enforcement(enforcement_id=\"enforcement_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Governance.GetRuleEnforcement.Invoke(new()\n    {\n        EnforcementId = \"enforcement_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/governance\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := governance.LookupRuleEnforcement(ctx, \u0026governance.LookupRuleEnforcementArgs{\n\t\t\tEnforcementId: \"enforcement_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.governance.GovernanceFunctions;\nimport com.pulumi.harness.governance.inputs.GetRuleEnforcementArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = GovernanceFunctions.getRuleEnforcement(GetRuleEnforcementArgs.builder()\n            .enforcementId(\"enforcement_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:governance:getRuleEnforcement\n      arguments:\n        enforcementId: enforcement_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRuleEnforcement.\n","properties":{"enforcementId":{"type":"string","description":"Id of rule enforcement.\n"}},"type":"object","required":["enforcementId"]},"outputs":{"description":"A collection of values returned by getRuleEnforcement.\n","properties":{"cloudProvider":{"description":"The cloud provider for the rule enforcement.\n","type":"string"},"description":{"description":"Description for rule enforcement.\n","type":"string"},"enforcementId":{"description":"Id of rule enforcement.\n","type":"string"},"executionSchedule":{"description":"Execution schedule in cron format.\n","type":"string"},"executionTimezone":{"description":"Timezone for the execution schedule.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"isDryRun":{"description":"Indicates if the rule enforcement is a dry run.\n","type":"boolean"},"isEnabled":{"description":"Indicates if the rule enforcement is enabled.\n","type":"boolean"},"name":{"description":"Name of the rule enforcement.\n","type":"string"},"ruleIds":{"additionalProperties":{"type":"string"},"description":"List of rule IDs.\n","type":"object"},"ruleSetIds":{"additionalProperties":{"type":"string"},"description":"List of rule set IDs.\n","type":"object"},"targetAccounts":{"description":"List of target accounts.\n","items":{"type":"string"},"type":"array"},"targetRegions":{"description":"List of target regions.\n","items":{"type":"string"},"type":"array"}},"required":["cloudProvider","description","enforcementId","executionSchedule","executionTimezone","isDryRun","isEnabled","name","ruleIds","ruleSetIds","targetAccounts","targetRegions","id"],"type":"object"}},"harness:governance/getRuleSet:getRuleSet":{"description":"Datasource for looking up a rule.\n","inputs":{"description":"A collection of arguments for invoking getRuleSet.\n","properties":{"ruleSetId":{"type":"string","description":"Id of rule set.\n"}},"type":"object","required":["ruleSetId"]},"outputs":{"description":"A collection of values returned by getRuleSet.\n","properties":{"cloudProvider":{"description":"The cloud provider for the rule set.\n","type":"string"},"description":{"description":"Description for rule set.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"Name of the rule set.\n","type":"string"},"ruleIds":{"description":"List of target regions.\n","items":{"type":"string"},"type":"array"},"ruleSetId":{"description":"Id of rule set.\n","type":"string"}},"required":["cloudProvider","description","name","ruleIds","ruleSetId","id"],"type":"object"}},"harness:index/getApplication:getApplication":{"description":"Data source for retrieving a Harness application\n","inputs":{"description":"A collection of arguments for invoking getApplication.\n","properties":{"description":{"type":"string","description":"The application description\n"},"gitSyncConnectorId":{"type":"string","description":"The id of the git sync connector\n"},"gitSyncEnabled":{"type":"boolean","description":"True if git sync is enabled on this application\n"},"id":{"type":"string","description":"Unique identifier of the application\n"},"isManualTriggerAuthorized":{"type":"boolean","description":"When this is set to true, all manual triggers will require API Key authorization\n"},"name":{"type":"string","description":"The name of the application\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getApplication.\n","properties":{"description":{"description":"The application description\n","type":"string"},"gitSyncConnectorId":{"description":"The id of the git sync connector\n","type":"string"},"gitSyncEnabled":{"description":"True if git sync is enabled on this application\n","type":"boolean"},"id":{"description":"Unique identifier of the application\n","type":"string"},"isManualTriggerAuthorized":{"description":"When this is set to true, all manual triggers will require API Key authorization\n","type":"boolean"},"name":{"description":"The name of the application\n","type":"string"}},"type":"object"}},"harness:index/getChaosInfrastructure:getChaosInfrastructure":{"description":"Data source for retrieving a chaos infrastructure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.getChaosInfrastructure({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    environmentId: \"env_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.get_chaos_infrastructure(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    environment_id=\"env_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.GetChaosInfrastructure.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        EnvironmentId = \"env_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := harness.LookupChaosInfrastructure(ctx, \u0026harness.LookupChaosInfrastructureArgs{\n\t\t\tIdentifier:    \"identifier\",\n\t\t\tOrgId:         \"org_id\",\n\t\t\tProjectId:     \"project_id\",\n\t\t\tEnvironmentId: \"env_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetChaosInfrastructureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HarnessFunctions.getChaosInfrastructure(GetChaosInfrastructureArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .environmentId(\"env_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:getChaosInfrastructure\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n        environmentId: env_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getChaosInfrastructure.\n","properties":{"environmentId":{"type":"string","description":"Environment identifier of the chaos infrastructure.\n"},"identifier":{"type":"string","description":"Identifier of the chaos infrastructure.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the chaos infrastructure is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the chaos infrastructure is configured.\n"}},"type":"object","required":["environmentId","identifier","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getChaosInfrastructure.\n","properties":{"environmentId":{"description":"Environment identifier of the chaos infrastructure.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the chaos infrastructure.\n","type":"string"},"orgId":{"description":"Identifier of the organization in which the chaos infrastructure is configured.\n","type":"string"},"projectId":{"description":"Identifier of the project in which the chaos infrastructure is configured.\n","type":"string"}},"required":["environmentId","identifier","orgId","projectId","id"],"type":"object"}},"harness:index/getCurrentAccount:getCurrentAccount":{"description":"Data source for retrieving information about the current Harness account\n","inputs":{"description":"A collection of arguments for invoking getCurrentAccount.\n","properties":{"id":{"type":"string","description":"Id of the git connector.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCurrentAccount.\n","properties":{"accountId":{"description":"Id of the account.\n","type":"string"},"endpoint":{"description":"The url of the Harness control plane.\n","type":"string"},"id":{"description":"Id of the git connector.\n","type":"string"}},"required":["accountId","endpoint"],"type":"object"}},"harness:index/getDelegate:getDelegate":{"description":"Data source for retrieving a Harness delegate. If more than one delegate matches the query the first one will be returned.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.getDelegate({\n    name: \"harness-delegate\",\n    type: \"KUBERNETES\",\n    status: \"ENABLED\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.get_delegate(name=\"harness-delegate\",\n    type=\"KUBERNETES\",\n    status=\"ENABLED\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.GetDelegate.Invoke(new()\n    {\n        Name = \"harness-delegate\",\n        Type = \"KUBERNETES\",\n        Status = \"ENABLED\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := harness.GetDelegate(ctx, \u0026harness.GetDelegateArgs{\n\t\t\tName:   pulumi.StringRef(\"harness-delegate\"),\n\t\t\tType:   pulumi.StringRef(\"KUBERNETES\"),\n\t\t\tStatus: pulumi.StringRef(\"ENABLED\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetDelegateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = HarnessFunctions.getDelegate(GetDelegateArgs.builder()\n            .name(\"harness-delegate\")\n            .type(\"KUBERNETES\")\n            .status(\"ENABLED\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:getDelegate\n      arguments:\n        name: harness-delegate\n        type: KUBERNETES\n        status: ENABLED\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDelegate.\n","properties":{"hostname":{"type":"string","description":"The hostname of the delegate.\n"},"id":{"type":"string","description":"Unique identifier of the delegate\n"},"name":{"type":"string","description":"The name of the delegate to query for.\n"},"status":{"type":"string","description":"The status of the delegate to query for. Valid values are DELETED, ENABLED, WAITING*FOR*APPROVAL\n"},"type":{"type":"string","description":"The type of the delegate to query for. Valid values are DOCKER, ECS, HELM*DELEGATE, KUBERNETES, SHELL*SCRIPT\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDelegate.\n","properties":{"accountId":{"description":"The account id the delegate belongs to.\n","type":"string"},"description":{"description":"The description of the delegate.\n","type":"string"},"hostname":{"description":"The hostname of the delegate.\n","type":"string"},"id":{"description":"Unique identifier of the delegate\n","type":"string"},"ip":{"description":"The ip address of the delegate.\n","type":"string"},"lastHeartbeat":{"description":"The last time the delegate was heard from.\n","type":"string"},"name":{"description":"The name of the delegate to query for.\n","type":"string"},"pollingModeEnabled":{"description":"Whether the delegate is in polling mode.\n","type":"boolean"},"profileId":{"description":"The id of the profile assigned to the delegate.\n","type":"string"},"status":{"description":"The status of the delegate to query for. Valid values are DELETED, ENABLED, WAITING*FOR*APPROVAL\n","type":"string"},"type":{"description":"The type of the delegate to query for. Valid values are DOCKER, ECS, HELM*DELEGATE, KUBERNETES, SHELL*SCRIPT\n","type":"string"},"version":{"description":"The version of the delegate.\n","type":"string"}},"required":["accountId","description","ip","lastHeartbeat","pollingModeEnabled","profileId","version"],"type":"object"}},"harness:index/getEncryptedText:getEncryptedText":{"description":"Data source for retrieving a Harness application\n","inputs":{"description":"A collection of arguments for invoking getEncryptedText.\n","properties":{"id":{"type":"string","description":"Unique identifier of the encrypted secret\n"},"name":{"type":"string","description":"The name of the encrypted secret\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/getEncryptedTextUsageScope:getEncryptedTextUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getEncryptedText.\n","properties":{"id":{"description":"Unique identifier of the encrypted secret\n","type":"string"},"name":{"description":"The name of the encrypted secret\n","type":"string"},"secretManagerId":{"description":"The id of the associated secret manager\n","type":"string"},"usageScopes":{"description":"This block is used for scoping the resource to a specific set of applications or environments.\n","items":{"$ref":"#/types/harness:index/getEncryptedTextUsageScope:getEncryptedTextUsageScope"},"type":"array"}},"required":["secretManagerId"],"type":"object"}},"harness:index/getEnvironment:getEnvironment":{"description":"Data source for retrieving a Harness service\n","inputs":{"description":"A collection of arguments for invoking getEnvironment.\n","properties":{"appId":{"type":"string","description":"The id of the application.\n"},"environmentId":{"type":"string","description":"The id of the environment.\n"},"name":{"type":"string","description":"The name of the environment.\n"},"variableOverrides":{"type":"array","items":{"$ref":"#/types/harness:index/getEnvironmentVariableOverride:getEnvironmentVariableOverride"},"description":"Override for a service variable\n"}},"type":"object","required":["appId"]},"outputs":{"description":"A collection of values returned by getEnvironment.\n","properties":{"appId":{"description":"The id of the application.\n","type":"string"},"description":{"description":"The description of the environment.\n","type":"string"},"environmentId":{"description":"The id of the environment.\n","type":"string"},"id":{"description":"The id of the environment.\n","type":"string"},"name":{"description":"The name of the environment.\n","type":"string"},"type":{"description":"The type of the environment. Valid values are `PROD` and `NON_PROD`\n","type":"string"},"variableOverrides":{"description":"Override for a service variable\n","items":{"$ref":"#/types/harness:index/getEnvironmentVariableOverride:getEnvironmentVariableOverride"},"type":"array"}},"required":["appId","description","id","type","variableOverrides"],"type":"object"}},"harness:index/getGitConnector:getGitConnector":{"description":"Data source for retrieving a Harness application\n","inputs":{"description":"A collection of arguments for invoking getGitConnector.\n","properties":{"id":{"type":"string","description":"Id of the git connector.\n"},"name":{"type":"string","description":"The name of the git connector.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getGitConnector.\n","properties":{"branch":{"description":"The branch of the git connector to use.\n","type":"string"},"commitDetails":{"description":"Custom details to use when making commits using this git connector.\n","items":{"$ref":"#/types/harness:index/getGitConnectorCommitDetail:getGitConnectorCommitDetail"},"type":"array"},"createdAt":{"description":"The time the git connector was created.\n","type":"string"},"delegateSelectors":{"description":"Delegate selectors to apply to this git connector.\n","items":{"type":"string"},"type":"array"},"generateWebhookUrl":{"description":"Boolean indicating whether or not to generate a webhook url.\n","type":"boolean"},"id":{"description":"Id of the git connector.\n","type":"string"},"name":{"description":"The name of the git connector.\n","type":"string"},"passwordSecretId":{"description":"The id of the secret for connecting to the git repository.\n","type":"string"},"sshSettingId":{"description":"The id of the SSH secret to use.\n","type":"string"},"url":{"description":"The URL of the git repository or account/organization.\n","type":"string"},"urlType":{"description":"The type of git url being used. Options are `ACCOUNT`, and `REPO`.\n","type":"string"},"username":{"description":"The name of the user used to connect to the git repository.\n","type":"string"},"webhookUrl":{"description":"The generated webhook url.\n","type":"string"}},"required":["branch","commitDetails","createdAt","delegateSelectors","generateWebhookUrl","passwordSecretId","sshSettingId","url","urlType","username","webhookUrl"],"type":"object"}},"harness:index/getSecretManager:getSecretManager":{"description":"Data source for retrieving a Harness secret manager\n","inputs":{"description":"A collection of arguments for invoking getSecretManager.\n","properties":{"default":{"type":"boolean","description":"True to lookup the id of the default secret manager\n"},"id":{"type":"string","description":"Unique identifier of the secret manager\n"},"name":{"type":"string","description":"The name of the secret manager\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/getSecretManagerUsageScope:getSecretManagerUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSecretManager.\n","properties":{"default":{"description":"True to lookup the id of the default secret manager\n","type":"boolean"},"id":{"description":"Unique identifier of the secret manager\n","type":"string"},"name":{"description":"The name of the secret manager\n","type":"string"},"usageScopes":{"description":"This block is used for scoping the resource to a specific set of applications or environments.\n","items":{"$ref":"#/types/harness:index/getSecretManagerUsageScope:getSecretManagerUsageScope"},"type":"array"}},"type":"object"}},"harness:index/getService:getService":{"description":"Data source for retrieving a Harness service\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"appId":{"type":"string","description":"The id of the application the service belongs to\n"},"id":{"type":"string","description":"Unique identifier of the application\n"}},"type":"object","required":["appId","id"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"appId":{"description":"The id of the application the service belongs to\n","type":"string"},"artifactType":{"description":"The type of artifact deployed by the service\n","type":"string"},"description":{"description":"The application description\n","type":"string"},"helmVersion":{"description":"The version of Helm being used by the service.\n","type":"string"},"id":{"description":"Unique identifier of the application\n","type":"string"},"name":{"description":"The name of the service\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags for the service\n","type":"object"},"templateUri":{"description":"The path of the template used for the custom deployment\n","type":"string"},"type":{"description":"The type of the deployment\n","type":"string"}},"required":["appId","artifactType","description","helmVersion","id","name","tags","templateUri","type"],"type":"object"}},"harness:index/getSshCredential:getSshCredential":{"description":"Data source for retrieving an SSH credential.\n","inputs":{"description":"A collection of arguments for invoking getSshCredential.\n","properties":{"id":{"type":"string","description":"Unique identifier of the secret manager\n"},"name":{"type":"string","description":"The name of the secret manager\n"},"usageScopes":{"type":"array","items":{"$ref":"#/types/harness:index/getSshCredentialUsageScope:getSshCredentialUsageScope"},"description":"This block is used for scoping the resource to a specific set of applications or environments.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSshCredential.\n","properties":{"id":{"description":"Unique identifier of the secret manager\n","type":"string"},"name":{"description":"The name of the secret manager\n","type":"string"},"usageScopes":{"description":"This block is used for scoping the resource to a specific set of applications or environments.\n","items":{"$ref":"#/types/harness:index/getSshCredentialUsageScope:getSshCredentialUsageScope"},"type":"array"}},"type":"object"}},"harness:index/getSsoProvider:getSsoProvider":{"description":"Data source for retrieving an SSO providers\n","inputs":{"description":"A collection of arguments for invoking getSsoProvider.\n","properties":{"id":{"type":"string","description":"Unique identifier of the SSO provider.\n"},"name":{"type":"string","description":"The name of the SSO provider.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getSsoProvider.\n","properties":{"id":{"description":"Unique identifier of the SSO provider.\n","type":"string"},"name":{"description":"The name of the SSO provider.\n","type":"string"},"type":{"description":"The type of SSO provider.\n","type":"string"}},"required":["type"],"type":"object"}},"harness:index/getTrigger:getTrigger":{"description":"Data source for retrieving a Harness trigger.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst exampleByName = harness.getTrigger({\n    appId: \"app_id\",\n    name: \"name\",\n});\nconst exampleById = harness.getTrigger({\n    id: \"trigger_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample_by_name = harness.get_trigger(app_id=\"app_id\",\n    name=\"name\")\nexample_by_id = harness.get_trigger(id=\"trigger_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleByName = Harness.GetTrigger.Invoke(new()\n    {\n        AppId = \"app_id\",\n        Name = \"name\",\n    });\n\n    var exampleById = Harness.GetTrigger.Invoke(new()\n    {\n        Id = \"trigger_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := harness.GetTrigger(ctx, \u0026harness.GetTriggerArgs{\n\t\t\tAppId: pulumi.StringRef(\"app_id\"),\n\t\t\tName:  pulumi.StringRef(\"name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = harness.GetTrigger(ctx, \u0026harness.GetTriggerArgs{\n\t\t\tId: pulumi.StringRef(\"trigger_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.HarnessFunctions;\nimport com.pulumi.harness.inputs.GetTriggerArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleByName = HarnessFunctions.getTrigger(GetTriggerArgs.builder()\n            .appId(\"app_id\")\n            .name(\"name\")\n            .build());\n\n        final var exampleById = HarnessFunctions.getTrigger(GetTriggerArgs.builder()\n            .id(\"trigger_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleByName:\n    fn::invoke:\n      function: harness:getTrigger\n      arguments:\n        appId: app_id\n        name: name\n  exampleById:\n    fn::invoke:\n      function: harness:getTrigger\n      arguments:\n        id: trigger_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTrigger.\n","properties":{"appId":{"type":"string","description":"The id of the application.\n"},"description":{"type":"string","description":"The trigger description.\n"},"id":{"type":"string","description":"Unique identifier of the trigger.\n"},"name":{"type":"string","description":"The name of the trigger.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTrigger.\n","properties":{"appId":{"description":"The id of the application.\n","type":"string"},"conditions":{"description":"The condition that will execute the Trigger: On new artifact, On pipeline completion, On Cron schedule, On webhook, On New Manifest.\n","items":{"$ref":"#/types/harness:index/getTriggerCondition:getTriggerCondition"},"type":"array"},"description":{"description":"The trigger description.\n","type":"string"},"id":{"description":"Unique identifier of the trigger.\n","type":"string"},"name":{"description":"The name of the trigger.\n","type":"string"}},"required":["conditions"],"type":"object"}},"harness:index/getUser:getUser":{"description":"Data source for retrieving a Harness user\n","inputs":{"description":"A collection of arguments for invoking getUser.\n","properties":{"email":{"type":"string","description":"The email of the user.\n"},"id":{"type":"string","description":"Unique identifier of the user\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUser.\n","properties":{"email":{"description":"The email of the user.\n","type":"string"},"id":{"description":"Unique identifier of the user\n","type":"string"},"isEmailVerified":{"description":"Flag indicating whether or not the users email has been verified.\n","type":"boolean"},"isImportedFromIdentityProvider":{"description":"Flag indicating whether or not the user was imported from an identity provider.\n","type":"boolean"},"isPasswordExpired":{"description":"Flag indicating whether or not the users password has expired.\n","type":"boolean"},"isTwoFactorAuthEnabled":{"description":"Flag indicating whether or not two-factor authentication is enabled for the user.\n","type":"boolean"},"isUserLocked":{"description":"Flag indicating whether or not the user is locked out.\n","type":"boolean"},"name":{"description":"The name of the user.\n","type":"string"}},"required":["isEmailVerified","isImportedFromIdentityProvider","isPasswordExpired","isTwoFactorAuthEnabled","isUserLocked","name"],"type":"object"}},"harness:index/getUserGroup:getUserGroup":{"description":"Data source for retrieving a Harness user group\n","inputs":{"description":"A collection of arguments for invoking getUserGroup.\n","properties":{"id":{"type":"string","description":"Unique identifier of the user group\n"},"name":{"type":"string","description":"The name of the user group.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUserGroup.\n","properties":{"id":{"description":"Unique identifier of the user group\n","type":"string"},"name":{"description":"The name of the user group.\n","type":"string"}},"type":"object"}},"harness:index/getYamlConfig:getYamlConfig":{"description":"Data source for retrieving a yaml config.\n","inputs":{"description":"A collection of arguments for invoking getYamlConfig.\n","properties":{"appId":{"type":"string","description":"Unique identifier of the application. This is not required for account level resources (i.e. cloud providers, connectors, etc.).\n"},"path":{"type":"string","description":"Path to the yaml file.\n"}},"type":"object","required":["path"]},"outputs":{"description":"A collection of values returned by getYamlConfig.\n","properties":{"appId":{"description":"Unique identifier of the application. This is not required for account level resources (i.e. cloud providers, connectors, etc.).\n","type":"string"},"content":{"description":"Content of the yaml file.\n","type":"string"},"id":{"description":"Unique identifier of the yaml resource.\n","type":"string"},"name":{"description":"Name of the yaml resource.\n","type":"string"},"path":{"description":"Path to the yaml file.\n","type":"string"}},"required":["content","id","name","path"],"type":"object"}},"harness:platform/getApiKey:getApiKey":{"description":"Data source for retrieving a Harness ApiKey.\n","inputs":{"description":"A collection of arguments for invoking getApiKey.\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n"},"apikeyType":{"type":"string","description":"Type of the API Key\n"},"defaultTimeToExpireToken":{"type":"integer","description":"Expiry time of the apiKey\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentId":{"type":"string","description":"Parent Identifier for the Entity\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["accountId","apikeyType","identifier","parentId"]},"outputs":{"description":"A collection of values returned by getApiKey.\n","properties":{"accountId":{"description":"Account Identifier for the Entity\n","type":"string"},"apikeyType":{"description":"Type of the API Key\n","type":"string"},"defaultTimeToExpireToken":{"description":"Expiry time of the apiKey\n","type":"integer"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"parentId":{"description":"Parent Identifier for the Entity\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["accountId","apikeyType","description","identifier","parentId","tags","id"],"type":"object"}},"harness:platform/getAppDynamicsConnector:getAppDynamicsConnector":{"description":"Datasource for looking up an App Dynamics connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getAppDynamicsConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_app_dynamics_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetAppDynamicsConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupAppDynamicsConnector(ctx, \u0026platform.LookupAppDynamicsConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetAppDynamicsConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getAppDynamicsConnector(GetAppDynamicsConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getAppDynamicsConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAppDynamicsConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getAppDynamicsConnector.\n","properties":{"accountName":{"description":"The App Dynamics account name.\n","type":"string"},"apiTokens":{"description":"Authenticate to App Dynamics using api token.\n","items":{"$ref":"#/types/harness:platform/getAppDynamicsConnectorApiToken:getAppDynamicsConnectorApiToken"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the App Dynamics controller.\n","type":"string"},"usernamePasswords":{"description":"Authenticate to App Dynamics using username and password.\n","items":{"$ref":"#/types/harness:platform/getAppDynamicsConnectorUsernamePassword:getAppDynamicsConnectorUsernamePassword"},"type":"array"}},"required":["accountName","apiTokens","delegateSelectors","description","identifier","tags","url","usernamePasswords","id"],"type":"object"}},"harness:platform/getArtifactoryConnector:getArtifactoryConnector":{"description":"Resource for looking up an App Dynamics connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getArtifactoryConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_artifactory_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetArtifactoryConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupArtifactoryConnector(ctx, \u0026platform.LookupArtifactoryConnectorArgs{\n\t\t\tIdentifier: pulumi.StringRef(\"identifier\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetArtifactoryConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getArtifactoryConnector(GetArtifactoryConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getArtifactoryConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getArtifactoryConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getArtifactoryConnector.\n","properties":{"credentials":{"description":"Credentials to use for authentication.\n","items":{"$ref":"#/types/harness:platform/getArtifactoryConnectorCredential:getArtifactoryConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the Artifactory server.\n","type":"string"}},"required":["credentials","delegateSelectors","description","tags","url","id"],"type":"object"}},"harness:platform/getAwsCCConnector:getAwsCCConnector":{"description":"Datasource for looking up an AWS Cloud Cost connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getAwsCCConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_aws_cc_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetAwsCCConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupAwsCCConnector(ctx, \u0026platform.LookupAwsCCConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetAwsCCConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getAwsCCConnector(GetAwsCCConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getAwsCCConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAwsCCConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getAwsCCConnector.\n","properties":{"accountId":{"description":"The AWS account id.\n","type":"string"},"crossAccountAccesses":{"description":"Harness uses the secure cross-account role to access your AWS account. The role includes a restricted policy to access the cost and usage reports and resources for the sole purpose of cost analysis and cost optimization.\n","items":{"$ref":"#/types/harness:platform/getAwsCCConnectorCrossAccountAccess:getAwsCCConnectorCrossAccountAccess"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"featuresEnableds":{"description":"The features enabled for the connector. Valid values are BILLING, OPTIMIZATION, VISIBILITY, GOVERNANCE.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"reportName":{"description":"The cost and usage report name. Provided in the delivery options when the template is opened in the AWS console.\n","type":"string"},"s3Bucket":{"description":"The name of s3 bucket.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["accountId","crossAccountAccesses","description","featuresEnableds","identifier","reportName","s3Bucket","tags","id"],"type":"object"}},"harness:platform/getAwsConnector:getAwsConnector":{"description":"Datasource for looking up an AWS connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getAwsConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_aws_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetAwsConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupAwsConnector(ctx, \u0026platform.LookupAwsConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetAwsConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getAwsConnector(GetAwsConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getAwsConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAwsConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getAwsConnector.\n","properties":{"crossAccountAccesses":{"description":"Select this option if you want to use one AWS account for the connection, but you want to deploy or build in a different AWS account. In this scenario, the AWS account used for AWS access in Credentials will assume the IAM role you specify in Cross-account role ARN setting. This option uses the AWS Security Token Service (STS) feature.\n","items":{"$ref":"#/types/harness:platform/getAwsConnectorCrossAccountAccess:getAwsConnectorCrossAccountAccess"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"equalJitterBackoffStrategies":{"description":"Equal Jitter BackOff Strategy.\n","items":{"$ref":"#/types/harness:platform/getAwsConnectorEqualJitterBackoffStrategy:getAwsConnectorEqualJitterBackoffStrategy"},"type":"array"},"executeOnDelegate":{"description":"Execute on delegate or not.\n","type":"boolean"},"fixedDelayBackoffStrategies":{"description":"Fixed Delay BackOff Strategy.\n","items":{"$ref":"#/types/harness:platform/getAwsConnectorFixedDelayBackoffStrategy:getAwsConnectorFixedDelayBackoffStrategy"},"type":"array"},"fullJitterBackoffStrategies":{"description":"Full Jitter BackOff Strategy.\n","items":{"$ref":"#/types/harness:platform/getAwsConnectorFullJitterBackoffStrategy:getAwsConnectorFullJitterBackoffStrategy"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"inheritFromDelegates":{"description":"Inherit credentials from the delegate.\n","items":{"$ref":"#/types/harness:platform/getAwsConnectorInheritFromDelegate:getAwsConnectorInheritFromDelegate"},"type":"array"},"irsas":{"description":"Use IAM role for service accounts.\n","items":{"$ref":"#/types/harness:platform/getAwsConnectorIrsa:getAwsConnectorIrsa"},"type":"array"},"manuals":{"description":"Use IAM role for service accounts.\n","items":{"$ref":"#/types/harness:platform/getAwsConnectorManual:getAwsConnectorManual"},"type":"array"},"name":{"description":"Name of the resource.\n","type":"string"},"oidcAuthentications":{"description":"Authentication using harness oidc.\n","items":{"$ref":"#/types/harness:platform/getAwsConnectorOidcAuthentication:getAwsConnectorOidcAuthentication"},"type":"array"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["crossAccountAccesses","description","equalJitterBackoffStrategies","executeOnDelegate","fixedDelayBackoffStrategies","fullJitterBackoffStrategies","identifier","inheritFromDelegates","irsas","manuals","oidcAuthentications","tags","id"],"type":"object"}},"harness:platform/getAwsKmsConnector:getAwsKmsConnector":{"description":"Datasource for looking up an AWS KMS connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getAwsKmsConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_aws_kms_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetAwsKmsConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupAwsKmsConnector(ctx, \u0026platform.LookupAwsKmsConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetAwsKmsConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getAwsKmsConnector(GetAwsKmsConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getAwsKmsConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAwsKmsConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getAwsKmsConnector.\n","properties":{"arnPlaintext":{"description":"The ARN of the AWS KMS in plaintext. This is used when the ARN is not stored in a Harness 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}.\n","type":"string"},"arnRef":{"description":"A reference to the Harness secret containing the ARN of the AWS KMS. 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}.\n","type":"string"},"credentials":{"description":"Credentials to connect to AWS.\n","items":{"$ref":"#/types/harness:platform/getAwsKmsConnectorCredential:getAwsKmsConnectorCredential"},"type":"array"},"default":{"description":"Whether this is the default connector.\n","type":"boolean"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"executeOnDelegate":{"description":"The delegate to execute the action on.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"region":{"description":"The AWS region where the AWS Secret Manager is.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["arnPlaintext","arnRef","credentials","default","delegateSelectors","description","executeOnDelegate","identifier","region","tags","id"],"type":"object"}},"harness:platform/getAwsSecretManagerConnector:getAwsSecretManagerConnector":{"description":"Datasource for looking up an AWS Secret Manager connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getAwsSecretManagerConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_aws_secret_manager_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetAwsSecretManagerConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupAwsSecretManagerConnector(ctx, \u0026platform.LookupAwsSecretManagerConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetAwsSecretManagerConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getAwsSecretManagerConnector(GetAwsSecretManagerConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getAwsSecretManagerConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAwsSecretManagerConnector.\n","properties":{"forceDeleteWithoutRecovery":{"type":"boolean","description":"Whether to force delete secret value or not.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"recoveryWindowInDays":{"type":"integer","description":"Recovery duration in days in AWS Secrets Manager.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getAwsSecretManagerConnector.\n","properties":{"credentials":{"description":"Credentials to connect to AWS.\n","items":{"$ref":"#/types/harness:platform/getAwsSecretManagerConnectorCredential:getAwsSecretManagerConnectorCredential"},"type":"array"},"default":{"description":"Whether this is the default connector.\n","type":"boolean"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"executeOnDelegate":{"description":"The delegate to execute the action on.\n","type":"boolean"},"forceDeleteWithoutRecovery":{"description":"Whether to force delete secret value or not.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"recoveryWindowInDays":{"description":"Recovery duration in days in AWS Secrets Manager.\n","type":"integer"},"region":{"description":"The AWS region where the AWS Secret Manager is.\n","type":"string"},"secretNamePrefix":{"description":"A prefix to be added to all secrets.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"usePutSecret":{"description":"Whether to update secret value using putSecretValue action.\n","type":"boolean"}},"required":["credentials","default","delegateSelectors","description","executeOnDelegate","identifier","region","secretNamePrefix","tags","usePutSecret","id"],"type":"object"}},"harness:platform/getAzureCloudCostConnector:getAzureCloudCostConnector":{"description":"Datasource for looking up an Azure Cloud Cost Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getAzureCloudCostConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_azure_cloud_cost_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetAzureCloudCostConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupAzureCloudCostConnector(ctx, \u0026platform.LookupAzureCloudCostConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetAzureCloudCostConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getAzureCloudCostConnector(GetAzureCloudCostConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getAzureCloudCostConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAzureCloudCostConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getAzureCloudCostConnector.\n","properties":{"billingExportSpec2s":{"description":"Returns billing details for the Azure account.\n","items":{"$ref":"#/types/harness:platform/getAzureCloudCostConnectorBillingExportSpec2:getAzureCloudCostConnectorBillingExportSpec2"},"type":"array"},"billingExportSpecs":{"description":"Returns billing details for the Azure account.\n","items":{"$ref":"#/types/harness:platform/getAzureCloudCostConnectorBillingExportSpec:getAzureCloudCostConnectorBillingExportSpec"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"featuresEnableds":{"description":"Indicates which feature to enable among Billing, Optimization, Visibility and Governance.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"subscriptionId":{"description":"Subsription id.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"tenantId":{"description":"Tenant id.\n","type":"string"}},"required":["billingExportSpecs","billingExportSpec2s","description","featuresEnableds","identifier","subscriptionId","tags","tenantId","id"],"type":"object"}},"harness:platform/getAzureCloudProviderConnector:getAzureCloudProviderConnector":{"description":"Datasource for looking up an Azure Cloud Provider Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getAzureCloudProviderConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_azure_cloud_provider_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetAzureCloudProviderConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupAzureCloudProviderConnector(ctx, \u0026platform.LookupAzureCloudProviderConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetAzureCloudProviderConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getAzureCloudProviderConnector(GetAzureCloudProviderConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getAzureCloudProviderConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAzureCloudProviderConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getAzureCloudProviderConnector.\n","properties":{"azureEnvironmentType":{"description":"Specifies the Azure Environment type, which is AZURE by default. Can either be AZURE or AZURE*US*GOVERNMENT\n","type":"string"},"credentials":{"description":"Contains Azure connector credentials.\n","items":{"$ref":"#/types/harness:platform/getAzureCloudProviderConnectorCredential:getAzureCloudProviderConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"executeOnDelegate":{"description":"Execute on delegate or not.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["azureEnvironmentType","credentials","delegateSelectors","description","executeOnDelegate","identifier","tags","id"],"type":"object"}},"harness:platform/getAzureKeyVaultConnector:getAzureKeyVaultConnector":{"description":"Data source for looking up an Azure key vault connector.\n\nReferences:\n- For details on how to onboard with Terraform, please see Harness Terraform Provider Overview\n- To understand how to use Azure Key Vault, please see [Documentation](https://developer.harness.io/docs/platform/Secrets/Secrets-Management/azure-key-vault)\n- To get more information about Api, please see [API documentation](https://apidocs.harness.io/tag/Connectors)\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getAzureKeyVaultConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_azure_key_vault_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetAzureKeyVaultConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupAzureKeyVaultConnector(ctx, \u0026platform.LookupAzureKeyVaultConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetAzureKeyVaultConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getAzureKeyVaultConnector(GetAzureKeyVaultConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getAzureKeyVaultConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getAzureKeyVaultConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getAzureKeyVaultConnector.\n","properties":{"azureEnvironmentType":{"description":"Azure environment type. Possible values: AZURE or AZURE*US*GOVERNMENT. Default value: AZURE\n","type":"string"},"clientId":{"description":"Application ID of the Azure App.\n","type":"string"},"delegateSelectors":{"description":"Connect using only the delegates which have these tags.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"isDefault":{"description":"Specifies whether or not is the default value.\n","type":"boolean"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"secretKey":{"description":"The Harness text secret with the Azure authentication key as its value.\n","type":"string"},"subscription":{"description":"Azure subscription ID.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"tenantId":{"description":"The Azure Active Directory (AAD) directory ID where you created your application.\n","type":"string"},"vaultName":{"description":"Name of the vault.\n","type":"string"}},"required":["azureEnvironmentType","clientId","delegateSelectors","description","identifier","isDefault","secretKey","subscription","tags","tenantId","vaultName","id"],"type":"object"}},"harness:platform/getBitbucketConnector:getBitbucketConnector":{"description":"Datasource for looking up a Bitbucket connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getBitbucketConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_bitbucket_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetBitbucketConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupBitbucketConnector(ctx, \u0026platform.LookupBitbucketConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetBitbucketConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getBitbucketConnector(GetBitbucketConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getBitbucketConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getBitbucketConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getBitbucketConnector.\n","properties":{"apiAuthentications":{"description":"Configuration for using the BitBucket api. API Access is required for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n","items":{"$ref":"#/types/harness:platform/getBitbucketConnectorApiAuthentication:getBitbucketConnectorApiAuthentication"},"type":"array"},"connectionType":{"description":"Whether the connection we're making is to a BitBucket repository or a BitBucket account. Valid values are Account, Repo.\n","type":"string"},"credentials":{"description":"Credentials to use for the connection.\n","items":{"$ref":"#/types/harness:platform/getBitbucketConnectorCredential:getBitbucketConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the BitBucket repository or account.\n","type":"string"},"validationRepo":{"description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n","type":"string"}},"required":["apiAuthentications","connectionType","credentials","delegateSelectors","description","identifier","tags","url","validationRepo","id"],"type":"object"}},"harness:platform/getCcmFilters:getCcmFilters":{"description":"Data source for retrieving a Harness CCM Filter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getCcmFilters({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    type: \"CCMRecommendation\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_ccm_filters(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    type=\"CCMRecommendation\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetCcmFilters.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Type = \"CCMRecommendation\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.GetCcmFilters(ctx, \u0026platform.GetCcmFiltersArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t\tType:       \"CCMRecommendation\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetCcmFiltersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getCcmFilters(GetCcmFiltersArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .type(\"CCMRecommendation\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getCcmFilters\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n        type: CCMRecommendation\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getCcmFilters.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of filter.\n"}},"type":"object","required":["identifier","type"]},"outputs":{"description":"A collection of values returned by getCcmFilters.\n","properties":{"filterProperties":{"description":"Properties of the filter entity defined in Harness.\n","items":{"$ref":"#/types/harness:platform/getCcmFiltersFilterProperty:getCcmFiltersFilterProperty"},"type":"array"},"filterVisibility":{"description":"This indicates visibility of filter. By default, everyone can view this filter.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the Filter.\n","type":"string"},"orgId":{"description":"Organization Identifier for the Entity.\n","type":"string"},"projectId":{"description":"Project Identifier for the Entity.\n","type":"string"},"type":{"description":"Type of filter.\n","type":"string"}},"required":["filterProperties","filterVisibility","identifier","name","type","id"],"type":"object"}},"harness:platform/getCentralNotificationChannel:getCentralNotificationChannel":{"description":"Data source for retrieving a central notification channel in Harness.\n","inputs":{"description":"A collection of arguments for invoking getCentralNotificationChannel.\n","properties":{"account":{"type":"string","description":"Account identifier associated with this notification channel.\n"},"channels":{"type":"array","items":{"$ref":"#/types/harness:platform/getCentralNotificationChannelChannel:getCentralNotificationChannelChannel"},"description":"Configuration details of the notification channel.\n"},"created":{"type":"integer","description":"Timestamp when the notification channel was created.\n"},"identifier":{"type":"string","description":"Unique identifier of the notification channel.\n"},"lastModified":{"type":"integer","description":"Timestamp when the notification channel was last modified.\n"},"name":{"type":"string","description":"Name of the notification channel.\n"},"notificationChannelType":{"type":"string","description":"Type of notification channel. One of: EMAIL, SLACK, PAGERDUTY, MSTeams, WEBHOOK, DATADOG.\n"},"org":{"type":"string","description":"Identifier of the organization the notification channel is scoped to.\n"},"project":{"type":"string","description":"Identifier of the project the notification channel is scoped to.\n"},"status":{"type":"string","description":"Status of the notification channel. Possible values are ENABLED or DISABLED.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getCentralNotificationChannel.\n","properties":{"account":{"description":"Account identifier associated with this notification channel.\n","type":"string"},"channels":{"description":"Configuration details of the notification channel.\n","items":{"$ref":"#/types/harness:platform/getCentralNotificationChannelChannel:getCentralNotificationChannelChannel"},"type":"array"},"created":{"description":"Timestamp when the notification channel was created.\n","type":"integer"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the notification channel.\n","type":"string"},"lastModified":{"description":"Timestamp when the notification channel was last modified.\n","type":"integer"},"name":{"description":"Name of the notification channel.\n","type":"string"},"notificationChannelType":{"description":"Type of notification channel. One of: EMAIL, SLACK, PAGERDUTY, MSTeams, WEBHOOK, DATADOG.\n","type":"string"},"org":{"description":"Identifier of the organization the notification channel is scoped to.\n","type":"string"},"project":{"description":"Identifier of the project the notification channel is scoped to.\n","type":"string"},"status":{"description":"Status of the notification channel. Possible values are ENABLED or DISABLED.\n","type":"string"}},"required":["identifier","id"],"type":"object"}},"harness:platform/getCentralNotificationRule:getCentralNotificationRule":{"description":"\u003e Deprecated: Please use `data.harness_platform_pipeline_central_notification_rule`. See the pipeline-specific data source docs.\n\nData source for retrieving a Notification Rule.\n","inputs":{"description":"A collection of arguments for invoking getCentralNotificationRule.\n","properties":{"customNotificationTemplateRef":{"$ref":"#/types/harness:platform/getCentralNotificationRuleCustomNotificationTemplateRef:getCentralNotificationRuleCustomNotificationTemplateRef"},"identifier":{"type":"string","description":"Identifier of the Notification Rule.\n"},"name":{"type":"string"},"notificationChannelRefs":{"type":"array","items":{"type":"string"}},"notificationConditions":{"type":"array","items":{"$ref":"#/types/harness:platform/getCentralNotificationRuleNotificationCondition:getCentralNotificationRuleNotificationCondition"}},"org":{"type":"string","description":"Identifier of the organization in which the Notification Rule is configured.\n"},"project":{"type":"string","description":"Identifier of the project in which the Notification Rule is configured.\n"},"status":{"type":"string"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getCentralNotificationRule.\n","properties":{"account":{"description":"Account identifier associated with this notification channel.\n","type":"string"},"created":{"description":"Timestamp when the notification rule was created.\n","type":"integer"},"customNotificationTemplateRef":{"$ref":"#/types/harness:platform/getCentralNotificationRuleCustomNotificationTemplateRef:getCentralNotificationRuleCustomNotificationTemplateRef"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the Notification Rule.\n","type":"string"},"lastModified":{"description":"Timestamp when the notification rule was last modified.\n","type":"integer"},"name":{"type":"string"},"notificationChannelRefs":{"items":{"type":"string"},"type":"array"},"notificationConditions":{"items":{"$ref":"#/types/harness:platform/getCentralNotificationRuleNotificationCondition:getCentralNotificationRuleNotificationCondition"},"type":"array"},"org":{"description":"Identifier of the organization in which the Notification Rule is configured.\n","type":"string"},"project":{"description":"Identifier of the project in which the Notification Rule is configured.\n","type":"string"},"status":{"type":"string"}},"required":["account","created","identifier","lastModified","id"],"type":"object"}},"harness:platform/getConnectorAzureRepo:getConnectorAzureRepo":{"description":"Datasource for looking up a Azure Repo connector.\n","inputs":{"description":"A collection of arguments for invoking getConnectorAzureRepo.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getConnectorAzureRepo.\n","properties":{"apiAuthentications":{"description":"Configuration for using the azure repo api. API Access is Computed for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n","items":{"$ref":"#/types/harness:platform/getConnectorAzureRepoApiAuthentication:getConnectorAzureRepoApiAuthentication"},"type":"array"},"connectionType":{"description":"Whether the connection we're making is to a azure repository or a azure account. Valid values are Project, Repo.\n","type":"string"},"credentials":{"description":"Credentials to use for the connection.\n","items":{"$ref":"#/types/harness:platform/getConnectorAzureRepoCredential:getConnectorAzureRepoCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"executeOnDelegate":{"description":"Execute on delegate or not.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the azure repo repository or account.\n","type":"string"},"validationRepo":{"description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n","type":"string"}},"required":["apiAuthentications","connectionType","credentials","delegateSelectors","description","executeOnDelegate","identifier","tags","url","validationRepo","id"],"type":"object"}},"harness:platform/getConnectorCustomSecretManager:getConnectorCustomSecretManager":{"description":"Datasource for looking up a Custom Secret Manager connector.\n","inputs":{"description":"A collection of arguments for invoking getConnectorCustomSecretManager.\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getConnectorCustomSecretManager.\n","properties":{"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"onDelegate":{"description":"Specifies whether the secrets manager runs on a Harness delegate.\n","type":"boolean"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"sshSecretRef":{"description":"SSH secret reference for the custom secrets manager, Computed if 'on_delegate' is false.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"targetHost":{"description":"Host where the custom secrets manager is located, Computed if 'on_delegate' is false.\n","type":"string"},"templateInputs":{"items":{"$ref":"#/types/harness:platform/getConnectorCustomSecretManagerTemplateInput:getConnectorCustomSecretManagerTemplateInput"},"type":"array"},"templateRef":{"description":"Reference to the template used for managing secrets.\n","type":"string"},"timeout":{"description":"Timeout in seconds for secrets management operations.\n","type":"integer"},"type":{"description":"Type of the custom secrets manager, typically set to 'CustomSecretManager'.\n","type":"string"},"versionLabel":{"description":"Version identifier of the secrets management template.\n","type":"string"},"workingDirectory":{"description":"The working directory for operations, Computed if 'on_delegate' is false.\n","type":"string"}},"required":["description","identifier","onDelegate","sshSecretRef","tags","targetHost","templateInputs","templateRef","timeout","type","versionLabel","workingDirectory","id"],"type":"object"}},"harness:platform/getConnectorCustomhealthsource:getConnectorCustomhealthsource":{"description":"Datasource for looking up a Custom Health source connector.\n","inputs":{"description":"A collection of arguments for invoking getConnectorCustomhealthsource.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getConnectorCustomhealthsource.\n","properties":{"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"headers":{"description":"Headers.\n","items":{"$ref":"#/types/harness:platform/getConnectorCustomhealthsourceHeader:getConnectorCustomhealthsourceHeader"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"method":{"description":"HTTP Verb Method for the API Call\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"params":{"description":"Parameters.\n","items":{"$ref":"#/types/harness:platform/getConnectorCustomhealthsourceParam:getConnectorCustomhealthsourceParam"},"type":"array"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the Custom Health source server.\n","type":"string"},"validationBody":{"description":"Body to be sent with the API Call\n","type":"string"},"validationPath":{"description":"Path to be added to the base URL for the API Call\n","type":"string"}},"required":["delegateSelectors","description","headers","identifier","method","params","tags","url","validationBody","validationPath","id"],"type":"object"}},"harness:platform/getConnectorGcpKms:getConnectorGcpKms":{"description":"Datasource for looking up GCP KMS connector.\n","inputs":{"description":"A collection of arguments for invoking getConnectorGcpKms.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getConnectorGcpKms.\n","properties":{"default":{"description":"Set this flag to set this secret manager as default secret manager.\n","type":"boolean"},"description":{"description":"Description of the resource.\n","type":"string"},"executeOnDelegate":{"description":"Enable this flag to execute on Delegate.\n","type":"boolean"},"gcpProjectId":{"description":"The project ID of the GCP KMS.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"keyName":{"description":"The key name of the GCP KMS.\n","type":"string"},"keyRing":{"description":"The key ring of the GCP KMS.\n","type":"string"},"manuals":{"description":"Manual credential configuration.\n","items":{"$ref":"#/types/harness:platform/getConnectorGcpKmsManual:getConnectorGcpKmsManual"},"type":"array"},"name":{"description":"Name of the resource.\n","type":"string"},"oidcAuthentications":{"description":"Authentication using harness oidc.\n","items":{"$ref":"#/types/harness:platform/getConnectorGcpKmsOidcAuthentication:getConnectorGcpKmsOidcAuthentication"},"type":"array"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"region":{"description":"The region of the GCP KMS.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["default","description","executeOnDelegate","gcpProjectId","identifier","keyName","keyRing","manuals","oidcAuthentications","region","tags","id"],"type":"object"}},"harness:platform/getConnectorJdbc:getConnectorJdbc":{"description":"Data source for retrieving a Harness JDBC Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getConnectorJdbc({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_connector_jdbc(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetConnectorJdbc.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupConnectorJdbc(ctx, \u0026platform.LookupConnectorJdbcArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetConnectorJdbcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getConnectorJdbc(GetConnectorJdbcArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getConnectorJdbc\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getConnectorJdbc.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getConnectorJdbc.\n","properties":{"credentials":{"description":"The credentials to use for the database server.\n","items":{"$ref":"#/types/harness:platform/getConnectorJdbcCredential:getConnectorJdbcCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"The URL of the database server.\n","type":"string"}},"required":["credentials","delegateSelectors","description","identifier","tags","url","id"],"type":"object"}},"harness:platform/getConnectorPdc:getConnectorPdc":{"description":"Datasource for looking up a Pdc connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getConnectorPdc({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_connector_pdc(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetConnectorPdc.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupConnectorPdc(ctx, \u0026platform.LookupConnectorPdcArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetConnectorPdcArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getConnectorPdc(GetConnectorPdcArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getConnectorPdc\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getConnectorPdc.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getConnectorPdc.\n","properties":{"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"hosts":{"description":"Host of the Physical data centers.\n","items":{"$ref":"#/types/harness:platform/getConnectorPdcHost:getConnectorPdcHost"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["delegateSelectors","description","hosts","identifier","tags","id"],"type":"object"}},"harness:platform/getConnectorRancher:getConnectorRancher":{"description":"Data source for looking up a Rancher connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getConnectorRancher({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_connector_rancher(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetConnectorRancher.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupConnectorRancher(ctx, \u0026platform.LookupConnectorRancherArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetConnectorRancherArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getConnectorRancher(GetConnectorRancherArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getConnectorRancher\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getConnectorRancher.\n","properties":{"bearerToken":{"$ref":"#/types/harness:platform/getConnectorRancherBearerToken:getConnectorRancherBearerToken","description":"URL and bearer token for the rancher cluster.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getConnectorRancher.\n","properties":{"bearerToken":{"$ref":"#/types/harness:platform/getConnectorRancherBearerToken:getConnectorRancherBearerToken","description":"URL and bearer token for the rancher cluster.\n"},"delegateSelectors":{"description":"Selectors to use for the delegate.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["delegateSelectors","description","identifier","tags","id"],"type":"object"}},"harness:platform/getCurrentAccount:getCurrentAccount":{"description":"Data source for retrieving information about the current Harness account\n","inputs":{"description":"A collection of arguments for invoking getCurrentAccount.\n","properties":{"id":{"type":"string","description":"Id of the account.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getCurrentAccount.\n","properties":{"accountId":{"description":"Id of the account.\n","type":"string"},"endpoint":{"description":"The url of the Harness control plane.\n","type":"string"},"id":{"description":"Id of the account.\n","type":"string"}},"required":["accountId","endpoint"],"type":"object"}},"harness:platform/getCurrentUser:getCurrentUser":{"description":"Data source for retrieving the current user based on the API key.\n","outputs":{"description":"A collection of values returned by getCurrentUser.\n","properties":{"admin":{"description":"Whether the user is an administrator.\n","type":"boolean"},"billingFrequency":{"description":"Billing frequency of the user.\n","type":"string"},"defaultAccountId":{"description":"Default account ID of the user.\n","type":"string"},"edition":{"description":"Edition of the platform being used.\n","type":"string"},"email":{"description":"Email address of the user.\n","type":"string"},"emailVerified":{"description":"Whether the user's email address has been verified.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"intent":{"description":"Intent of the user.\n","type":"string"},"isTwoFactorAuthEnabled":{"description":"Whether 2FA is enabled for the user.\n","type":"boolean"},"locked":{"description":"Whether or not the user account is locked.\n","type":"boolean"},"name":{"description":"Name of the user.\n","type":"string"},"signupAction":{"description":"Signup action of the user.\n","type":"string"},"token":{"description":"Token used to authenticate the user.\n","type":"string"},"uuid":{"description":"Unique identifier of the user.\n","type":"string"}},"required":["admin","billingFrequency","defaultAccountId","edition","email","emailVerified","intent","isTwoFactorAuthEnabled","locked","name","signupAction","token","uuid","id"],"type":"object"}},"harness:platform/getDashboardFolders:getDashboardFolders":{"description":"Data source for retrieving a Harness Dashboard Folder.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst folder = harness.platform.getDashboardFolders({\n    id: \"id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nfolder = harness.platform.get_dashboard_folders(id=\"id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var folder = Harness.Platform.GetDashboardFolders.Invoke(new()\n    {\n        Id = \"id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupDashboardFolders(ctx, \u0026platform.LookupDashboardFoldersArgs{\n\t\t\tId: \"id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDashboardFoldersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var folder = PlatformFunctions.getDashboardFolders(GetDashboardFoldersArgs.builder()\n            .id(\"id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  folder:\n    fn::invoke:\n      function: harness:platform:getDashboardFolders\n      arguments:\n        id: id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDashboardFolders.\n","properties":{"id":{"type":"string","description":"Identifier of the folder.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getDashboardFolders.\n","properties":{"createdAt":{"description":"Created DateTime of the folder.\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"Identifier of the folder.\n","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["createdAt","description","id","tags"],"type":"object"}},"harness:platform/getDashboards:getDashboards":{"description":"Data source for retrieving a Harness Dashboard.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst dashboard = harness.platform.getDashboards({\n    id: \"id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ndashboard = harness.platform.get_dashboards(id=\"id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var dashboard = Harness.Platform.GetDashboards.Invoke(new()\n    {\n        Id = \"id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupDashboards(ctx, \u0026platform.LookupDashboardsArgs{\n\t\t\tId: \"id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDashboardsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var dashboard = PlatformFunctions.getDashboards(GetDashboardsArgs.builder()\n            .id(\"id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  dashboard:\n    fn::invoke:\n      function: harness:platform:getDashboards\n      arguments:\n        id: id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDashboards.\n","properties":{"id":{"type":"string","description":"Identifier of the dashboard.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getDashboards.\n","properties":{"createdAt":{"description":"Created at timestamp of the Dashboard.\n","type":"string"},"dashboardId":{"description":"Unique identifier of the Dashboard.\n","type":"string"},"dataSources":{"description":"Data Sources within the Dashboard.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"folderId":{"description":"Unique identifier of the Folder.\n","type":"string"},"id":{"description":"Identifier of the dashboard.\n","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"models":{"description":"Data Models within the Dashboard.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Name of the resource.\n","type":"string"},"resourceIdentifier":{"description":"Resource identifier of the dashboard.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"title":{"description":"Title of the Dashboard.\n","type":"string"},"type":{"description":"Resource identifier of the dashboard.\n","type":"string"},"viewCount":{"description":"View count of the dashboard.\n","type":"integer"}},"required":["createdAt","dashboardId","dataSources","description","folderId","id","models","resourceIdentifier","tags","title","type","viewCount"],"type":"object"}},"harness:platform/getDatadogConnector:getDatadogConnector":{"description":"Datasource for looking up a Datadog connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getDatadogConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_datadog_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetDatadogConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupDatadogConnector(ctx, \u0026platform.LookupDatadogConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDatadogConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getDatadogConnector(GetDatadogConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getDatadogConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDatadogConnector.\n","properties":{"delegateSelectors":{"type":"array","items":{"type":"string"},"description":"Tags to filter delegates for connection.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getDatadogConnector.\n","properties":{"apiKeyRef":{"description":"Reference to the Harness secret containing the api 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}.\n","type":"string"},"applicationKeyRef":{"description":"Reference to the Harness secret containing the application 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}.\n","type":"string"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the Datadog server.\n","type":"string"}},"required":["apiKeyRef","applicationKeyRef","description","identifier","tags","url","id"],"type":"object"}},"harness:platform/getDbInstance:getDbInstance":{"description":"Data source for retrieving a Harness DBDevOps Instance.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getDbInstance({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    schema: \"schema1\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_db_instance(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    schema=\"schema1\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetDbInstance.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Schema = \"schema1\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupDbInstance(ctx, \u0026platform.LookupDbInstanceArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      \"org_id\",\n\t\t\tProjectId:  \"project_id\",\n\t\t\tSchema:     \"schema1\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDbInstanceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getDbInstance(GetDbInstanceArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .schema(\"schema1\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getDbInstance\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n        schema: schema1\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbInstance.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"schema":{"type":"string","description":"The identifier of the parent database schema\n"},"substituteProperties":{"type":"object","additionalProperties":{"type":"string"},"description":"The properties to substitute in changelog migration script\n"}},"type":"object","required":["identifier","orgId","projectId","schema"]},"outputs":{"description":"A collection of values returned by getDbInstance.\n","properties":{"branch":{"description":"The branch of changeSet repository\n","type":"string"},"connector":{"description":"The connector to database\n","type":"string"},"context":{"description":"The liquibase context\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"schema":{"description":"The identifier of the parent database schema\n","type":"string"},"substituteProperties":{"additionalProperties":{"type":"string"},"description":"The properties to substitute in changelog migration script\n","type":"object"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["branch","connector","context","description","identifier","orgId","projectId","schema","tags","id"],"type":"object"}},"harness:platform/getDbSchema:getDbSchema":{"description":"Data source for retrieving a Harness DBDevOps Schema.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getDbSchema({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_db_schema(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetDbSchema.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupDbSchema(ctx, \u0026platform.LookupDbSchemaArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      \"org_id\",\n\t\t\tProjectId:  \"project_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDbSchemaArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getDbSchema(GetDbSchemaArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getDbSchema\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDbSchema.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"migrationType":{"type":"string","description":"DB Migration tool type. Valid values are: Liquibase, Flyway\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"type":{"type":"string","description":"Type of the database schema. Valid values are: Repository, Script\n"},"usePercona":{"type":"boolean","description":"If percona-toolkit is enabled for the database schema.\n"}},"type":"object","required":["identifier","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getDbSchema.\n","properties":{"changelogScript":{"$ref":"#/types/harness:platform/getDbSchemaChangelogScript:getDbSchemaChangelogScript","description":"Configuration to clone changeSets using script\n"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"migrationType":{"description":"DB Migration tool type. Valid values are: Liquibase, Flyway\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"schemaSources":{"description":"Provides a connector and path at which to find the database schema representation\n","items":{"$ref":"#/types/harness:platform/getDbSchemaSchemaSource:getDbSchemaSchemaSource"},"type":"array"},"service":{"description":"The service associated with schema\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"type":{"description":"Type of the database schema. Valid values are: Repository, Script\n","type":"string"},"usePercona":{"description":"If percona-toolkit is enabled for the database schema.\n","type":"boolean"}},"required":["changelogScript","description","identifier","orgId","projectId","schemaSources","service","tags","id"],"type":"object"}},"harness:platform/getDefaultNotificationTemplateSet:getDefaultNotificationTemplateSet":{"description":"Data source for retrieving a Default Notification Template Set.\n","inputs":{"description":"A collection of arguments for invoking getDefaultNotificationTemplateSet.\n","properties":{"description":{"type":"string","description":"Description for Default Notification Template Set\n"},"eventTemplateConfigurationSets":{"type":"array","items":{"$ref":"#/types/harness:platform/getDefaultNotificationTemplateSetEventTemplateConfigurationSet:getDefaultNotificationTemplateSetEventTemplateConfigurationSet"},"description":"Set of event-template configurations\n"},"identifier":{"type":"string","description":"Identifier of Default Notification Template Set\n"},"name":{"type":"string","description":"Name of Default Notification Template Set\n"},"notificationChannelType":{"type":"string","description":"Type of channel (e.g. SLACK, EMAIL, etc.)\n"},"notificationEntity":{"type":"string","description":"Type of the entity (e.g. PIPELINE, SERVICE, etc.)\n"},"org":{"type":"string","description":"Organization identifier\n"},"project":{"type":"string","description":"Project identifier\n"},"tags":{"type":"object","additionalProperties":{"type":"string"},"description":"Key-value tags\n"}},"type":"object","required":["eventTemplateConfigurationSets","identifier","name","notificationChannelType","notificationEntity"]},"outputs":{"description":"A collection of values returned by getDefaultNotificationTemplateSet.\n","properties":{"created":{"description":"Timestamp when the notification rule was created.\n","type":"integer"},"description":{"description":"Description for Default Notification Template Set\n","type":"string"},"eventTemplateConfigurationSets":{"description":"Set of event-template configurations\n","items":{"$ref":"#/types/harness:platform/getDefaultNotificationTemplateSetEventTemplateConfigurationSet:getDefaultNotificationTemplateSetEventTemplateConfigurationSet"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of Default Notification Template Set\n","type":"string"},"lastModified":{"description":"Timestamp when the notification rule was last modified.\n","type":"integer"},"name":{"description":"Name of Default Notification Template Set\n","type":"string"},"notificationChannelType":{"description":"Type of channel (e.g. SLACK, EMAIL, etc.)\n","type":"string"},"notificationEntity":{"description":"Type of the entity (e.g. PIPELINE, SERVICE, etc.)\n","type":"string"},"org":{"description":"Organization identifier\n","type":"string"},"project":{"description":"Project identifier\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Key-value tags\n","type":"object"}},"required":["created","eventTemplateConfigurationSets","identifier","lastModified","name","notificationChannelType","notificationEntity","id"],"type":"object"}},"harness:platform/getDelegateList:getDelegateList":{"description":"Data source for retrieving a list of Harness delegates.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Get all delegates in an account\nconst all = harness.platform.getDelegateList({\n    accountId: \"your_account_id\",\n    filterType: \"Delegate\",\n    fetchAll: true,\n});\n// Get only connected delegates with specific tags\nconst connectedWithTags = harness.platform.getDelegateList({\n    accountId: \"your_account_id\",\n    orgId: \"your_org_id\",\n    projectId: \"your_project_id\",\n    filterType: \"Delegate\",\n    status: \"CONNECTED\",\n    delegateTags: [\n        \"production\",\n        \"kubernetes\",\n    ],\n});\n// Get delegates by name pattern and group\nconst specificGroup = harness.platform.getDelegateList({\n    accountId: \"your_account_id\",\n    filterType: \"Delegate\",\n    delegateName: \"prod-delegate\",\n    delegateGroupIdentifier: \"production-group\",\n    versionStatus: \"ACTIVE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Get all delegates in an account\nall = harness.platform.get_delegate_list(account_id=\"your_account_id\",\n    filter_type=\"Delegate\",\n    fetch_all=True)\n# Get only connected delegates with specific tags\nconnected_with_tags = harness.platform.get_delegate_list(account_id=\"your_account_id\",\n    org_id=\"your_org_id\",\n    project_id=\"your_project_id\",\n    filter_type=\"Delegate\",\n    status=\"CONNECTED\",\n    delegate_tags=[\n        \"production\",\n        \"kubernetes\",\n    ])\n# Get delegates by name pattern and group\nspecific_group = harness.platform.get_delegate_list(account_id=\"your_account_id\",\n    filter_type=\"Delegate\",\n    delegate_name=\"prod-delegate\",\n    delegate_group_identifier=\"production-group\",\n    version_status=\"ACTIVE\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Get all delegates in an account\n    var all = Harness.Platform.GetDelegateList.Invoke(new()\n    {\n        AccountId = \"your_account_id\",\n        FilterType = \"Delegate\",\n        FetchAll = true,\n    });\n\n    // Get only connected delegates with specific tags\n    var connectedWithTags = Harness.Platform.GetDelegateList.Invoke(new()\n    {\n        AccountId = \"your_account_id\",\n        OrgId = \"your_org_id\",\n        ProjectId = \"your_project_id\",\n        FilterType = \"Delegate\",\n        Status = \"CONNECTED\",\n        DelegateTags = new[]\n        {\n            \"production\",\n            \"kubernetes\",\n        },\n    });\n\n    // Get delegates by name pattern and group\n    var specificGroup = Harness.Platform.GetDelegateList.Invoke(new()\n    {\n        AccountId = \"your_account_id\",\n        FilterType = \"Delegate\",\n        DelegateName = \"prod-delegate\",\n        DelegateGroupIdentifier = \"production-group\",\n        VersionStatus = \"ACTIVE\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Get all delegates in an account\n\t\t_, err := platform.GetDelegateList(ctx, \u0026platform.GetDelegateListArgs{\n\t\t\tAccountId:  \"your_account_id\",\n\t\t\tFilterType: \"Delegate\",\n\t\t\tFetchAll:   pulumi.BoolRef(true),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get only connected delegates with specific tags\n\t\t_, err = platform.GetDelegateList(ctx, \u0026platform.GetDelegateListArgs{\n\t\t\tAccountId:  \"your_account_id\",\n\t\t\tOrgId:      pulumi.StringRef(\"your_org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"your_project_id\"),\n\t\t\tFilterType: \"Delegate\",\n\t\t\tStatus:     pulumi.StringRef(\"CONNECTED\"),\n\t\t\tDelegateTags: []string{\n\t\t\t\t\"production\",\n\t\t\t\t\"kubernetes\",\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Get delegates by name pattern and group\n\t\t_, err = platform.GetDelegateList(ctx, \u0026platform.GetDelegateListArgs{\n\t\t\tAccountId:               \"your_account_id\",\n\t\t\tFilterType:              \"Delegate\",\n\t\t\tDelegateName:            pulumi.StringRef(\"prod-delegate\"),\n\t\t\tDelegateGroupIdentifier: pulumi.StringRef(\"production-group\"),\n\t\t\tVersionStatus:           pulumi.StringRef(\"ACTIVE\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDelegateListArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Get all delegates in an account\n        final var all = PlatformFunctions.getDelegateList(GetDelegateListArgs.builder()\n            .accountId(\"your_account_id\")\n            .filterType(\"Delegate\")\n            .fetchAll(true)\n            .build());\n\n        // Get only connected delegates with specific tags\n        final var connectedWithTags = PlatformFunctions.getDelegateList(GetDelegateListArgs.builder()\n            .accountId(\"your_account_id\")\n            .orgId(\"your_org_id\")\n            .projectId(\"your_project_id\")\n            .filterType(\"Delegate\")\n            .status(\"CONNECTED\")\n            .delegateTags(            \n                \"production\",\n                \"kubernetes\")\n            .build());\n\n        // Get delegates by name pattern and group\n        final var specificGroup = PlatformFunctions.getDelegateList(GetDelegateListArgs.builder()\n            .accountId(\"your_account_id\")\n            .filterType(\"Delegate\")\n            .delegateName(\"prod-delegate\")\n            .delegateGroupIdentifier(\"production-group\")\n            .versionStatus(\"ACTIVE\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Get all delegates in an account\n  all:\n    fn::invoke:\n      function: harness:platform:getDelegateList\n      arguments:\n        accountId: your_account_id\n        filterType: Delegate\n        fetchAll: true\n  # Get only connected delegates with specific tags\n  connectedWithTags:\n    fn::invoke:\n      function: harness:platform:getDelegateList\n      arguments:\n        accountId: your_account_id\n        orgId: your_org_id\n        projectId: your_project_id\n        filterType: Delegate\n        status: CONNECTED\n        delegateTags:\n          - production\n          - kubernetes\n  # Get delegates by name pattern and group\n  specificGroup:\n    fn::invoke:\n      function: harness:platform:getDelegateList\n      arguments:\n        accountId: your_account_id\n        filterType: Delegate\n        delegateName: prod-delegate\n        delegateGroupIdentifier: production-group\n        versionStatus: ACTIVE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDelegateList.\n","properties":{"accountId":{"type":"string","description":"Account identifier.\n"},"autoUpgrade":{"type":"string","description":"Filter delegates by auto upgrade setting.\n"},"delegateGroupIdentifier":{"type":"string","description":"Filter delegates by group identifier.\n"},"delegateInstanceFilter":{"type":"string","description":"Filter delegate instances. Valid values: AVAILABLE, EXPIRED.\n"},"delegateName":{"type":"string","description":"Filter delegates by name.\n"},"delegateTags":{"type":"array","items":{"type":"string"},"description":"Filter delegates by tags.\n"},"fetchAll":{"type":"boolean","description":"Whether to fetch all delegates. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n"},"filterType":{"type":"string","description":"Filter type for delegates.\n"},"orgId":{"type":"string","description":"Organization identifier.\n"},"projectId":{"type":"string","description":"Project identifier.\n"},"status":{"type":"string","description":"Filter delegates by status. Valid values: CONNECTED, DISCONNECTED, ENABLED, DISABLED, WAITING*FOR*APPROVAL, DELETED.\n"},"versionStatus":{"type":"string","description":"Filter delegates by version status. Valid values: ACTIVE, EXPIRED, EXPIRING, UNSUPPORTED.\n"}},"type":"object","required":["accountId","filterType"]},"outputs":{"description":"A collection of values returned by getDelegateList.\n","properties":{"accountId":{"description":"Account identifier.\n","type":"string"},"autoUpgrade":{"description":"Filter delegates by auto upgrade setting.\n","type":"string"},"delegateGroupIdentifier":{"description":"Filter delegates by group identifier.\n","type":"string"},"delegateInstanceFilter":{"description":"Filter delegate instances. Valid values: AVAILABLE, EXPIRED.\n","type":"string"},"delegateName":{"description":"Filter delegates by name.\n","type":"string"},"delegateTags":{"description":"Filter delegates by tags.\n","items":{"type":"string"},"type":"array"},"delegates":{"description":"List of delegates.\n","items":{"$ref":"#/types/harness:platform/getDelegateListDelegate:getDelegateListDelegate"},"type":"array"},"fetchAll":{"description":"Whether to fetch all delegates. Defaults to \u003cspan pulumi-lang-nodejs=\"`false`\" pulumi-lang-dotnet=\"`False`\" pulumi-lang-go=\"`false`\" pulumi-lang-python=\"`false`\" pulumi-lang-yaml=\"`false`\" pulumi-lang-java=\"`false`\"\u003e`false`\u003c/span\u003e.\n","type":"boolean"},"filterType":{"description":"Filter type for delegates.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"orgId":{"description":"Organization identifier.\n","type":"string"},"projectId":{"description":"Project identifier.\n","type":"string"},"status":{"description":"Filter delegates by status. Valid values: CONNECTED, DISCONNECTED, ENABLED, DISABLED, WAITING*FOR*APPROVAL, DELETED.\n","type":"string"},"versionStatus":{"description":"Filter delegates by version status. Valid values: ACTIVE, EXPIRED, EXPIRING, UNSUPPORTED.\n","type":"string"}},"required":["accountId","delegates","filterType","id"],"type":"object"}},"harness:platform/getDelegatetoken:getDelegatetoken":{"description":"Data source for retrieving a Harness delegate Token.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Look up a delegate token at account level by name\nconst accountLevel = harness.platform.getDelegatetoken({\n    name: \"account-delegate-token\",\n    accountId: \"account_id\",\n});\n// Look up a delegate token at organization level\nconst orgLevel = harness.platform.getDelegatetoken({\n    name: \"org-delegate-token\",\n    accountId: \"account_id\",\n    orgId: \"org_id\",\n});\n// Look up a delegate token at project level\nconst projectLevel = harness.platform.getDelegatetoken({\n    name: \"project-delegate-token\",\n    accountId: \"account_id\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Look up a delegate token at account level by name\naccount_level = harness.platform.get_delegatetoken(name=\"account-delegate-token\",\n    account_id=\"account_id\")\n# Look up a delegate token at organization level\norg_level = harness.platform.get_delegatetoken(name=\"org-delegate-token\",\n    account_id=\"account_id\",\n    org_id=\"org_id\")\n# Look up a delegate token at project level\nproject_level = harness.platform.get_delegatetoken(name=\"project-delegate-token\",\n    account_id=\"account_id\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Look up a delegate token at account level by name\n    var accountLevel = Harness.Platform.GetDelegatetoken.Invoke(new()\n    {\n        Name = \"account-delegate-token\",\n        AccountId = \"account_id\",\n    });\n\n    // Look up a delegate token at organization level\n    var orgLevel = Harness.Platform.GetDelegatetoken.Invoke(new()\n    {\n        Name = \"org-delegate-token\",\n        AccountId = \"account_id\",\n        OrgId = \"org_id\",\n    });\n\n    // Look up a delegate token at project level\n    var projectLevel = Harness.Platform.GetDelegatetoken.Invoke(new()\n    {\n        Name = \"project-delegate-token\",\n        AccountId = \"account_id\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Look up a delegate token at account level by name\n\t\t_, err := platform.LookupDelegatetoken(ctx, \u0026platform.LookupDelegatetokenArgs{\n\t\t\tName:      \"account-delegate-token\",\n\t\t\tAccountId: \"account_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Look up a delegate token at organization level\n\t\t_, err = platform.LookupDelegatetoken(ctx, \u0026platform.LookupDelegatetokenArgs{\n\t\t\tName:      \"org-delegate-token\",\n\t\t\tAccountId: \"account_id\",\n\t\t\tOrgId:     pulumi.StringRef(\"org_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Look up a delegate token at project level\n\t\t_, err = platform.LookupDelegatetoken(ctx, \u0026platform.LookupDelegatetokenArgs{\n\t\t\tName:      \"project-delegate-token\",\n\t\t\tAccountId: \"account_id\",\n\t\t\tOrgId:     pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId: pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDelegatetokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Look up a delegate token at account level by name\n        final var accountLevel = PlatformFunctions.getDelegatetoken(GetDelegatetokenArgs.builder()\n            .name(\"account-delegate-token\")\n            .accountId(\"account_id\")\n            .build());\n\n        // Look up a delegate token at organization level\n        final var orgLevel = PlatformFunctions.getDelegatetoken(GetDelegatetokenArgs.builder()\n            .name(\"org-delegate-token\")\n            .accountId(\"account_id\")\n            .orgId(\"org_id\")\n            .build());\n\n        // Look up a delegate token at project level\n        final var projectLevel = PlatformFunctions.getDelegatetoken(GetDelegatetokenArgs.builder()\n            .name(\"project-delegate-token\")\n            .accountId(\"account_id\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Look up a delegate token at account level by name\n  accountLevel:\n    fn::invoke:\n      function: harness:platform:getDelegatetoken\n      arguments:\n        name: account-delegate-token\n        accountId: account_id\n  # Look up a delegate token at organization level\n  orgLevel:\n    fn::invoke:\n      function: harness:platform:getDelegatetoken\n      arguments:\n        name: org-delegate-token\n        accountId: account_id\n        orgId: org_id\n  # Look up a delegate token at project level\n  projectLevel:\n    fn::invoke:\n      function: harness:platform:getDelegatetoken\n      arguments:\n        name: project-delegate-token\n        accountId: account_id\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDelegatetoken.\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n"},"name":{"type":"string","description":"Name of the delegate token\n"},"orgId":{"type":"string","description":"Org Identifier for the Entity\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity\n"},"tokenStatus":{"type":"string","description":"Status of Delegate Token (ACTIVE or REVOKED). If left empty both active and revoked tokens will be assumed\n"}},"type":"object","required":["accountId","name"]},"outputs":{"description":"A collection of values returned by getDelegatetoken.\n","properties":{"accountId":{"description":"Account Identifier for the Entity\n","type":"string"},"createdAt":{"description":"Time when the delegate token is created. This is an epoch timestamp.\n","type":"integer"},"createdBy":{"additionalProperties":{"type":"string"},"description":"created by details\n","type":"object"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"name":{"description":"Name of the delegate token\n","type":"string"},"orgId":{"description":"Org Identifier for the Entity\n","type":"string"},"projectId":{"description":"Project Identifier for the Entity\n","type":"string"},"revokeAfter":{"description":"Epoch time in milliseconds after which the token will be marked as revoked. There can be a delay of up to one hour from the epoch value provided and actual revoking of the token.\n","type":"integer"},"tokenStatus":{"description":"Status of Delegate Token (ACTIVE or REVOKED). If left empty both active and revoked tokens will be assumed\n","type":"string"},"value":{"description":"Value of the delegate token. Encoded in base64.\n","secret":true,"type":"string"}},"required":["accountId","createdAt","createdBy","name","revokeAfter","value","id"],"type":"object"}},"harness:platform/getDockerConnector:getDockerConnector":{"description":"Datasource for looking up a Datadog connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getDockerConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_docker_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetDockerConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupDockerConnector(ctx, \u0026platform.LookupDockerConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDockerConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getDockerConnector(GetDockerConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getDockerConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDockerConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getDockerConnector.\n","properties":{"credentials":{"description":"The credentials to use for the docker registry. If not specified then the connection is made to the registry anonymously.\n","items":{"$ref":"#/types/harness:platform/getDockerConnectorCredential:getDockerConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"type":{"description":"The type of the docker registry. Valid options are DockerHub, Harbor, Other, Quay\n","type":"string"},"url":{"description":"The URL of the docker registry.\n","type":"string"}},"required":["credentials","delegateSelectors","description","identifier","tags","type","url","id"],"type":"object"}},"harness:platform/getDynatraceConnector:getDynatraceConnector":{"description":"Datasource for looking up a Dynatrace connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getDynatraceConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_dynatrace_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetDynatraceConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupDynatraceConnector(ctx, \u0026platform.LookupDynatraceConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDynatraceConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getDynatraceConnector(GetDynatraceConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getDynatraceConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDynatraceConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getDynatraceConnector.\n","properties":{"apiTokenRef":{"description":"The reference to the Harness secret containing the 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}.\n","type":"string"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the Dynatrace server.\n","type":"string"}},"required":["apiTokenRef","delegateSelectors","description","identifier","tags","url","id"],"type":"object"}},"harness:platform/getElasticsearchConnector:getElasticsearchConnector":{"description":"Datasource for looking up an ElasticSearch connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getElasticsearchConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_elasticsearch_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetElasticsearchConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupElasticsearchConnector(ctx, \u0026platform.LookupElasticsearchConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetElasticsearchConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getElasticsearchConnector(GetElasticsearchConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getElasticsearchConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getElasticsearchConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getElasticsearchConnector.\n","properties":{"apiTokens":{"description":"Authenticate to ElasticSearch using api token.\n","items":{"$ref":"#/types/harness:platform/getElasticsearchConnectorApiToken:getElasticsearchConnectorApiToken"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the ElasticSearch controller.\n","type":"string"},"usernamePasswords":{"description":"Authenticate to ElasticSearch using username and password.\n","items":{"$ref":"#/types/harness:platform/getElasticsearchConnectorUsernamePassword:getElasticsearchConnectorUsernamePassword"},"type":"array"}},"required":["apiTokens","delegateSelectors","description","identifier","tags","url","usernamePasswords","id"],"type":"object"}},"harness:platform/getEnvironment:getEnvironment":{"description":"Data source for retrieving a Harness environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getEnvironment({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_environment(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetEnvironment.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupEnvironment(ctx, \u0026platform.LookupEnvironmentArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetEnvironmentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getEnvironment(GetEnvironmentArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getEnvironment\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getEnvironment.\n","properties":{"gitDetails":{"$ref":"#/types/harness:platform/getEnvironmentGitDetails:getEnvironmentGitDetails","description":"Contains parameters related to Git Experience for remote entities\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getEnvironment.\n","properties":{"color":{"description":"Color of the environment.\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"gitDetails":{"$ref":"#/types/harness:platform/getEnvironmentGitDetails:getEnvironmentGitDetails","description":"Contains parameters related to Git Experience for remote entities\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"type":{"description":"The type of environment.\n","type":"string"},"yaml":{"description":"Environment YAML. In YAML, to reference an entity at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference an entity at the account scope, prefix 'account` to the expression: account.{identifier}. For eg, to reference a connector with identifier 'connectorId' at the organization scope in a stage mention it as connectorRef: org.connectorId.\n","type":"string"}},"required":["color","description","gitDetails","identifier","tags","type","yaml","id"],"type":"object"}},"harness:platform/getEnvironmentClustersMapping:getEnvironmentClustersMapping":{"description":"Data source for retrieving Harness Gitops clusters mapped to Harness Environment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// data source for gitops clusters mapped to a project level env\nconst example = harness.platform.getEnvironmentClustersMapping({\n    identifier: \"mycustomidentifier\",\n    orgId: \"orgIdentifer\",\n    projectId: \"projectIdentifier\",\n    envId: \"exampleEnvId\",\n    clusters: [{\n        identifier: \"incluster\",\n        name: \"in-cluster\",\n        agentIdentifier: \"account.gitopsagentdev\",\n        scope: \"ACCOUNT\",\n    }],\n});\n// data source for two gitops clusters mapped to an account level env\nconst example2 = harness.platform.getEnvironmentClustersMapping({\n    identifier: \"mycustomidentifier\",\n    envId: \"env1\",\n    clusters: [\n        {\n            identifier: \"clusterA\",\n            name: \"cluster-A\",\n            agentIdentifier: \"account.gitopsagentprod\",\n            scope: \"ACCOUNT\",\n        },\n        {\n            identifier: \"clusterB\",\n            name: \"cluster-B\",\n            agentIdentifier: \"account.gitopsagentprod\",\n            scope: \"ACCOUNT\",\n        },\n    ],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# data source for gitops clusters mapped to a project level env\nexample = harness.platform.get_environment_clusters_mapping(identifier=\"mycustomidentifier\",\n    org_id=\"orgIdentifer\",\n    project_id=\"projectIdentifier\",\n    env_id=\"exampleEnvId\",\n    clusters=[{\n        \"identifier\": \"incluster\",\n        \"name\": \"in-cluster\",\n        \"agent_identifier\": \"account.gitopsagentdev\",\n        \"scope\": \"ACCOUNT\",\n    }])\n# data source for two gitops clusters mapped to an account level env\nexample2 = harness.platform.get_environment_clusters_mapping(identifier=\"mycustomidentifier\",\n    env_id=\"env1\",\n    clusters=[\n        {\n            \"identifier\": \"clusterA\",\n            \"name\": \"cluster-A\",\n            \"agent_identifier\": \"account.gitopsagentprod\",\n            \"scope\": \"ACCOUNT\",\n        },\n        {\n            \"identifier\": \"clusterB\",\n            \"name\": \"cluster-B\",\n            \"agent_identifier\": \"account.gitopsagentprod\",\n            \"scope\": \"ACCOUNT\",\n        },\n    ])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // data source for gitops clusters mapped to a project level env\n    var example = Harness.Platform.GetEnvironmentClustersMapping.Invoke(new()\n    {\n        Identifier = \"mycustomidentifier\",\n        OrgId = \"orgIdentifer\",\n        ProjectId = \"projectIdentifier\",\n        EnvId = \"exampleEnvId\",\n        Clusters = new[]\n        {\n            new Harness.Platform.Inputs.GetEnvironmentClustersMappingClusterInputArgs\n            {\n                Identifier = \"incluster\",\n                Name = \"in-cluster\",\n                AgentIdentifier = \"account.gitopsagentdev\",\n                Scope = \"ACCOUNT\",\n            },\n        },\n    });\n\n    // data source for two gitops clusters mapped to an account level env\n    var example2 = Harness.Platform.GetEnvironmentClustersMapping.Invoke(new()\n    {\n        Identifier = \"mycustomidentifier\",\n        EnvId = \"env1\",\n        Clusters = new[]\n        {\n            new Harness.Platform.Inputs.GetEnvironmentClustersMappingClusterInputArgs\n            {\n                Identifier = \"clusterA\",\n                Name = \"cluster-A\",\n                AgentIdentifier = \"account.gitopsagentprod\",\n                Scope = \"ACCOUNT\",\n            },\n            new Harness.Platform.Inputs.GetEnvironmentClustersMappingClusterInputArgs\n            {\n                Identifier = \"clusterB\",\n                Name = \"cluster-B\",\n                AgentIdentifier = \"account.gitopsagentprod\",\n                Scope = \"ACCOUNT\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// data source for gitops clusters mapped to a project level env\n\t\t_, err := platform.LookupEnvironmentClustersMapping(ctx, \u0026platform.LookupEnvironmentClustersMappingArgs{\n\t\t\tIdentifier: \"mycustomidentifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"orgIdentifer\"),\n\t\t\tProjectId:  pulumi.StringRef(\"projectIdentifier\"),\n\t\t\tEnvId:      \"exampleEnvId\",\n\t\t\tClusters: []platform.GetEnvironmentClustersMappingCluster{\n\t\t\t\t{\n\t\t\t\t\tIdentifier:      pulumi.StringRef(\"incluster\"),\n\t\t\t\t\tName:            pulumi.StringRef(\"in-cluster\"),\n\t\t\t\t\tAgentIdentifier: pulumi.StringRef(\"account.gitopsagentdev\"),\n\t\t\t\t\tScope:           pulumi.StringRef(\"ACCOUNT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// data source for two gitops clusters mapped to an account level env\n\t\t_, err = platform.LookupEnvironmentClustersMapping(ctx, \u0026platform.LookupEnvironmentClustersMappingArgs{\n\t\t\tIdentifier: \"mycustomidentifier\",\n\t\t\tEnvId:      \"env1\",\n\t\t\tClusters: []platform.GetEnvironmentClustersMappingCluster{\n\t\t\t\t{\n\t\t\t\t\tIdentifier:      pulumi.StringRef(\"clusterA\"),\n\t\t\t\t\tName:            pulumi.StringRef(\"cluster-A\"),\n\t\t\t\t\tAgentIdentifier: pulumi.StringRef(\"account.gitopsagentprod\"),\n\t\t\t\t\tScope:           pulumi.StringRef(\"ACCOUNT\"),\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tIdentifier:      pulumi.StringRef(\"clusterB\"),\n\t\t\t\t\tName:            pulumi.StringRef(\"cluster-B\"),\n\t\t\t\t\tAgentIdentifier: pulumi.StringRef(\"account.gitopsagentprod\"),\n\t\t\t\t\tScope:           pulumi.StringRef(\"ACCOUNT\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetEnvironmentClustersMappingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // data source for gitops clusters mapped to a project level env\n        final var example = PlatformFunctions.getEnvironmentClustersMapping(GetEnvironmentClustersMappingArgs.builder()\n            .identifier(\"mycustomidentifier\")\n            .orgId(\"orgIdentifer\")\n            .projectId(\"projectIdentifier\")\n            .envId(\"exampleEnvId\")\n            .clusters(GetEnvironmentClustersMappingClusterArgs.builder()\n                .identifier(\"incluster\")\n                .name(\"in-cluster\")\n                .agentIdentifier(\"account.gitopsagentdev\")\n                .scope(\"ACCOUNT\")\n                .build())\n            .build());\n\n        // data source for two gitops clusters mapped to an account level env\n        final var example2 = PlatformFunctions.getEnvironmentClustersMapping(GetEnvironmentClustersMappingArgs.builder()\n            .identifier(\"mycustomidentifier\")\n            .envId(\"env1\")\n            .clusters(            \n                GetEnvironmentClustersMappingClusterArgs.builder()\n                    .identifier(\"clusterA\")\n                    .name(\"cluster-A\")\n                    .agentIdentifier(\"account.gitopsagentprod\")\n                    .scope(\"ACCOUNT\")\n                    .build(),\n                GetEnvironmentClustersMappingClusterArgs.builder()\n                    .identifier(\"clusterB\")\n                    .name(\"cluster-B\")\n                    .agentIdentifier(\"account.gitopsagentprod\")\n                    .scope(\"ACCOUNT\")\n                    .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # data source for gitops clusters mapped to a project level env\n  example:\n    fn::invoke:\n      function: harness:platform:getEnvironmentClustersMapping\n      arguments:\n        identifier: mycustomidentifier\n        orgId: orgIdentifer\n        projectId: projectIdentifier\n        envId: exampleEnvId\n        clusters:\n          - identifier: incluster\n            name: in-cluster\n            agentIdentifier: account.gitopsagentdev\n            scope: ACCOUNT\n  # data source for two gitops clusters mapped to an account level env\n  example2:\n    fn::invoke:\n      function: harness:platform:getEnvironmentClustersMapping\n      arguments:\n        identifier: mycustomidentifier\n        envId: env1\n        clusters:\n          - identifier: clusterA\n            name: cluster-A\n            agentIdentifier: account.gitopsagentprod\n            scope: ACCOUNT\n          - identifier: clusterB\n            name: cluster-B\n            agentIdentifier: account.gitopsagentprod\n            scope: ACCOUNT\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getEnvironmentClustersMapping.\n","properties":{"clusters":{"type":"array","items":{"$ref":"#/types/harness:platform/getEnvironmentClustersMappingCluster:getEnvironmentClustersMappingCluster"},"description":"list of cluster identifiers and names\n"},"envId":{"type":"string","description":"environment identifier.\n"},"identifier":{"type":"string","description":"identifier for the cluster mapping(can be given any value).\n"},"orgId":{"type":"string","description":"org_id of the environment.\n"},"projectId":{"type":"string","description":"project_id of the environment.\n"}},"type":"object","required":["envId","identifier"]},"outputs":{"description":"A collection of values returned by getEnvironmentClustersMapping.\n","properties":{"clusters":{"description":"list of cluster identifiers and names\n","items":{"$ref":"#/types/harness:platform/getEnvironmentClustersMappingCluster:getEnvironmentClustersMappingCluster"},"type":"array"},"envId":{"description":"environment identifier.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"identifier for the cluster mapping(can be given any value).\n","type":"string"},"orgId":{"description":"org_id of the environment.\n","type":"string"},"projectId":{"description":"project_id of the environment.\n","type":"string"},"scope":{"description":"scope at which the environment exists in harness.\n","type":"string"}},"required":["envId","identifier","scope","id"],"type":"object"}},"harness:platform/getEnvironmentGroup:getEnvironmentGroup":{"description":"Data source for retrieving a Harness environment group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getEnvironmentGroup({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_environment_group(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetEnvironmentGroup.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupEnvironmentGroup(ctx, \u0026platform.LookupEnvironmentGroupArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetEnvironmentGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getEnvironmentGroup(GetEnvironmentGroupArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getEnvironmentGroup\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getEnvironmentGroup.\n","properties":{"color":{"type":"string","description":"Color of the environment group.\n"},"identifier":{"type":"string","description":"identifier of the environment group.\n"},"orgId":{"type":"string","description":"org_id of the environment group.\n"},"projectId":{"type":"string","description":"project_id of the environment group.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getEnvironmentGroup.\n","properties":{"color":{"description":"Color of the environment group.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"identifier of the environment group.\n","type":"string"},"orgId":{"description":"org_id of the environment group.\n","type":"string"},"projectId":{"description":"project_id of the environment group.\n","type":"string"},"yaml":{"description":"Input Set YAML\n","type":"string"}},"required":["color","identifier","yaml","id"],"type":"object"}},"harness:platform/getEnvironmentList:getEnvironmentList":{"description":"Data source for retrieving a Harness environment List.\n","inputs":{"description":"A collection of arguments for invoking getEnvironmentList.\n","properties":{"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getEnvironmentList.\n","properties":{"environments":{"items":{"$ref":"#/types/harness:platform/getEnvironmentListEnvironment:getEnvironmentListEnvironment"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"}},"required":["environments","id"],"type":"object"}},"harness:platform/getEnvironmentServiceOverrides:getEnvironmentServiceOverrides":{"description":"Data source for Harness environment service overrides.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getEnvironmentServiceOverrides({\n    orgId: \"orgIdentifier\",\n    projectId: \"projectIdentifier\",\n    envId: \"environmentIdentifier\",\n    serviceId: \"serviceIdentifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_environment_service_overrides(org_id=\"orgIdentifier\",\n    project_id=\"projectIdentifier\",\n    env_id=\"environmentIdentifier\",\n    service_id=\"serviceIdentifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetEnvironmentServiceOverrides.Invoke(new()\n    {\n        OrgId = \"orgIdentifier\",\n        ProjectId = \"projectIdentifier\",\n        EnvId = \"environmentIdentifier\",\n        ServiceId = \"serviceIdentifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupEnvironmentServiceOverrides(ctx, \u0026platform.LookupEnvironmentServiceOverridesArgs{\n\t\t\tOrgId:     pulumi.StringRef(\"orgIdentifier\"),\n\t\t\tProjectId: pulumi.StringRef(\"projectIdentifier\"),\n\t\t\tEnvId:     \"environmentIdentifier\",\n\t\t\tServiceId: pulumi.StringRef(\"serviceIdentifier\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetEnvironmentServiceOverridesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getEnvironmentServiceOverrides(GetEnvironmentServiceOverridesArgs.builder()\n            .orgId(\"orgIdentifier\")\n            .projectId(\"projectIdentifier\")\n            .envId(\"environmentIdentifier\")\n            .serviceId(\"serviceIdentifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getEnvironmentServiceOverrides\n      arguments:\n        orgId: orgIdentifier\n        projectId: projectIdentifier\n        envId: environmentIdentifier\n        serviceId: serviceIdentifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getEnvironmentServiceOverrides.\n","properties":{"envId":{"type":"string","description":"The env ID to which the overrides associated.\n"},"identifier":{"type":"string","description":"identifier of the service overrides.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"serviceId":{"type":"string","description":"The service ID to which the overrides applies.\n"}},"type":"object","required":["envId"]},"outputs":{"description":"A collection of values returned by getEnvironmentServiceOverrides.\n","properties":{"envId":{"description":"The env ID to which the overrides associated.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"identifier of the service overrides.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"serviceId":{"description":"The service ID to which the overrides applies.\n","type":"string"},"yaml":{"description":"Environment Service Overrides YAML\n","type":"string"}},"required":["envId","identifier","yaml","id"],"type":"object"}},"harness:platform/getFileStoreFile:getFileStoreFile":{"description":"Data source for retrieving files.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getFileStoreFile({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_file_store_file(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetFileStoreFile.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupFileStoreFile(ctx, \u0026platform.LookupFileStoreFileArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetFileStoreFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getFileStoreFile(GetFileStoreFileArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getFileStoreFile\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFileStoreFile.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getFileStoreFile.\n","properties":{"content":{"description":"File content stored on Harness File Store\n","type":"string"},"createdBies":{"description":"Created by\n","items":{"$ref":"#/types/harness:platform/getFileStoreFileCreatedBy:getFileStoreFileCreatedBy"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"fileContentPath":{"description":"File content path to be upladed on Harness File Store\n","type":"string"},"fileUsage":{"description":"File usage. Valid options are MANIFEST_FILE, CONFIG, SCRIPT\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"lastModifiedAt":{"description":"Last modified at\n","type":"integer"},"lastModifiedBies":{"description":"Last modified by\n","items":{"$ref":"#/types/harness:platform/getFileStoreFileLastModifiedBy:getFileStoreFileLastModifiedBy"},"type":"array"},"mimeType":{"description":"File mime type\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"parentIdentifier":{"description":"File parent identifier on Harness File Store\n","type":"string"},"path":{"description":"Harness File Store file path\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["content","createdBies","description","fileContentPath","fileUsage","identifier","lastModifiedAt","lastModifiedBies","mimeType","parentIdentifier","path","tags","id"],"type":"object"}},"harness:platform/getFileStoreFolder:getFileStoreFolder":{"description":"Data source for retrieving folders.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getFileStoreFolder({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_file_store_folder(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetFileStoreFolder.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupFileStoreFolder(ctx, \u0026platform.LookupFileStoreFolderArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetFileStoreFolderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getFileStoreFolder(GetFileStoreFolderArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getFileStoreFolder\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFileStoreFolder.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getFileStoreFolder.\n","properties":{"createdBies":{"description":"Created by\n","items":{"$ref":"#/types/harness:platform/getFileStoreFolderCreatedBy:getFileStoreFolderCreatedBy"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"lastModifiedAt":{"description":"Last modified at\n","type":"integer"},"lastModifiedBies":{"description":"Last modified by\n","items":{"$ref":"#/types/harness:platform/getFileStoreFolderLastModifiedBy:getFileStoreFolderLastModifiedBy"},"type":"array"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"parentIdentifier":{"description":"Folder parent identifier on Harness File Store\n","type":"string"},"path":{"description":"Harness File Store folder path\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["createdBies","description","identifier","lastModifiedAt","lastModifiedBies","parentIdentifier","path","tags","id"],"type":"object"}},"harness:platform/getFilters:getFilters":{"description":"Data source for retrieving a Harness Filter. This data source allows you to fetch filters of the following types: {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getFilters({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    type: \"Connector\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_filters(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    type=\"Connector\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetFilters.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Type = \"Connector\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupFilters(ctx, \u0026platform.LookupFiltersArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t\tType:       \"Connector\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetFiltersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getFilters(GetFiltersArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .type(\"Connector\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getFilters\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n        type: Connector\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getFilters.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"orgId":{"type":"string","description":"organization Identifier for the Entity\n"},"projectId":{"type":"string","description":"project Identifier for the Entity\n"},"type":{"type":"string","description":"Type of filter. Currently supported types are {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}.\n"}},"type":"object","required":["identifier","type"]},"outputs":{"description":"A collection of values returned by getFilters.\n","properties":{"filterProperties":{"description":"Properties of the filter entity defined in Harness.\n","items":{"$ref":"#/types/harness:platform/getFiltersFilterProperty:getFiltersFilterProperty"},"type":"array"},"filterVisibility":{"description":"This indicates visibility of filter. By default, everyone can view this filter.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"string"},"name":{"description":"Name of the Filter\n","type":"string"},"orgId":{"description":"organization Identifier for the Entity\n","type":"string"},"projectId":{"description":"project Identifier for the Entity\n","type":"string"},"type":{"description":"Type of filter. Currently supported types are {Connector, DelegateProfile, Delegate, EnvironmentGroup, FileStore, Environment}.\n","type":"string"}},"required":["filterProperties","filterVisibility","identifier","name","type","id"],"type":"object"}},"harness:platform/getGcpCloudCostConnector:getGcpCloudCostConnector":{"description":"Datasource for looking up a GCP Cloud Cost Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGcpCloudCostConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_gcp_cloud_cost_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGcpCloudCostConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupGcpCloudCostConnector(ctx, \u0026platform.LookupGcpCloudCostConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGcpCloudCostConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGcpCloudCostConnector(GetGcpCloudCostConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGcpCloudCostConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGcpCloudCostConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getGcpCloudCostConnector.\n","properties":{"billingExportSpecs":{"description":"Returns billing details.\n","items":{"$ref":"#/types/harness:platform/getGcpCloudCostConnectorBillingExportSpec:getGcpCloudCostConnectorBillingExportSpec"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"featuresEnableds":{"description":"Indicates which features to enable among Billing, Optimization, Visibility and Governance.\n","items":{"type":"string"},"type":"array"},"gcpProjectId":{"description":"GCP Project Id.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"serviceAccountEmail":{"description":"Email corresponding to the Service Account.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["billingExportSpecs","description","featuresEnableds","gcpProjectId","identifier","serviceAccountEmail","tags","id"],"type":"object"}},"harness:platform/getGcpConnector:getGcpConnector":{"description":"Datasource for looking up a Gcp connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGcpConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_gcp_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGcpConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupGcpConnector(ctx, \u0026platform.LookupGcpConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGcpConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGcpConnector(GetGcpConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGcpConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGcpConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getGcpConnector.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"inheritFromDelegates":{"description":"Inherit configuration from delegate.\n","items":{"$ref":"#/types/harness:platform/getGcpConnectorInheritFromDelegate:getGcpConnectorInheritFromDelegate"},"type":"array"},"manuals":{"description":"Manual credential configuration.\n","items":{"$ref":"#/types/harness:platform/getGcpConnectorManual:getGcpConnectorManual"},"type":"array"},"name":{"description":"Name of the resource.\n","type":"string"},"oidcAuthentications":{"description":"Authentication using harness oidc.\n","items":{"$ref":"#/types/harness:platform/getGcpConnectorOidcAuthentication:getGcpConnectorOidcAuthentication"},"type":"array"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["description","identifier","inheritFromDelegates","manuals","oidcAuthentications","tags","id"],"type":"object"}},"harness:platform/getGcpProjects:getGcpProjects":{"description":"Data source for listing GCP projects using a cloud connector identifier or secret manager connector identifier.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Example: List GCP projects using a GCP cloud connector\nconst example = harness.platform.getGcpProjects({\n    connectorId: \"my_gcp_connector\",\n});\n// Example: List GCP projects using a GCP secret manager connector\nconst exampleSecretManager = harness.platform.getGcpProjects({\n    connectorId: \"my_gcp_secret_manager_connector\",\n});\n// Example: List GCP projects with org and project scope\nconst exampleScoped = harness.platform.getGcpProjects({\n    connectorId: \"my_gcp_connector\",\n    orgId: \"my_org\",\n    projectId: \"my_project\",\n});\nexport const gcpProjects = example.then(example =\u003e example.projects);\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Example: List GCP projects using a GCP cloud connector\nexample = harness.platform.get_gcp_projects(connector_id=\"my_gcp_connector\")\n# Example: List GCP projects using a GCP secret manager connector\nexample_secret_manager = harness.platform.get_gcp_projects(connector_id=\"my_gcp_secret_manager_connector\")\n# Example: List GCP projects with org and project scope\nexample_scoped = harness.platform.get_gcp_projects(connector_id=\"my_gcp_connector\",\n    org_id=\"my_org\",\n    project_id=\"my_project\")\npulumi.export(\"gcpProjects\", example.projects)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Example: List GCP projects using a GCP cloud connector\n    var example = Harness.Platform.GetGcpProjects.Invoke(new()\n    {\n        ConnectorId = \"my_gcp_connector\",\n    });\n\n    // Example: List GCP projects using a GCP secret manager connector\n    var exampleSecretManager = Harness.Platform.GetGcpProjects.Invoke(new()\n    {\n        ConnectorId = \"my_gcp_secret_manager_connector\",\n    });\n\n    // Example: List GCP projects with org and project scope\n    var exampleScoped = Harness.Platform.GetGcpProjects.Invoke(new()\n    {\n        ConnectorId = \"my_gcp_connector\",\n        OrgId = \"my_org\",\n        ProjectId = \"my_project\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"gcpProjects\"] = example.Apply(getGcpProjectsResult =\u003e getGcpProjectsResult.Projects),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Example: List GCP projects using a GCP cloud connector\n\t\texample, err := platform.GetGcpProjects(ctx, \u0026platform.GetGcpProjectsArgs{\n\t\t\tConnectorId: \"my_gcp_connector\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: List GCP projects using a GCP secret manager connector\n\t\t_, err = platform.GetGcpProjects(ctx, \u0026platform.GetGcpProjectsArgs{\n\t\t\tConnectorId: \"my_gcp_secret_manager_connector\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Example: List GCP projects with org and project scope\n\t\t_, err = platform.GetGcpProjects(ctx, \u0026platform.GetGcpProjectsArgs{\n\t\t\tConnectorId: \"my_gcp_connector\",\n\t\t\tOrgId:       pulumi.StringRef(\"my_org\"),\n\t\t\tProjectId:   pulumi.StringRef(\"my_project\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"gcpProjects\", example.Projects)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGcpProjectsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Example: List GCP projects using a GCP cloud connector\n        final var example = PlatformFunctions.getGcpProjects(GetGcpProjectsArgs.builder()\n            .connectorId(\"my_gcp_connector\")\n            .build());\n\n        // Example: List GCP projects using a GCP secret manager connector\n        final var exampleSecretManager = PlatformFunctions.getGcpProjects(GetGcpProjectsArgs.builder()\n            .connectorId(\"my_gcp_secret_manager_connector\")\n            .build());\n\n        // Example: List GCP projects with org and project scope\n        final var exampleScoped = PlatformFunctions.getGcpProjects(GetGcpProjectsArgs.builder()\n            .connectorId(\"my_gcp_connector\")\n            .orgId(\"my_org\")\n            .projectId(\"my_project\")\n            .build());\n\n        ctx.export(\"gcpProjects\", example.projects());\n    }\n}\n```\n```yaml\nvariables:\n  # Example: List GCP projects using a GCP cloud connector\n  example:\n    fn::invoke:\n      function: harness:platform:getGcpProjects\n      arguments:\n        connectorId: my_gcp_connector\n  # Example: List GCP projects using a GCP secret manager connector\n  exampleSecretManager:\n    fn::invoke:\n      function: harness:platform:getGcpProjects\n      arguments:\n        connectorId: my_gcp_secret_manager_connector\n  # Example: List GCP projects with org and project scope\n  exampleScoped:\n    fn::invoke:\n      function: harness:platform:getGcpProjects\n      arguments:\n        connectorId: my_gcp_connector\n        orgId: my_org\n        projectId: my_project\noutputs:\n  # Output the projects\n  gcpProjects: ${example.projects}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGcpProjects.\n","properties":{"connectorId":{"type":"string","description":"Identifier of the GCP cloud connector or secret manager connector.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["connectorId"]},"outputs":{"description":"A collection of values returned by getGcpProjects.\n","properties":{"connectorId":{"description":"Identifier of the GCP cloud connector or secret manager connector.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"projects":{"items":{"$ref":"#/types/harness:platform/getGcpProjectsProject:getGcpProjectsProject"},"type":"array"}},"required":["connectorId","projects","id"],"type":"object"}},"harness:platform/getGcpSecretManagerConnector:getGcpSecretManagerConnector":{"description":"Datasource for looking up GCP Secret Manager connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGcpSecretManagerConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_gcp_secret_manager_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGcpSecretManagerConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupGcpSecretManagerConnector(ctx, \u0026platform.LookupGcpSecretManagerConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGcpSecretManagerConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGcpSecretManagerConnector(GetGcpSecretManagerConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGcpSecretManagerConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGcpSecretManagerConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getGcpSecretManagerConnector.\n","properties":{"credentialsRef":{"description":"Reference to the secret containing credentials of IAM service account for Google Secret Manager. 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}.\n","type":"string"},"delegateSelectors":{"description":"The delegates to inherit the credentials from.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"executeOnDelegate":{"description":"Execute on delegate or not.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"inheritFromDelegate":{"description":"Inherit configuration from delegate.\n","type":"boolean"},"isDefault":{"description":"Set this flag to set this secret manager as default secret manager.\n","type":"boolean"},"name":{"description":"Name of the resource.\n","type":"string"},"oidcAuthentications":{"description":"Authentication using harness oidc.\n","items":{"$ref":"#/types/harness:platform/getGcpSecretManagerConnectorOidcAuthentication:getGcpSecretManagerConnectorOidcAuthentication"},"type":"array"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["credentialsRef","delegateSelectors","description","executeOnDelegate","identifier","inheritFromDelegate","isDefault","oidcAuthentications","tags","id"],"type":"object"}},"harness:platform/getGitConnector:getGitConnector":{"description":"Datasource for looking up a Git connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGitConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_git_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGitConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupGitConnector(ctx, \u0026platform.LookupGitConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGitConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGitConnector(GetGitConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGitConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getGitConnector.\n","properties":{"connectionType":{"description":"Whether the connection we're making is to a git repository or a git account. Valid values are Account, Repo.\n","type":"string"},"credentials":{"description":"Credentials to use for the connection.\n","items":{"$ref":"#/types/harness:platform/getGitConnectorCredential:getGitConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the git repository or account.\n","type":"string"},"validationRepo":{"description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n","type":"string"}},"required":["connectionType","credentials","delegateSelectors","description","identifier","tags","url","validationRepo","id"],"type":"object"}},"harness:platform/getGithubConnector:getGithubConnector":{"description":"Datasource for looking up a Github connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGithubConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_github_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGithubConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupGithubConnector(ctx, \u0026platform.LookupGithubConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGithubConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGithubConnector(GetGithubConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGithubConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGithubConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getGithubConnector.\n","properties":{"apiAuthentications":{"description":"Configuration for using the github api. API Access is Computed for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n","items":{"$ref":"#/types/harness:platform/getGithubConnectorApiAuthentication:getGithubConnectorApiAuthentication"},"type":"array"},"connectionType":{"description":"Whether the connection we're making is to a github repository or a github account. Valid values are Account, Repo.\n","type":"string"},"credentials":{"description":"Credentials to use for the connection.\n","items":{"$ref":"#/types/harness:platform/getGithubConnectorCredential:getGithubConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"executeOnDelegate":{"description":"Execute on delegate or not.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the github repository or account.\n","type":"string"},"validationRepo":{"description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n","type":"string"}},"required":["apiAuthentications","connectionType","credentials","delegateSelectors","description","executeOnDelegate","identifier","tags","url","validationRepo","id"],"type":"object"}},"harness:platform/getGitlabConnector:getGitlabConnector":{"description":"Datasource for looking up a Gitlab connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGitlabConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_gitlab_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGitlabConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupGitlabConnector(ctx, \u0026platform.LookupGitlabConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGitlabConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGitlabConnector(GetGitlabConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGitlabConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitlabConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getGitlabConnector.\n","properties":{"apiAuthentications":{"description":"Configuration for using the gitlab api. API Access is Computed for using “Git Experience”, for creation of Git based triggers, Webhooks management and updating Git statuses.\n","items":{"$ref":"#/types/harness:platform/getGitlabConnectorApiAuthentication:getGitlabConnectorApiAuthentication"},"type":"array"},"connectionType":{"description":"Whether the connection we're making is to a gitlab repository or a gitlab account. Valid values are Account, Repo.\n","type":"string"},"credentials":{"description":"Credentials to use for the connection.\n","items":{"$ref":"#/types/harness:platform/getGitlabConnectorCredential:getGitlabConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"executeOnDelegate":{"description":"Execute on delegate or not.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the gitlab repository or account.\n","type":"string"},"validationRepo":{"description":"Repository to test the connection with. This is only used when \u003cspan pulumi-lang-nodejs=\"`connectionType`\" pulumi-lang-dotnet=\"`ConnectionType`\" pulumi-lang-go=\"`connectionType`\" pulumi-lang-python=\"`connection_type`\" pulumi-lang-yaml=\"`connectionType`\" pulumi-lang-java=\"`connectionType`\"\u003e`connection_type`\u003c/span\u003e is `Account`.\n","type":"string"}},"required":["apiAuthentications","connectionType","credentials","delegateSelectors","description","executeOnDelegate","identifier","tags","url","validationRepo","id"],"type":"object"}},"harness:platform/getGitopsAgent:getGitopsAgent":{"description":"Datasource for fetching a Harness GitOps Agent.\n\n","inputs":{"description":"A collection of arguments for invoking getGitopsAgent.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps agent.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"identifier":{"type":"string","description":"Identifier of the GitOps agent.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps agent.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps agent.\n"},"withCredentials":{"type":"boolean","description":"Specify whether to retrieve the gitops agent's token. (The field\u003cspan pulumi-lang-nodejs=\" agentToken \" pulumi-lang-dotnet=\" AgentToken \" pulumi-lang-go=\" agentToken \" pulumi-lang-python=\" agent_token \" pulumi-lang-yaml=\" agentToken \" pulumi-lang-java=\" agentToken \"\u003e agent_token \u003c/span\u003ewill be populated only if the agent has never connected to Harness before). For retrieval of this information, the user associated to the token being used must have Gitops Agent Edit permissions\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getGitopsAgent.\n","properties":{"accountId":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","description":"Account identifier of the GitOps agent.\n","type":"string"},"agentToken":{"description":"Agent token to be used for authentication of the agent with Harness.\n","type":"string"},"description":{"description":"Description of the GitOps agent.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the GitOps agent.\n","type":"string"},"isAuthenticated":{"description":"This computed field specifies if the referenced agent ever successfully connected and was authenticated to harness. Note that this is different from whether the agent is currently connected. \\n\\nSet\u003cspan pulumi-lang-nodejs=\" withCredentials \" pulumi-lang-dotnet=\" WithCredentials \" pulumi-lang-go=\" withCredentials \" pulumi-lang-python=\" with_credentials \" pulumi-lang-yaml=\" withCredentials \" pulumi-lang-java=\" withCredentials \"\u003e with_credentials \u003c/span\u003eto true to allow computing of this field.\\n\\n For retrieval of this information, the user associated to the token being used must have Gitops Agent Edit permissions\n","type":"boolean"},"metadatas":{"description":"Metadata of the agent.\n","items":{"$ref":"#/types/harness:platform/getGitopsAgentMetadata:getGitopsAgentMetadata"},"type":"array"},"name":{"description":"Name of the GitOps agent.\n","type":"string"},"operator":{"description":"The Operator to use for the Harness GitOps agent. Enum: \"ARGO\" \"FLAMINGO\"\n","type":"string"},"orgId":{"description":"Organization identifier of the GitOps agent.\n","type":"string"},"prefixedIdentifier":{"description":"Prefixed identifier of the GitOps agent. Agent identifier prefixed with scope of the agent\n","type":"string"},"projectId":{"description":"Project identifier of the GitOps agent.\n","type":"string"},"tags":{"additionalProperties":{"type":"string"},"description":"Tags for the GitOps agents. These can be used to search or filter the GitOps agents.\n","type":"object"},"type":{"description":"Default: \"AGENT*TYPE*UNSET\"\nEnum: \"AGENT*TYPE*UNSET\" \"CONNECTED*ARGO*PROVIDER\" \"MANAGED*ARGO*PROVIDER\"\n","type":"string"},"withCredentials":{"description":"Specify whether to retrieve the gitops agent's token. (The field\u003cspan pulumi-lang-nodejs=\" agentToken \" pulumi-lang-dotnet=\" AgentToken \" pulumi-lang-go=\" agentToken \" pulumi-lang-python=\" agent_token \" pulumi-lang-yaml=\" agentToken \" pulumi-lang-java=\" agentToken \"\u003e agent_token \u003c/span\u003ewill be populated only if the agent has never connected to Harness before). For retrieval of this information, the user associated to the token being used must have Gitops Agent Edit permissions\n","type":"boolean"}},"required":["accountId","agentToken","description","identifier","isAuthenticated","metadatas","name","operator","prefixedIdentifier","tags","type","id"],"type":"object"}},"harness:platform/getGitopsAgentDeployYaml:getGitopsAgentDeployYaml":{"description":"Datasource for fetching a Harness Gitops Agent deployment manifest YAML.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGitopsAgentDeployYaml({\n    identifier: \"identifier\",\n    accountId: \"account_id\",\n    projectId: \"project_id\",\n    orgId: \"org_id\",\n    namespace: \"namespace\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_gitops_agent_deploy_yaml(identifier=\"identifier\",\n    account_id=\"account_id\",\n    project_id=\"project_id\",\n    org_id=\"org_id\",\n    namespace=\"namespace\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGitopsAgentDeployYaml.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        AccountId = \"account_id\",\n        ProjectId = \"project_id\",\n        OrgId = \"org_id\",\n        Namespace = \"namespace\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.GetGitopsAgentDeployYaml(ctx, \u0026platform.GetGitopsAgentDeployYamlArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tAccountId:  pulumi.StringRef(\"account_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tNamespace:  \"namespace\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGitopsAgentDeployYamlArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGitopsAgentDeployYaml(GetGitopsAgentDeployYamlArgs.builder()\n            .identifier(\"identifier\")\n            .accountId(\"account_id\")\n            .projectId(\"project_id\")\n            .orgId(\"org_id\")\n            .namespace(\"namespace\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGitopsAgentDeployYaml\n      arguments:\n        identifier: identifier\n        accountId: account_id\n        projectId: project_id\n        orgId: org_id\n        namespace: namespace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitopsAgentDeployYaml.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps agent.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"argocdSettings":{"$ref":"#/types/harness:platform/getGitopsAgentDeployYamlArgocdSettings:getGitopsAgentDeployYamlArgocdSettings","description":"Argocd settings for the GitOps agent. Values set here will be overridden by the values set in the argocd settings in case of complete installation of agent + argocd. Each param contains as a description about what it will enable.\n"},"caData":{"type":"string","description":"CA data of the GitOps agent, base64 encoded content of ca chain.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps agent.\n"},"namespace":{"type":"string","description":"The kubernetes namespace where the agent is installed.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps agent.\n"},"privateKey":{"type":"string","description":"Private key for the GitOps agent. If provided authentication token will not be regenerated. Must be base64 encoded.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps agent.\n"},"proxies":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsAgentDeployYamlProxy:getGitopsAgentDeployYamlProxy"},"description":"Proxy settings for the GitOps agent.\n"},"skipCrds":{"type":"boolean","description":"Skip CRDs for the GitOps agent.\n"}},"type":"object","required":["identifier","namespace"]},"outputs":{"description":"A collection of values returned by getGitopsAgentDeployYaml.\n","properties":{"accountId":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","description":"Account identifier of the GitOps agent.\n","type":"string"},"argocdSettings":{"$ref":"#/types/harness:platform/getGitopsAgentDeployYamlArgocdSettings:getGitopsAgentDeployYamlArgocdSettings","description":"Argocd settings for the GitOps agent. Values set here will be overridden by the values set in the argocd settings in case of complete installation of agent + argocd. Each param contains as a description about what it will enable.\n"},"caData":{"description":"CA data of the GitOps agent, base64 encoded content of ca chain.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the GitOps agent.\n","type":"string"},"namespace":{"description":"The kubernetes namespace where the agent is installed.\n","type":"string"},"orgId":{"description":"Organization identifier of the GitOps agent.\n","type":"string"},"privateKey":{"description":"Private key for the GitOps agent. If provided authentication token will not be regenerated. Must be base64 encoded.\n","type":"string"},"projectId":{"description":"Project identifier of the GitOps agent.\n","type":"string"},"proxies":{"description":"Proxy settings for the GitOps agent.\n","items":{"$ref":"#/types/harness:platform/getGitopsAgentDeployYamlProxy:getGitopsAgentDeployYamlProxy"},"type":"array"},"skipCrds":{"description":"Skip CRDs for the GitOps agent.\n","type":"boolean"},"yaml":{"description":"The deployment manifest YAML of the GitOps agent.\n","type":"string"}},"required":["accountId","identifier","namespace","yaml","id"],"type":"object"}},"harness:platform/getGitopsAgentOperatorYaml:getGitopsAgentOperatorYaml":{"description":"Datasource for fetching a Harness Gitops Agent operator manifest YAML.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGitopsAgentOperatorYaml\n      arguments:\n        identifier: identifier\n        accountId: account_id\n        projectId: project_id\n        orgId: org_id\n        namespace: namespace\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitopsAgentOperatorYaml.\n","properties":{"caData":{"type":"string","description":"CA data of the GitOps agent, base64 encoded content of ca chain.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps agent.\n"},"namespace":{"type":"string","description":"The kubernetes namespace where the agent is installed.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps agent.\n"},"privateKey":{"type":"string","description":"Private key for the GitOps agent. If provided authentication token will not be regenerated. Must be base64 encoded.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps agent.\n"},"proxies":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsAgentOperatorYamlProxy:getGitopsAgentOperatorYamlProxy"},"description":"Proxy settings for the GitOps agent.\n"},"skipCrds":{"type":"boolean","description":"Skip CRDs for the GitOps agent.\n"}},"type":"object","required":["identifier","namespace"]},"outputs":{"description":"A collection of values returned by getGitopsAgentOperatorYaml.\n","properties":{"caData":{"description":"CA data of the GitOps agent, base64 encoded content of ca chain.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the GitOps agent.\n","type":"string"},"namespace":{"description":"The kubernetes namespace where the agent is installed.\n","type":"string"},"orgId":{"description":"Organization identifier of the GitOps agent.\n","type":"string"},"privateKey":{"description":"Private key for the GitOps agent. If provided authentication token will not be regenerated. Must be base64 encoded.\n","type":"string"},"projectId":{"description":"Project identifier of the GitOps agent.\n","type":"string"},"proxies":{"description":"Proxy settings for the GitOps agent.\n","items":{"$ref":"#/types/harness:platform/getGitopsAgentOperatorYamlProxy:getGitopsAgentOperatorYamlProxy"},"type":"array"},"skipCrds":{"description":"Skip CRDs for the GitOps agent.\n","type":"boolean"},"yaml":{"description":"The operator manifest YAML of the GitOps agent.\n","type":"string"}},"required":["identifier","namespace","yaml","id"],"type":"object"}},"harness:platform/getGitopsAppProject:getGitopsAppProject":{"description":"## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGitopsAppProject({\n    agentId: \"agent_id\",\n    queryName: \"query_name\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_gitops_app_project(agent_id=\"agent_id\",\n    query_name=\"query_name\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGitopsAppProject.Invoke(new()\n    {\n        AgentId = \"agent_id\",\n        QueryName = \"query_name\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupGitopsAppProject(ctx, \u0026platform.LookupGitopsAppProjectArgs{\n\t\t\tAgentId:   \"agent_id\",\n\t\t\tQueryName: pulumi.StringRef(\"query_name\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGitopsAppProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGitopsAppProject(GetGitopsAppProjectArgs.builder()\n            .agentId(\"agent_id\")\n            .queryName(\"query_name\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGitopsAppProject\n      arguments:\n        agentId: agent_id\n        queryName: query_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitopsAppProject.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps Agent where argo project resides.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the agent where argo project resides(include scope prefix)\n"},"orgId":{"type":"string","description":"Org identifier of the GitOps Agent where argo project resides.\n"},"projectId":{"type":"string","description":"Project identifier of the Gitops Agent where argo project resides.\n"},"queryName":{"type":"string","description":"Identifier for the GitOps Argo project.\n"}},"type":"object","required":["agentId"]},"outputs":{"description":"A collection of values returned by getGitopsAppProject.\n","properties":{"accountId":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","description":"Account identifier of the GitOps Agent where argo project resides.\n","type":"string"},"agentId":{"description":"Agent identifier of the agent where argo project resides(include scope prefix)\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"orgId":{"description":"Org identifier of the GitOps Agent where argo project resides.\n","type":"string"},"projectId":{"description":"Project identifier of the Gitops Agent where argo project resides.\n","type":"string"},"queryName":{"description":"Identifier for the GitOps Argo project.\n","type":"string"}},"required":["accountId","agentId","queryName","id"],"type":"object"}},"harness:platform/getGitopsAppProjectMapping:getGitopsAppProjectMapping":{"description":"Resource for managing the Harness GitOps Application Project Mappings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGitopsAppProjectMapping\n      arguments:\n        accountId: account_id\n        orgId: organization_id\n        projectId: project_id\n        agentId: agent_id\n        argoProjName: argo_proj_name\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitopsAppProjectMapping.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps agent's Application Project.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier for which the ArgoCD and Harness project mapping is to be created.\n"},"argoProjectName":{"type":"string","description":"ArgoCD Project name which is to be mapped to the Harness project.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps agent's Application Project.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps agent's Application Project.\n"}},"type":"object","required":["agentId","argoProjectName","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getGitopsAppProjectMapping.\n","properties":{"accountId":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","description":"Account identifier of the GitOps agent's Application Project.\n","type":"string"},"agentId":{"description":"Agent identifier for which the ArgoCD and Harness project mapping is to be created.\n","type":"string"},"argoProjectName":{"description":"ArgoCD Project name which is to be mapped to the Harness project.\n","type":"string"},"autoCreateServiceEnv":{"description":"Enable automated creation of service, environment and cluster-env link. Defaults to false.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the GitOps Application Project.\n","type":"string"},"orgId":{"description":"Organization identifier of the GitOps agent's Application Project.\n","type":"string"},"projectId":{"description":"Project identifier of the GitOps agent's Application Project.\n","type":"string"}},"required":["accountId","agentId","argoProjectName","autoCreateServiceEnv","identifier","orgId","projectId","id"],"type":"object"}},"harness:platform/getGitopsApplications:getGitopsApplications":{"description":"Datasource for fetching a Harness GitOps Application.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGitopsApplications\n      arguments:\n        identifier: identifier\n        accountId: account_id\n        projectId: project_id\n        orgId: org_id\n        agentId: agent_id\n        repoId: repo_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitopsApplications.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps application.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps application.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps application.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"name":{"type":"string","description":"Name of the GitOps application.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps application.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps application.\n"}},"type":"object","required":["agentId","name","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getGitopsApplications.\n","properties":{"accountId":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","description":"Account identifier of the GitOps application.\n","type":"string"},"agentId":{"description":"Agent identifier of the GitOps application.\n","type":"string"},"applications":{"description":"Definition of the GitOps application resource.\n","items":{"$ref":"#/types/harness:platform/getGitopsApplicationsApplication:getGitopsApplicationsApplication"},"type":"array"},"clusterId":{"description":"Cluster identifier of the GitOps application.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","description":"Identifier of the GitOps application.\n","type":"string"},"kind":{"description":"Kind of the GitOps application.\n","type":"string"},"name":{"description":"Name of the GitOps application.\n","type":"string"},"optionsRemoveExistingFinalizers":{"description":"Options to remove existing finalizers to delete the GitOps application.\n","type":"boolean"},"orgId":{"description":"Organization identifier of the GitOps application.\n","type":"string"},"project":{"description":"The ArgoCD project name corresponding to this GitOps application. An empty string means that the GitOps application belongs to the default project created by Harness.\n","type":"string"},"projectId":{"description":"Project identifier of the GitOps application.\n","type":"string"},"repoId":{"description":"Repository identifier of the GitOps application.\n","type":"string"},"repoIds":{"description":"List of repository identifiers of the GitOps for Multi-Source application. Not required if skipRepoValidation is set to true.\n","items":{"type":"string"},"type":"array"},"requestCascade":{"description":"Request cascade to delete the GitOps application.\n","type":"boolean"},"requestPropagationPolicy":{"description":"Request propagation policy to delete the GitOps application.\n","type":"string"},"skipRepoValidation":{"description":"Indicates if the GitOps application should skip validate repository definition exists.\n","type":"boolean"},"upsert":{"description":"Indicates if the GitOps application should be updated if existing and inserted if not.\n","type":"boolean"},"validate":{"description":"Indicates if the GitOps application yaml has to be validated.\n","type":"boolean"}},"required":["accountId","agentId","applications","clusterId","kind","name","optionsRemoveExistingFinalizers","orgId","project","projectId","repoId","repoIds","requestCascade","requestPropagationPolicy","skipRepoValidation","upsert","validate","id"],"type":"object"}},"harness:platform/getGitopsCluster:getGitopsCluster":{"description":"Data source for fetching a Harness GitOps Cluster.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGitopsCluster({\n    identifier: \"identifier\",\n    accountId: \"account_id\",\n    projectId: \"project_id\",\n    orgId: \"org_id\",\n    agentId: \"agent_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_gitops_cluster(identifier=\"identifier\",\n    account_id=\"account_id\",\n    project_id=\"project_id\",\n    org_id=\"org_id\",\n    agent_id=\"agent_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGitopsCluster.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        AccountId = \"account_id\",\n        ProjectId = \"project_id\",\n        OrgId = \"org_id\",\n        AgentId = \"agent_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.GetGitopsCluster(ctx, \u0026platform.GetGitopsClusterArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tAccountId:  pulumi.StringRef(\"account_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tAgentId:    \"agent_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGitopsClusterArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGitopsCluster(GetGitopsClusterArgs.builder()\n            .identifier(\"identifier\")\n            .accountId(\"account_id\")\n            .projectId(\"project_id\")\n            .orgId(\"org_id\")\n            .agentId(\"agent_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGitopsCluster\n      arguments:\n        identifier: identifier\n        accountId: account_id\n        projectId: project_id\n        orgId: org_id\n        agentId: agent_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitopsCluster.\n","properties":{"accountId":{"type":"string","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"}},"type":"object","required":["agentId","identifier"]},"outputs":{"description":"A collection of values returned by getGitopsCluster.\n","properties":{"accountId":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","type":"string"},"agentId":{"type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"type":"string"},"orgId":{"type":"string"},"projectId":{"type":"string"},"requests":{"items":{"$ref":"#/types/harness:platform/getGitopsClusterRequest:getGitopsClusterRequest"},"type":"array"}},"required":["accountId","agentId","identifier","requests","id"],"type":"object"}},"harness:platform/getGitopsFilters:getGitopsFilters":{"description":"Data source for retrieving a Harness GitOps Filter.\n","inputs":{"description":"A collection of arguments for invoking getGitopsFilters.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of filter.\n"}},"type":"object","required":["identifier","orgId","projectId","type"]},"outputs":{"description":"A collection of values returned by getGitopsFilters.\n","properties":{"filterProperties":{"description":"Properties of the filters entity defined in Harness as a JSON string. All values should be arrays of strings. Example: jsonencode({\"healthStatus\": [\"Healthy\", \"Degraded\"], \"syncStatus\": [\"Synced\"]})\n","type":"string"},"filterVisibility":{"description":"This indicates visibility of filters, by default it is Everyone.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the Filter.\n","type":"string"},"orgId":{"description":"Organization Identifier for the Entity.\n","type":"string"},"projectId":{"description":"Project Identifier for the Entity.\n","type":"string"},"type":{"description":"Type of filter.\n","type":"string"}},"required":["filterProperties","filterVisibility","identifier","name","orgId","projectId","type","id"],"type":"object"}},"harness:platform/getGitopsGnupg:getGitopsGnupg":{"description":"Data source for fetching a Harness GitOps GPG public key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGitopsGnupg({\n    accountId: \"account_id\",\n    agentId: \"agent_id\",\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_gitops_gnupg(account_id=\"account_id\",\n    agent_id=\"agent_id\",\n    identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGitopsGnupg.Invoke(new()\n    {\n        AccountId = \"account_id\",\n        AgentId = \"agent_id\",\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.GetGitopsGnupg(ctx, \u0026platform.GetGitopsGnupgArgs{\n\t\t\tAccountId:  pulumi.StringRef(\"account_id\"),\n\t\t\tAgentId:    \"agent_id\",\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGitopsGnupgArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGitopsGnupg(GetGitopsGnupgArgs.builder()\n            .accountId(\"account_id\")\n            .agentId(\"agent_id\")\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGitopsGnupg\n      arguments:\n        accountId: account_id\n        agentId: agent_id\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitopsGnupg.\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the GnuPG Key.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier for the GnuPG Key.\n"},"identifier":{"type":"string","description":"Identifier for the GnuPG Key.\n"},"orgId":{"type":"string","description":"Organization Identifier for the GnuPG Key.\n"},"projectId":{"type":"string","description":"Project Identifier for the GnuPG Key.\n"},"requests":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsGnupgRequest:getGitopsGnupgRequest"},"description":"GnuPGPublicKey is a representation of a GnuPG public key\n"}},"type":"object","required":["agentId","identifier"]},"outputs":{"description":"A collection of values returned by getGitopsGnupg.\n","properties":{"accountId":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","description":"Account Identifier for the GnuPG Key.\n","type":"string"},"agentId":{"description":"Agent identifier for the GnuPG Key.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier for the GnuPG Key.\n","type":"string"},"orgId":{"description":"Organization Identifier for the GnuPG Key.\n","type":"string"},"projectId":{"description":"Project Identifier for the GnuPG Key.\n","type":"string"},"requests":{"description":"GnuPGPublicKey is a representation of a GnuPG public key\n","items":{"$ref":"#/types/harness:platform/getGitopsGnupgRequest:getGitopsGnupgRequest"},"type":"array"}},"required":["accountId","agentId","identifier","requests","id"],"type":"object"}},"harness:platform/getGitopsRepoCert:getGitopsRepoCert":{"description":"Data source for retrieving a GitOps Repository Certificate. It fetches all the certificates that are added to the provided agent.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getGitopsRepoCert\n      arguments:\n        identifier: identifier\n        accountId: account_id\n        projectId: project_id\n        orgId: org_id\n        agentId: agent_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitopsRepoCert.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps repository certificate.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps repository certificate.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps repository certificate.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps repository certificate.\n"}},"type":"object","required":["agentId"]},"outputs":{"description":"A collection of values returned by getGitopsRepoCert.\n","properties":{"accountId":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","description":"Account identifier of the GitOps repository certificate.\n","type":"string"},"agentId":{"description":"Agent identifier of the GitOps repository certificate.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"orgId":{"description":"Organization identifier of the GitOps repository certificate.\n","type":"string"},"projectId":{"description":"Project identifier of the GitOps repository certificate.\n","type":"string"}},"required":["accountId","agentId","id"],"type":"object"}},"harness:platform/getGitopsRepoCred:getGitopsRepoCred":{"description":"Data source for fetching a GitOps Repository Credentials.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getGitopsRepoCred({\n    identifier: \"identifier\",\n    accountId: \"account_id\",\n    projectId: \"project_id\",\n    orgId: \"org_id\",\n    agentId: \"agent_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_gitops_repo_cred(identifier=\"identifier\",\n    account_id=\"account_id\",\n    project_id=\"project_id\",\n    org_id=\"org_id\",\n    agent_id=\"agent_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetGitopsRepoCred.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        AccountId = \"account_id\",\n        ProjectId = \"project_id\",\n        OrgId = \"org_id\",\n        AgentId = \"agent_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.GetGitopsRepoCred(ctx, \u0026platform.GetGitopsRepoCredArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tAccountId:  pulumi.StringRef(\"account_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tAgentId:    \"agent_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGitopsRepoCredArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getGitopsRepoCred(GetGitopsRepoCredArgs.builder()\n            .identifier(\"identifier\")\n            .accountId(\"account_id\")\n            .projectId(\"project_id\")\n            .orgId(\"org_id\")\n            .agentId(\"agent_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getGitopsRepoCred\n      arguments:\n        identifier: identifier\n        accountId: account_id\n        projectId: project_id\n        orgId: org_id\n        agentId: agent_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitopsRepoCred.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the Repository Credentials.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the Repository Credentials.\n"},"creds":{"type":"array","items":{"$ref":"#/types/harness:platform/getGitopsRepoCredCred:getGitopsRepoCredCred"},"description":"credential details.\n"},"identifier":{"type":"string","description":"Identifier of the Repository Credentials.\n"},"orgId":{"type":"string","description":"Organization identifier of the Repository Credentials.\n"},"projectId":{"type":"string","description":"Project identifier of the Repository Credentials.\n"}},"type":"object","required":["agentId","identifier"]},"outputs":{"description":"A collection of values returned by getGitopsRepoCred.\n","properties":{"accountId":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","description":"Account identifier of the Repository Credentials.\n","type":"string"},"agentId":{"description":"Agent identifier of the Repository Credentials.\n","type":"string"},"creds":{"description":"credential details.\n","items":{"$ref":"#/types/harness:platform/getGitopsRepoCredCred:getGitopsRepoCredCred"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the Repository Credentials.\n","type":"string"},"orgId":{"description":"Organization identifier of the Repository Credentials.\n","type":"string"},"projectId":{"description":"Project identifier of the Repository Credentials.\n","type":"string"}},"required":["accountId","agentId","creds","identifier","id"],"type":"object"}},"harness:platform/getGitopsRepository:getGitopsRepository":{"description":"Data source for fetching a Harness GitOps Repository.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getGitopsRepository({\n    identifier: \"identifier\",\n    accountId: \"account_id\",\n    projectId: \"project_id\",\n    orgId: \"org_id\",\n    agentId: \"agent_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_gitops_repository(identifier=\"identifier\",\n    account_id=\"account_id\",\n    project_id=\"project_id\",\n    org_id=\"org_id\",\n    agent_id=\"agent_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetGitopsRepository.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        AccountId = \"account_id\",\n        ProjectId = \"project_id\",\n        OrgId = \"org_id\",\n        AgentId = \"agent_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.GetGitopsRepository(ctx, \u0026platform.GetGitopsRepositoryArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tAccountId:  pulumi.StringRef(\"account_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tAgentId:    \"agent_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetGitopsRepositoryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getGitopsRepository(GetGitopsRepositoryArgs.builder()\n            .identifier(\"identifier\")\n            .accountId(\"account_id\")\n            .projectId(\"project_id\")\n            .orgId(\"org_id\")\n            .agentId(\"agent_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getGitopsRepository\n      arguments:\n        identifier: identifier\n        accountId: account_id\n        projectId: project_id\n        orgId: org_id\n        agentId: agent_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getGitopsRepository.\n","properties":{"accountId":{"type":"string","description":"Account identifier of the GitOps repository.\n","deprecationMessage":"This field is deprecated and will be removed in a future release."},"agentId":{"type":"string","description":"Agent identifier of the GitOps repository.\n"},"identifier":{"type":"string","description":"Identifier of the GitOps repository.\n"},"orgId":{"type":"string","description":"Organization identifier of the GitOps repository.\n"},"projectId":{"type":"string","description":"Project identifier of the GitOps repository.\n"}},"type":"object","required":["agentId","identifier"]},"outputs":{"description":"A collection of values returned by getGitopsRepository.\n","properties":{"accountId":{"deprecationMessage":"This field is deprecated and will be removed in a future release.","description":"Account identifier of the GitOps repository.\n","type":"string"},"agentId":{"description":"Agent identifier of the GitOps repository.\n","type":"string"},"enableOci":{"description":"Indicates if helm-oci support must be enabled for this repo.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the GitOps repository.\n","type":"string"},"orgId":{"description":"Organization identifier of the GitOps repository.\n","type":"string"},"projectId":{"description":"Project identifier of the GitOps repository.\n","type":"string"},"repos":{"description":"Repo details holding application configurations.\n","items":{"$ref":"#/types/harness:platform/getGitopsRepositoryRepo:getGitopsRepositoryRepo"},"type":"array"}},"required":["accountId","agentId","enableOci","identifier","repos","id"],"type":"object"}},"harness:platform/getGitxWebhook:getGitxWebhook":{"description":"Data source for retrieving a Harness GitX Webhook.\n\n","inputs":{"description":"A collection of arguments for invoking getGitxWebhook.\n","properties":{"description":{"type":"string","description":"Description of the resource.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"}},"type":"object","required":["identifier","name"]},"outputs":{"description":"A collection of values returned by getGitxWebhook.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["identifier","name","id"],"type":"object"}},"harness:platform/getHarRegistry:getHarRegistry":{"description":"Resource for creating and managing Harness Registries.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getHarRegistry({\n    identifier: \"test_registry\",\n    spaceRef: \"accountId/orgId/projectId\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_har_registry(identifier=\"test_registry\",\n    space_ref=\"accountId/orgId/projectId\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetHarRegistry.Invoke(new()\n    {\n        Identifier = \"test_registry\",\n        SpaceRef = \"accountId/orgId/projectId\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupHarRegistry(ctx, \u0026platform.LookupHarRegistryArgs{\n\t\t\tIdentifier: \"test_registry\",\n\t\t\tSpaceRef:   \"accountId/orgId/projectId\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetHarRegistryArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getHarRegistry(GetHarRegistryArgs.builder()\n            .identifier(\"test_registry\")\n            .spaceRef(\"accountId/orgId/projectId\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getHarRegistry\n      arguments:\n        identifier: test_registry\n        spaceRef: accountId/orgId/projectId\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getHarRegistry.\n","properties":{"allowedPatterns":{"type":"array","items":{"type":"string"},"description":"Allowed artifact patterns\n"},"blockedPatterns":{"type":"array","items":{"type":"string"},"description":"Blocked artifact patterns\n"},"configs":{"type":"array","items":{"$ref":"#/types/harness:platform/getHarRegistryConfig:getHarRegistryConfig"},"description":"Configuration for the registry\n"},"description":{"type":"string","description":"Description of the registry\n"},"identifier":{"type":"string","description":"Unique identifier of the registry\n","willReplaceOnChanges":true},"packageType":{"type":"string","description":"Type of package (DOCKER, HELM, MAVEN, etc.)\n"},"parentRef":{"type":"string","description":"Parent reference for the registry\n"},"spaceRef":{"type":"string","description":"Space reference for the registry\n"}},"type":"object","required":["identifier","parentRef","spaceRef"]},"outputs":{"description":"A collection of values returned by getHarRegistry.\n","properties":{"allowedPatterns":{"description":"Allowed artifact patterns\n","items":{"type":"string"},"type":"array"},"blockedPatterns":{"description":"Blocked artifact patterns\n","items":{"type":"string"},"type":"array"},"configs":{"description":"Configuration for the registry\n","items":{"$ref":"#/types/harness:platform/getHarRegistryConfig:getHarRegistryConfig"},"type":"array"},"createdAt":{"description":"Creation timestamp\n","type":"string"},"description":{"description":"Description of the registry\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the registry\n","type":"string"},"packageType":{"description":"Type of package (DOCKER, HELM, MAVEN, etc.)\n","type":"string"},"parentRef":{"description":"Parent reference for the registry\n","type":"string"},"spaceRef":{"description":"Space reference for the registry\n","type":"string"},"url":{"description":"URL of the registry\n","type":"string"}},"required":["createdAt","identifier","parentRef","spaceRef","url","id"],"type":"object"}},"harness:platform/getHelmConnector:getHelmConnector":{"description":"Datasource for looking up a HTTP Helm connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getHelmConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_helm_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetHelmConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupHelmConnector(ctx, \u0026platform.LookupHelmConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetHelmConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getHelmConnector(GetHelmConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getHelmConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getHelmConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getHelmConnector.\n","properties":{"credentials":{"description":"Credentials to use for authentication.\n","items":{"$ref":"#/types/harness:platform/getHelmConnectorCredential:getHelmConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the helm server.\n","type":"string"}},"required":["credentials","delegateSelectors","description","identifier","tags","url","id"],"type":"object"}},"harness:platform/getIacmDefaultPipeline:getIacmDefaultPipeline":{"description":"Data source for retrieving IACM default pipelines.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getIacmDefaultPipeline({\n    orgId: test.id,\n    projectId: testHarnessPlatformProject.id,\n    provisionerType: \"terraform\",\n    operation: \"plan\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_iacm_default_pipeline(org_id=test[\"id\"],\n    project_id=test_harness_platform_project[\"id\"],\n    provisioner_type=\"terraform\",\n    operation=\"plan\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetIacmDefaultPipeline.Invoke(new()\n    {\n        OrgId = test.Id,\n        ProjectId = testHarnessPlatformProject.Id,\n        ProvisionerType = \"terraform\",\n        Operation = \"plan\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupIacmDefaultPipeline(ctx, \u0026platform.LookupIacmDefaultPipelineArgs{\n\t\t\tOrgId:           test.Id,\n\t\t\tProjectId:       testHarnessPlatformProject.Id,\n\t\t\tProvisionerType: \"terraform\",\n\t\t\tOperation:       \"plan\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetIacmDefaultPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getIacmDefaultPipeline(GetIacmDefaultPipelineArgs.builder()\n            .orgId(test.id())\n            .projectId(testHarnessPlatformProject.id())\n            .provisionerType(\"terraform\")\n            .operation(\"plan\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getIacmDefaultPipeline\n      arguments:\n        orgId: ${test.id}\n        projectId: ${testHarnessPlatformProject.id}\n        provisionerType: terraform\n        operation: plan\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getIacmDefaultPipeline.\n","properties":{"operation":{"type":"string","description":"The operation associated with this default.\n"},"orgId":{"type":"string","description":"Organization identifier of the organization the default pipelines resides in.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Project identifier of the project the default pipelines resides in.\n","willReplaceOnChanges":true},"provisionerType":{"type":"string","description":"The provisioner associated with this default.\n"}},"type":"object","required":["operation","orgId","projectId","provisionerType"]},"outputs":{"description":"A collection of values returned by getIacmDefaultPipeline.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"operation":{"description":"The operation associated with this default.\n","type":"string"},"orgId":{"description":"Organization identifier of the organization the default pipelines resides in.\n","type":"string"},"pipeline":{"description":"The pipeline associated with this default.\n","type":"string"},"projectId":{"description":"Project identifier of the project the default pipelines resides in.\n","type":"string"},"provisionerType":{"description":"The provisioner associated with this default.\n","type":"string"}},"required":["operation","orgId","pipeline","projectId","provisionerType","id"],"type":"object"}},"harness:platform/getIdpCatalogEntity:getIdpCatalogEntity":{"description":"Data source for retrieving Harness catalog entities.\n","inputs":{"description":"A collection of arguments for invoking getIdpCatalogEntity.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"kind":{"type":"string","description":"Kind of the catalog entity\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier","kind"]},"outputs":{"description":"A collection of values returned by getIdpCatalogEntity.\n","properties":{"gitDetails":{"description":"Contains Git Information for importing entities from Git\n","items":{"$ref":"#/types/harness:platform/getIdpCatalogEntityGitDetail:getIdpCatalogEntityGitDetail"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"kind":{"description":"Kind of the catalog entity\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"yaml":{"description":"YAML definition of the catalog entity\n","type":"string"}},"required":["gitDetails","identifier","kind","yaml","id"],"type":"object"}},"harness:platform/getIdpEnvironment:getIdpEnvironment":{"description":"Data source for retrieving IDP environments.\n","inputs":{"description":"A collection of arguments for invoking getIdpEnvironment.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true}},"type":"object","required":["identifier","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getIdpEnvironment.\n","properties":{"basedOn":{"description":"Based on environment reference. This should be passed as \\n\\n.\\n\\n/\\n\\n\n","type":"string"},"blueprintIdentifier":{"description":"Blueprint to base the environment on\n","type":"string"},"blueprintVersion":{"description":"Version of the blueprint to base the environment on\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"inputs":{"description":"Additional inputs for controlling the environment. This should be passed as a map of key-value pairs in YAML format\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"overrides":{"description":"Overrides for environment blueprint inputs in YAML format\n","type":"string"},"owner":{"description":"Owner of the environment\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"targetState":{"description":"target state of the environment. If different from the current, a pipeline will be triggered to update the environment\n","type":"string"}},"required":["basedOn","blueprintIdentifier","blueprintVersion","identifier","inputs","orgId","overrides","owner","projectId","targetState","id"],"type":"object"}},"harness:platform/getIdpEnvironmentBlueprint:getIdpEnvironmentBlueprint":{"description":"Data source for retrieving Harness environment blueprints.\n","inputs":{"description":"A collection of arguments for invoking getIdpEnvironmentBlueprint.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"version":{"type":"string","description":"Version of the environment blueprint\n","willReplaceOnChanges":true}},"type":"object","required":["identifier","version"]},"outputs":{"description":"A collection of values returned by getIdpEnvironmentBlueprint.\n","properties":{"deprecated":{"description":"Whether the catalog entity is deprecated\n","type":"boolean"},"description":{"description":"Description of the catalog entity\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"stable":{"description":"Whether the catalog entity is stable\n","type":"boolean"},"version":{"description":"Version of the environment blueprint\n","type":"string"},"yaml":{"description":"YAML definition of the catalog entity\n","type":"string"}},"required":["deprecated","description","identifier","stable","version","yaml","id"],"type":"object"}},"harness:platform/getInfraModule:getInfraModule":{"description":"Data source for retrieving modules from the module registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getInfraModule\n      arguments:\n        identifier: identifier\n        name: name\n        system: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInfraModule.\n","properties":{"account":{"type":"string","description":"Account that owns the module\n"},"created":{"type":"integer","description":"Timestamp when the module was created\n"},"description":{"type":"string","description":"Description of the module\n"},"gitTagStyle":{"type":"string","description":"Git Tag Style\n"},"id":{"type":"string","description":"Identifier of the module\n"},"moduleError":{"type":"string","description":"Error while retrieving the module\n"},"name":{"type":"string","description":"Name of the module\n"},"onboardingPipeline":{"type":"string","description":"Onboarding Pipeline identifier\n"},"onboardingPipelineOrg":{"type":"string","description":"Onboarding Pipeline organization\n"},"onboardingPipelineProject":{"type":"string","description":"Onboarding Pipeline project\n"},"onboardingPipelineSync":{"type":"boolean","description":"Sync the project automatically\n"},"org":{"type":"string"},"project":{"type":"string"},"repository":{"type":"string","description":"For account connectors, the repository where the module is stored\n"},"repositoryBranch":{"type":"string","description":"Repository Branch in which the module should be accessed\n"},"repositoryCommit":{"type":"string","description":"Repository Commit in which the module should be accessed\n"},"repositoryConnector":{"type":"string","description":"Repository Connector is the reference to the connector for the repository\n"},"repositoryPath":{"type":"string","description":"Repository Path is the path in which the module resides\n"},"repositoryUrl":{"type":"string","description":"URL where the module is stored\n"},"storageType":{"type":"string","description":"How to store the artifact\n"},"synced":{"type":"integer","description":"Timestamp when the module was last synced\n"},"system":{"type":"string","description":"Provider of the module\n"},"tags":{"type":"string","description":"Tags associated with the module\n"},"testingEnabled":{"type":"boolean","description":"Whether testing is enabled for the module\n"},"testingMetadata":{"$ref":"#/types/harness:platform/getInfraModuleTestingMetadata:getInfraModuleTestingMetadata","description":"Testing metadata for the module\n"},"updated":{"type":"integer","description":"Timestamp when the module was last modified\n"},"versions":{"type":"array","items":{"type":"string"},"description":"Versions of the module\n"}},"type":"object","required":["account","id","name","system"]},"outputs":{"description":"A collection of values returned by getInfraModule.\n","properties":{"account":{"description":"Account that owns the module\n","type":"string"},"connectorOrg":{"description":"Repository connector orgoanization\n","type":"string"},"connectorProject":{"description":"Repository connector project\n","type":"string"},"created":{"description":"Timestamp when the module was created\n","type":"integer"},"description":{"description":"Description of the module\n","type":"string"},"gitTagStyle":{"description":"Git Tag Style\n","type":"string"},"id":{"description":"Identifier of the module\n","type":"string"},"moduleError":{"description":"Error while retrieving the module\n","type":"string"},"name":{"description":"Name of the module\n","type":"string"},"onboardingPipeline":{"description":"Onboarding Pipeline identifier\n","type":"string"},"onboardingPipelineOrg":{"description":"Onboarding Pipeline organization\n","type":"string"},"onboardingPipelineProject":{"description":"Onboarding Pipeline project\n","type":"string"},"onboardingPipelineSync":{"description":"Sync the project automatically\n","type":"boolean"},"org":{"type":"string"},"project":{"type":"string"},"repository":{"description":"For account connectors, the repository where the module is stored\n","type":"string"},"repositoryBranch":{"description":"Repository Branch in which the module should be accessed\n","type":"string"},"repositoryCommit":{"description":"Repository Commit in which the module should be accessed\n","type":"string"},"repositoryConnector":{"description":"Repository Connector is the reference to the connector for the repository\n","type":"string"},"repositoryPath":{"description":"Repository Path is the path in which the module resides\n","type":"string"},"repositoryUrl":{"description":"URL where the module is stored\n","type":"string"},"storageType":{"description":"How to store the artifact\n","type":"string"},"synced":{"description":"Timestamp when the module was last synced\n","type":"integer"},"system":{"description":"Provider of the module\n","type":"string"},"tags":{"description":"Tags associated with the module\n","type":"string"},"testingEnabled":{"description":"Whether testing is enabled for the module\n","type":"boolean"},"testingMetadata":{"$ref":"#/types/harness:platform/getInfraModuleTestingMetadata:getInfraModuleTestingMetadata","description":"Testing metadata for the module\n"},"updated":{"description":"Timestamp when the module was last modified\n","type":"integer"},"versions":{"description":"Versions of the module\n","items":{"type":"string"},"type":"array"}},"required":["account","connectorOrg","connectorProject","created","description","gitTagStyle","id","moduleError","name","org","project","repository","repositoryBranch","repositoryCommit","repositoryConnector","repositoryPath","repositoryUrl","storageType","synced","system","tags","testingEnabled","testingMetadata","updated","versions"],"type":"object"}},"harness:platform/getInfraModuleTesting:getInfraModuleTesting":{"description":"Data source for retrieving modules testing metadata from the module registry.\n","inputs":{"description":"A collection of arguments for invoking getInfraModuleTesting.\n","properties":{"moduleId":{"type":"string","description":"Identifier of the module to enable testing for\n","willReplaceOnChanges":true},"org":{"type":"string","description":"Organization identifier\n"},"pipelines":{"type":"array","items":{"type":"string"},"description":"List of pipeline IDs to create webhooks for triggering test executions\n"},"project":{"type":"string","description":"Project identifier\n"},"providerConnector":{"type":"string","description":"Provider connector for testing purposes\n"},"provisionerType":{"type":"string","description":"Provisioner type for testing purposes (e.g., terraform, tofu)\n"},"provisionerVersion":{"type":"string","description":"Provisioner version for testing purposes\n"},"releasePipeline":{"type":"string","description":"Pipeline ID to create webhooks for releases\n"},"testingEnabled":{"type":"boolean","description":"Whether testing is enabled for the module\n"},"testingMetadata":{"$ref":"#/types/harness:platform/getInfraModuleTestingTestingMetadata:getInfraModuleTestingTestingMetadata","description":"Testing metadata for the module\n"},"updated":{"type":"integer","description":"Timestamp when the module was last modified\n"},"versions":{"type":"array","items":{"type":"string"},"description":"Versions of the module\n"}},"type":"object","required":["moduleId","org","pipelines","project","providerConnector","provisionerType","provisionerVersion"]},"outputs":{"description":"A collection of values returned by getInfraModuleTesting.\n","properties":{"account":{"description":"Account that owns the module\n","type":"string"},"created":{"description":"Timestamp when the module was created\n","type":"integer"},"description":{"description":"Description of the module\n","type":"string"},"gitTagStyle":{"description":"Git Tag Style\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"moduleError":{"description":"Error while retrieving the module\n","type":"string"},"moduleId":{"description":"Identifier of the module to enable testing for\n","type":"string"},"name":{"description":"Name of the module\n","type":"string"},"org":{"description":"Organization identifier\n","type":"string"},"pipelines":{"description":"List of pipeline IDs to create webhooks for triggering test executions\n","items":{"type":"string"},"type":"array"},"project":{"description":"Project identifier\n","type":"string"},"providerConnector":{"description":"Provider connector for testing purposes\n","type":"string"},"provisionerType":{"description":"Provisioner type for testing purposes (e.g., terraform, tofu)\n","type":"string"},"provisionerVersion":{"description":"Provisioner version for testing purposes\n","type":"string"},"releasePipeline":{"description":"Pipeline ID to create webhooks for releases\n","type":"string"},"repository":{"description":"For account connectors, the repository where the module is stored\n","type":"string"},"repositoryBranch":{"description":"Repository Branch in which the module should be accessed\n","type":"string"},"repositoryCommit":{"description":"Repository Commit in which the module should be accessed\n","type":"string"},"repositoryConnector":{"description":"Repository Connector is the reference to the connector for the repository\n","type":"string"},"repositoryPath":{"description":"Repository Path is the path in which the module resides\n","type":"string"},"repositoryUrl":{"description":"URL where the module is stored\n","type":"string"},"synced":{"description":"Timestamp when the module was last synced\n","type":"integer"},"system":{"description":"Provider of the module\n","type":"string"},"tags":{"description":"Tags associated with the module\n","type":"string"},"testingEnabled":{"description":"Whether testing is enabled for the module\n","type":"boolean"},"testingMetadata":{"$ref":"#/types/harness:platform/getInfraModuleTestingTestingMetadata:getInfraModuleTestingTestingMetadata","description":"Testing metadata for the module\n"},"updated":{"description":"Timestamp when the module was last modified\n","type":"integer"},"versions":{"description":"Versions of the module\n","items":{"type":"string"},"type":"array"}},"required":["account","created","description","gitTagStyle","moduleError","moduleId","name","org","pipelines","project","providerConnector","provisionerType","provisionerVersion","repository","repositoryBranch","repositoryCommit","repositoryConnector","repositoryPath","repositoryUrl","synced","system","tags","testingEnabled","testingMetadata","updated","versions","id"],"type":"object"}},"harness:platform/getInfraModules:getInfraModules":{"description":"Data source for retrieving a list of modules from the module registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getInfraModule\n      arguments:\n        identifier: identifier\n        name: name\n        system: system\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","outputs":{"description":"A collection of values returned by getInfraModules.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"modules":{"description":"List of modules\n","items":{"$ref":"#/types/harness:platform/getInfraModulesModule:getInfraModulesModule"},"type":"array"}},"required":["modules","id"],"type":"object"}},"harness:platform/getInfraProvider:getInfraProvider":{"description":"Data source for retrieving a Terraform/OpenTofu Provider from the IaCM Provider Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst aws = harness.platform.getInfraProvider({\n    id: \"123\",\n});\nexport const providerType = aws.then(aws =\u003e aws.type);\nexport const providerVersions = aws.then(aws =\u003e aws.versions);\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\naws = harness.platform.get_infra_provider(id=\"123\")\npulumi.export(\"providerType\", aws.type)\npulumi.export(\"providerVersions\", aws.versions)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var aws = Harness.Platform.GetInfraProvider.Invoke(new()\n    {\n        Id = \"123\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"providerType\"] = aws.Apply(getInfraProviderResult =\u003e getInfraProviderResult.Type),\n        [\"providerVersions\"] = aws.Apply(getInfraProviderResult =\u003e getInfraProviderResult.Versions),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\taws, err := platform.LookupInfraProvider(ctx, \u0026platform.LookupInfraProviderArgs{\n\t\t\tId: \"123\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"providerType\", aws.Type)\n\t\tctx.Export(\"providerVersions\", aws.Versions)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetInfraProviderArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var aws = PlatformFunctions.getInfraProvider(GetInfraProviderArgs.builder()\n            .id(\"123\")\n            .build());\n\n        ctx.export(\"providerType\", aws.type());\n        ctx.export(\"providerVersions\", aws.versions());\n    }\n}\n```\n```yaml\nvariables:\n  aws:\n    fn::invoke:\n      function: harness:platform:getInfraProvider\n      arguments:\n        id: '123'\noutputs:\n  providerType: ${aws.type}\n  providerVersions: ${aws.versions}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInfraProvider.\n","properties":{"id":{"type":"string","description":"Unique identifier of the provider.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getInfraProvider.\n","properties":{"account":{"description":"Account that owns the provider.\n","type":"string"},"created":{"description":"Timestamp when the provider was created.\n","type":"integer"},"description":{"description":"Description of the provider.\n","type":"string"},"id":{"description":"Unique identifier of the provider.\n","type":"string"},"type":{"description":"Provider type (e.g., aws, azurerm, google).\n","type":"string"},"updated":{"description":"Timestamp when the provider was last updated.\n","type":"integer"},"versions":{"description":"List of provider versions.\n","items":{"$ref":"#/types/harness:platform/getInfraProviderVersion:getInfraProviderVersion"},"type":"array"}},"required":["account","created","description","id","type","updated","versions"],"type":"object"}},"harness:platform/getInfraProviderSigningKey:getInfraProviderSigningKey":{"description":"Data source for retrieving a GPG Signing Key from the IaCM Provider Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getInfraProviderSigningKey({\n    id: \"signing_key_id\",\n});\nexport const keyId = example.then(example =\u003e example.keyId);\nexport const keyName = example.then(example =\u003e example.keyName);\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_infra_provider_signing_key(id=\"signing_key_id\")\npulumi.export(\"keyId\", example.key_id)\npulumi.export(\"keyName\", example.key_name)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetInfraProviderSigningKey.Invoke(new()\n    {\n        Id = \"signing_key_id\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"keyId\"] = example.Apply(getInfraProviderSigningKeyResult =\u003e getInfraProviderSigningKeyResult.KeyId),\n        [\"keyName\"] = example.Apply(getInfraProviderSigningKeyResult =\u003e getInfraProviderSigningKeyResult.KeyName),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\texample, err := platform.LookupInfraProviderSigningKey(ctx, \u0026platform.LookupInfraProviderSigningKeyArgs{\n\t\t\tId: \"signing_key_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"keyId\", example.KeyId)\n\t\tctx.Export(\"keyName\", example.KeyName)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetInfraProviderSigningKeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getInfraProviderSigningKey(GetInfraProviderSigningKeyArgs.builder()\n            .id(\"signing_key_id\")\n            .build());\n\n        ctx.export(\"keyId\", example.keyId());\n        ctx.export(\"keyName\", example.keyName());\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getInfraProviderSigningKey\n      arguments:\n        id: signing_key_id\noutputs:\n  keyId: ${example.keyId}\n  keyName: ${example.keyName}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInfraProviderSigningKey.\n","properties":{"id":{"type":"string","description":"Unique identifier of the signing key.\n"}},"type":"object","required":["id"]},"outputs":{"description":"A collection of values returned by getInfraProviderSigningKey.\n","properties":{"asciiArmor":{"description":"ASCII-armored GPG public key.\n","secret":true,"type":"string"},"createdAt":{"description":"Creation timestamp.\n","type":"string"},"id":{"description":"Unique identifier of the signing key.\n","type":"string"},"keyId":{"description":"GPG key ID.\n","type":"string"},"keyName":{"description":"GPG key name.\n","type":"string"},"updatedAt":{"description":"Last updated timestamp.\n","type":"string"},"user":{"description":"User who uploaded the key.\n","type":"string"}},"required":["asciiArmor","createdAt","id","keyId","keyName","updatedAt","user"],"type":"object"}},"harness:platform/getInfraProviderSigningKeys:getInfraProviderSigningKeys":{"description":"Data source for listing GPG Signing Keys from the IaCM Provider Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst all = harness.platform.getInfraProviderSigningKeys({});\nexport const allSigningKeys = all.then(all =\u003e all.signingKeys);\nconst hashicorpKey = all.then(all =\u003e .filter(key =\u003e key.keyId == \"51852D87348FFC4C\").map(key =\u003e (key)));\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nall = harness.platform.get_infra_provider_signing_keys()\npulumi.export(\"allSigningKeys\", all.signing_keys)\nhashicorp_key = [key for key in all.signing_keys if key.key_id == \"51852D87348FFC4C\"]\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var all = Harness.Platform.GetInfraProviderSigningKeys.Invoke();\n\n    var hashicorpKey = .Where(key =\u003e key.KeyId == \"51852D87348FFC4C\").Select(key =\u003e \n    {\n        return key;\n    }).ToList();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"allSigningKeys\"] = all.Apply(getInfraProviderSigningKeysResult =\u003e getInfraProviderSigningKeysResult.SigningKeys),\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","outputs":{"description":"A collection of values returned by getInfraProviderSigningKeys.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"signingKeys":{"description":"List of signing keys.\n","items":{"$ref":"#/types/harness:platform/getInfraProviderSigningKeysSigningKey:getInfraProviderSigningKeysSigningKey"},"type":"array"}},"required":["signingKeys","id"],"type":"object"}},"harness:platform/getInfraProviderVersion:getInfraProviderVersion":{"description":"Data source for retrieving a specific Terraform/OpenTofu Provider Version from the IaCM Provider Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst awsV5 = harness.platform.getInfraProviderVersion({\n    providerId: \"provider_id\",\n    version: \"5.0.0\",\n});\nexport const gpgKeyId = awsV5.then(awsV5 =\u003e awsV5.gpgKeyId);\nexport const protocols = awsV5.then(awsV5 =\u003e awsV5.protocols);\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\naws_v5 = harness.platform.get_infra_provider_version(provider_id=\"provider_id\",\n    version=\"5.0.0\")\npulumi.export(\"gpgKeyId\", aws_v5.gpg_key_id)\npulumi.export(\"protocols\", aws_v5.protocols)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var awsV5 = Harness.Platform.GetInfraProviderVersion.Invoke(new()\n    {\n        ProviderId = \"provider_id\",\n        Version = \"5.0.0\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"gpgKeyId\"] = awsV5.Apply(getInfraProviderVersionResult =\u003e getInfraProviderVersionResult.GpgKeyId),\n        [\"protocols\"] = awsV5.Apply(getInfraProviderVersionResult =\u003e getInfraProviderVersionResult.Protocols),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\tawsV5, err := platform.LookupInfraProviderVersion(ctx, \u0026platform.LookupInfraProviderVersionArgs{\n\t\t\tProviderId: \"provider_id\",\n\t\t\tVersion:    \"5.0.0\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"gpgKeyId\", awsV5.GpgKeyId)\n\t\tctx.Export(\"protocols\", awsV5.Protocols)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetInfraProviderVersionArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var awsV5 = PlatformFunctions.getInfraProviderVersion(GetInfraProviderVersionArgs.builder()\n            .providerId(\"provider_id\")\n            .version(\"5.0.0\")\n            .build());\n\n        ctx.export(\"gpgKeyId\", awsV5.gpgKeyId());\n        ctx.export(\"protocols\", awsV5.protocols());\n    }\n}\n```\n```yaml\nvariables:\n  awsV5:\n    fn::invoke:\n      function: harness:platform:getInfraProviderVersion\n      arguments:\n        providerId: provider_id\n        version: 5.0.0\noutputs:\n  gpgKeyId: ${awsV5.gpgKeyId}\n  protocols: ${awsV5.protocols}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInfraProviderVersion.\n","properties":{"providerId":{"type":"string","description":"The ID of the provider this version belongs to.\n"},"version":{"type":"string","description":"Version number (e.g., 1.0.0).\n"}},"type":"object","required":["providerId","version"]},"outputs":{"description":"A collection of values returned by getInfraProviderVersion.\n","properties":{"gpgKeyId":{"description":"GPG key ID for signing.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"protocols":{"description":"Supported Terraform protocol versions.\n","items":{"type":"string"},"type":"array"},"providerId":{"description":"The ID of the provider this version belongs to.\n","type":"string"},"version":{"description":"Version number (e.g., 1.0.0).\n","type":"string"}},"required":["gpgKeyId","protocols","providerId","version","id"],"type":"object"}},"harness:platform/getInfraProviderVersions:getInfraProviderVersions":{"description":"Data source for listing Terraform/OpenTofu Provider Versions from the IaCM Provider Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\nimport * as std from \"@pulumi/std\";\n\nconst awsVersions = harness.platform.getInfraProviderVersions({\n    account: \"your-account-id\",\n    type: \"aws\",\n});\nexport const allAwsVersions = awsVersions.then(awsVersions =\u003e awsVersions.versions);\nconst v6CompatibleVersions = Promise.all([awsVersions, std.contains({\n    input: v.protocols,\n    element: \"6.0\",\n})]).then(([awsVersions, invoke]) =\u003e .filter(v =\u003e invoke.result).map(v =\u003e (v)));\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\nimport pulumi_std as std\n\naws_versions = harness.platform.get_infra_provider_versions(account=\"your-account-id\",\n    type=\"aws\")\npulumi.export(\"allAwsVersions\", aws_versions.versions)\nv6_compatible_versions = [v for v in aws_versions.versions if std.contains(input=v.protocols,\n    element=\"6.0\").result]\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\nusing Std = Pulumi.Std;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var awsVersions = Harness.Platform.GetInfraProviderVersions.Invoke(new()\n    {\n        Account = \"your-account-id\",\n        Type = \"aws\",\n    });\n\n    var v6CompatibleVersions = Output.Tuple(awsVersions, Std.Contains.Invoke(new()\n    {\n        Input = v.Protocols,\n        Element = \"6.0\",\n    })).Apply(values =\u003e\n    {\n        var awsVersions = values.Item1;\n        var invoke = values.Item2;\n        return ;\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"allAwsVersions\"] = awsVersions.Apply(getInfraProviderVersionsResult =\u003e getInfraProviderVersionsResult.Versions),\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInfraProviderVersions.\n","properties":{"account":{"type":"string","description":"Account identifier.\n"},"type":{"type":"string","description":"Provider type (e.g., aws, azurerm, google).\n"}},"type":"object","required":["account","type"]},"outputs":{"description":"A collection of values returned by getInfraProviderVersions.\n","properties":{"account":{"description":"Account identifier.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"type":{"description":"Provider type (e.g., aws, azurerm, google).\n","type":"string"},"versions":{"description":"List of provider versions.\n","items":{"$ref":"#/types/harness:platform/getInfraProviderVersionsVersion:getInfraProviderVersionsVersion"},"type":"array"}},"required":["account","type","versions","id"],"type":"object"}},"harness:platform/getInfraProviders:getInfraProviders":{"description":"Data source for listing Terraform/OpenTofu Providers from the IaCM Provider Registry.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst all = harness.platform.getInfraProviders({});\nexport const providerCount = all.then(all =\u003e all.providers).length;\nexport const providerTypes = all.then(all =\u003e .map(p =\u003e (p.type)));\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nall = harness.platform.get_infra_providers()\npulumi.export(\"providerCount\", len(all.providers))\npulumi.export(\"providerTypes\", [p.type for p in all.providers])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var all = Harness.Platform.GetInfraProviders.Invoke();\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"providerCount\"] = all.Apply(getInfraProvidersResult =\u003e getInfraProvidersResult.Providers).Length,\n        [\"providerTypes\"] = .Select(p =\u003e \n        {\n            return p.Type;\n        }).ToList(),\n    };\n});\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","outputs":{"description":"A collection of values returned by getInfraProviders.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"providers":{"description":"List of providers.\n","items":{"$ref":"#/types/harness:platform/getInfraProvidersProvider:getInfraProvidersProvider"},"type":"array"}},"required":["providers","id"],"type":"object"}},"harness:platform/getInfraVariableSet:getInfraVariableSet":{"description":"Data source for retrieving Variable Sets.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getInfraVariableSet({\n    identifier: \"identifier\",\n});\nconst testorg = harness.platform.getInfraVariableSet({\n    identifier: \"identifier\",\n    orgId: \"someorg\",\n});\nconst testproj = harness.platform.getInfraVariableSet({\n    identifier: \"identifier\",\n    orgId: \"someorg\",\n    projectId: \"someproj\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_infra_variable_set(identifier=\"identifier\")\ntestorg = harness.platform.get_infra_variable_set(identifier=\"identifier\",\n    org_id=\"someorg\")\ntestproj = harness.platform.get_infra_variable_set(identifier=\"identifier\",\n    org_id=\"someorg\",\n    project_id=\"someproj\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetInfraVariableSet.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n    var testorg = Harness.Platform.GetInfraVariableSet.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"someorg\",\n    });\n\n    var testproj = Harness.Platform.GetInfraVariableSet.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"someorg\",\n        ProjectId = \"someproj\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupInfraVariableSet(ctx, \u0026platform.LookupInfraVariableSetArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.LookupInfraVariableSet(ctx, \u0026platform.LookupInfraVariableSetArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"someorg\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.LookupInfraVariableSet(ctx, \u0026platform.LookupInfraVariableSetArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"someorg\"),\n\t\t\tProjectId:  pulumi.StringRef(\"someproj\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetInfraVariableSetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getInfraVariableSet(GetInfraVariableSetArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n        final var testorg = PlatformFunctions.getInfraVariableSet(GetInfraVariableSetArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"someorg\")\n            .build());\n\n        final var testproj = PlatformFunctions.getInfraVariableSet(GetInfraVariableSetArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"someorg\")\n            .projectId(\"someproj\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getInfraVariableSet\n      arguments:\n        identifier: identifier\n  testorg:\n    fn::invoke:\n      function: harness:platform:getInfraVariableSet\n      arguments:\n        identifier: identifier\n        orgId: someorg\n  testproj:\n    fn::invoke:\n      function: harness:platform:getInfraVariableSet\n      arguments:\n        identifier: identifier\n        orgId: someorg\n        projectId: someproj\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInfraVariableSet.\n","properties":{"connectors":{"type":"array","items":{"$ref":"#/types/harness:platform/getInfraVariableSetConnector:getInfraVariableSetConnector"},"description":"Provider connectors configured on the Variable Set. Only one connector of a type is supported\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/getInfraVariableSetEnvironmentVariable:getInfraVariableSetEnvironmentVariable"},"description":"Environment variables configured on the Variable Set\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"terraformVariableFiles":{"type":"array","items":{"$ref":"#/types/harness:platform/getInfraVariableSetTerraformVariableFile:getInfraVariableSetTerraformVariableFile"},"description":"Terraform variables files configured on the Variable Set (see below for nested schema)\n"},"terraformVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/getInfraVariableSetTerraformVariable:getInfraVariableSetTerraformVariable"},"description":"Terraform variables configured on the Variable Set. Terraform variable keys must be unique within the Variable Set. (see below for nested schema)\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getInfraVariableSet.\n","properties":{"connectors":{"description":"Provider connectors configured on the Variable Set. Only one connector of a type is supported\n","items":{"$ref":"#/types/harness:platform/getInfraVariableSetConnector:getInfraVariableSetConnector"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"environmentVariables":{"description":"Environment variables configured on the Variable Set\n","items":{"$ref":"#/types/harness:platform/getInfraVariableSetEnvironmentVariable:getInfraVariableSetEnvironmentVariable"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"terraformVariableFiles":{"description":"Terraform variables files configured on the Variable Set (see below for nested schema)\n","items":{"$ref":"#/types/harness:platform/getInfraVariableSetTerraformVariableFile:getInfraVariableSetTerraformVariableFile"},"type":"array"},"terraformVariables":{"description":"Terraform variables configured on the Variable Set. Terraform variable keys must be unique within the Variable Set. (see below for nested schema)\n","items":{"$ref":"#/types/harness:platform/getInfraVariableSetTerraformVariable:getInfraVariableSetTerraformVariable"},"type":"array"}},"required":["connectors","description","environmentVariables","identifier","tags","terraformVariables","terraformVariableFiles","id"],"type":"object"}},"harness:platform/getInfrastructure:getInfrastructure":{"description":"Data source for retrieving a Harness Infrastructure.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getInfrastructure({\n    identifier: \"identifier\",\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    envId: \"env_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_infrastructure(identifier=\"identifier\",\n    name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    env_id=\"env_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetInfrastructure.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        EnvId = \"env_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupInfrastructure(ctx, \u0026platform.LookupInfrastructureArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tName:       pulumi.StringRef(\"name\"),\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t\tEnvId:      \"env_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetInfrastructureArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getInfrastructure(GetInfrastructureArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .envId(\"env_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getInfrastructure\n      arguments:\n        identifier: identifier\n        name: name\n        orgId: org_id\n        projectId: project_id\n        envId: env_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getInfrastructure.\n","properties":{"envId":{"type":"string","description":"environment identifier.\n"},"gitDetails":{"$ref":"#/types/harness:platform/getInfrastructureGitDetails:getInfrastructureGitDetails","description":"Contains parameters related to Git Experience for remote entities\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["envId","identifier"]},"outputs":{"description":"A collection of values returned by getInfrastructure.\n","properties":{"deploymentType":{"description":"Infrastructure deployment type. Valid values are Kubernetes, NativeHelm, Ssh, WinRm, ServerlessAwsLambda, AzureWebApp, Custom, ECS, GoogleManagedInstanceGroup.\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"envId":{"description":"environment identifier.\n","type":"string"},"gitDetails":{"$ref":"#/types/harness:platform/getInfrastructureGitDetails:getInfrastructureGitDetails","description":"Contains parameters related to Git Experience for remote entities\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"type":{"description":"Type of Infrastructure. Valid values are KubernetesDirect, KubernetesGcp, ServerlessAwsLambda, Pdc, KubernetesAzure, SshWinRmAzure, SshWinRmAws, AzureWebApp, ECS, GitOps, CustomDeployment, TAS, KubernetesRancher, AWS_SAM, GoogleManagedInstanceGroup.\n","type":"string"},"yaml":{"description":"Infrastructure YAML\n","type":"string"}},"required":["deploymentType","description","envId","gitDetails","identifier","tags","type","yaml","id"],"type":"object"}},"harness:platform/getInputSet:getInputSet":{"description":"Data source for retrieving a Harness input set.\n","inputs":{"description":"A collection of arguments for invoking getInputSet.\n","properties":{"gitDetails":{"$ref":"#/types/harness:platform/getInputSetGitDetails:getInputSetGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"pipelineId":{"type":"string","description":"Identifier of the pipeline\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true}},"type":"object","required":["orgId","pipelineId","projectId"]},"outputs":{"description":"A collection of values returned by getInputSet.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"gitDetails":{"$ref":"#/types/harness:platform/getInputSetGitDetails:getInputSetGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"pipelineId":{"description":"Identifier of the pipeline\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"yaml":{"description":"Input Set YAML\n","type":"string"}},"required":["description","orgId","pipelineId","projectId","tags","yaml","id"],"type":"object"}},"harness:platform/getJenkinsConnector:getJenkinsConnector":{"description":"Datasource for looking up a Jenkins connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getJenkinsConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_jenkins_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetJenkinsConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupJenkinsConnector(ctx, \u0026platform.LookupJenkinsConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetJenkinsConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getJenkinsConnector(GetJenkinsConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getJenkinsConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getJenkinsConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getJenkinsConnector.\n","properties":{"auths":{"description":"This entity contains the details for Jenkins Authentication.\n","items":{"$ref":"#/types/harness:platform/getJenkinsConnectorAuth:getJenkinsConnectorAuth"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"jenkinsUrl":{"description":"Jenkins Url.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["auths","delegateSelectors","description","identifier","jenkinsUrl","tags","id"],"type":"object"}},"harness:platform/getJiraConnector:getJiraConnector":{"description":"Datasource for looking up a Jira connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getJiraConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_jira_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetJiraConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupJiraConnector(ctx, \u0026platform.LookupJiraConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetJiraConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getJiraConnector(GetJiraConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getJiraConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getJiraConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getJiraConnector.\n","properties":{"auths":{"description":"The credentials to use for the jira authentication.\n","items":{"$ref":"#/types/harness:platform/getJiraConnectorAuth:getJiraConnectorAuth"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"passwordRef":{"description":"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}.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the Jira server.\n","type":"string"},"username":{"description":"Username to use for authentication.\n","type":"string"},"usernameRef":{"description":"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}.\n","type":"string"}},"required":["auths","delegateSelectors","description","identifier","passwordRef","tags","url","username","usernameRef","id"],"type":"object"}},"harness:platform/getKubernetesCloudCostConnector:getKubernetesCloudCostConnector":{"description":"Datasource for looking up a Kubernetes Cloud Cost connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getKubernetesCloudCostConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_kubernetes_cloud_cost_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetKubernetesCloudCostConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupKubernetesCloudCostConnector(ctx, \u0026platform.LookupKubernetesCloudCostConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetKubernetesCloudCostConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getKubernetesCloudCostConnector(GetKubernetesCloudCostConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getKubernetesCloudCostConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKubernetesCloudCostConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getKubernetesCloudCostConnector.\n","properties":{"connectorRef":{"description":"Reference of the Connector.\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"featuresEnableds":{"description":"Indicates which feature to enable among Billing, Optimization, and Visibility.\n","items":{"type":"string"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["connectorRef","description","featuresEnableds","identifier","tags","id"],"type":"object"}},"harness:platform/getKubernetesConnector:getKubernetesConnector":{"description":"Datasource for looking up a Kubernetes connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getKubernetesConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_kubernetes_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetKubernetesConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupKubernetesConnector(ctx, \u0026platform.LookupKubernetesConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetKubernetesConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getKubernetesConnector(GetKubernetesConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getKubernetesConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getKubernetesConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getKubernetesConnector.\n","properties":{"clientKeyCerts":{"description":"Client key and certificate config for the connector.\n","items":{"$ref":"#/types/harness:platform/getKubernetesConnectorClientKeyCert:getKubernetesConnectorClientKeyCert"},"type":"array"},"delegateSelectors":{"description":"Selectors to use for the delegate.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"inheritFromDelegates":{"description":"Credentials are inherited from the delegate.\n","items":{"$ref":"#/types/harness:platform/getKubernetesConnectorInheritFromDelegate:getKubernetesConnectorInheritFromDelegate"},"type":"array"},"name":{"description":"Name of the resource.\n","type":"string"},"openidConnects":{"description":"OpenID configuration for the connector.\n","items":{"$ref":"#/types/harness:platform/getKubernetesConnectorOpenidConnect:getKubernetesConnectorOpenidConnect"},"type":"array"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"serviceAccounts":{"description":"Service account for the connector.\n","items":{"$ref":"#/types/harness:platform/getKubernetesConnectorServiceAccount:getKubernetesConnectorServiceAccount"},"type":"array"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"usernamePasswords":{"description":"Username and password for the connector.\n","items":{"$ref":"#/types/harness:platform/getKubernetesConnectorUsernamePassword:getKubernetesConnectorUsernamePassword"},"type":"array"}},"required":["clientKeyCerts","delegateSelectors","description","identifier","inheritFromDelegates","openidConnects","serviceAccounts","tags","usernamePasswords","id"],"type":"object"}},"harness:platform/getManualFreeze:getManualFreeze":{"description":"DataSource for deployment freeze in harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getPipeline\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n        accountId: account_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getManualFreeze.\n","properties":{"accountId":{"type":"string","description":"Account Identifier of the freeze\n"},"identifier":{"type":"string","description":"Identifier of the freeze\n"},"orgId":{"type":"string","description":"Organization identifier of the freeze\n"},"projectId":{"type":"string","description":"Project identifier of the freeze\n"}},"type":"object","required":["accountId","identifier"]},"outputs":{"description":"A collection of values returned by getManualFreeze.\n","properties":{"accountId":{"description":"Account Identifier of the freeze\n","type":"string"},"currentOrUpcomingWindows":{"description":"Current or upcoming windows\n","items":{"$ref":"#/types/harness:platform/getManualFreezeCurrentOrUpcomingWindow:getManualFreezeCurrentOrUpcomingWindow"},"type":"array"},"description":{"description":"Description of the freeze\n","type":"string"},"freezeWindows":{"description":"Freeze windows in the freeze response\n","items":{"$ref":"#/types/harness:platform/getManualFreezeFreezeWindow:getManualFreezeFreezeWindow"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the freeze\n","type":"string"},"name":{"description":"Name of the freeze\n","type":"string"},"orgId":{"description":"Organization identifier of the freeze\n","type":"string"},"projectId":{"description":"Project identifier of the freeze\n","type":"string"},"scope":{"description":"Scope of the freeze\n","type":"string"},"status":{"description":"Status of the freeze\n","type":"string"},"tags":{"description":"Tags associated with the freeze\n","items":{"type":"string"},"type":"array"},"type":{"description":"Type of freeze\n","type":"string"},"yaml":{"description":"Yaml of the freeze\n","type":"string"}},"required":["accountId","currentOrUpcomingWindows","description","freezeWindows","identifier","name","scope","status","tags","type","yaml","id"],"type":"object"}},"harness:platform/getMonitoredService:getMonitoredService":{"description":"Data source for retrieving a monitored service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getMonitoredService({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_monitored_service(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetMonitoredService.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupMonitoredService(ctx, \u0026platform.LookupMonitoredServiceArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      \"org_id\",\n\t\t\tProjectId:  \"project_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetMonitoredServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getMonitoredService(GetMonitoredServiceArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getMonitoredService\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getMonitoredService.\n","properties":{"identifier":{"type":"string","description":"Identifier of the monitored service.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the monitored service is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the monitored service is configured.\n"}},"type":"object","required":["identifier","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getMonitoredService.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the monitored service.\n","type":"string"},"orgId":{"description":"Identifier of the organization in which the monitored service is configured.\n","type":"string"},"projectId":{"description":"Identifier of the project in which the monitored service is configured.\n","type":"string"}},"required":["identifier","orgId","projectId","id"],"type":"object"}},"harness:platform/getNexusConnector:getNexusConnector":{"description":"Datasource for looking up a Nexus connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getNexusConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_nexus_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetNexusConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupNexusConnector(ctx, \u0026platform.LookupNexusConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetNexusConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getNexusConnector(GetNexusConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getNexusConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNexusConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getNexusConnector.\n","properties":{"credentials":{"description":"Credentials to use for authentication.\n","items":{"$ref":"#/types/harness:platform/getNexusConnectorCredential:getNexusConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the Nexus server.\n","type":"string"},"version":{"description":"Version of the Nexus server. Valid values are 2.x, 3.x\n","type":"string"}},"required":["credentials","delegateSelectors","description","identifier","tags","url","version","id"],"type":"object"}},"harness:platform/getNotificationRule:getNotificationRule":{"description":"Data source for retrieving a Notification Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getNotificationRule({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_notification_rule(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetNotificationRule.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupNotificationRule(ctx, \u0026platform.LookupNotificationRuleArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      \"org_id\",\n\t\t\tProjectId:  \"project_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetNotificationRuleArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getNotificationRule(GetNotificationRuleArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getNotificationRule\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getNotificationRule.\n","properties":{"identifier":{"type":"string","description":"Identifier of the Notification Rule.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the Notification Rule is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the Notification Rule is configured.\n"}},"type":"object","required":["identifier","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getNotificationRule.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the Notification Rule.\n","type":"string"},"orgId":{"description":"Identifier of the organization in which the Notification Rule is configured.\n","type":"string"},"projectId":{"description":"Identifier of the project in which the Notification Rule is configured.\n","type":"string"}},"required":["identifier","orgId","projectId","id"],"type":"object"}},"harness:platform/getOciHelmConnector:getOciHelmConnector":{"description":"Datasource for looking up a OCI Helm connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getOciHelmConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_oci_helm_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetOciHelmConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupOciHelmConnector(ctx, \u0026platform.LookupOciHelmConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetOciHelmConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getOciHelmConnector(GetOciHelmConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getOciHelmConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOciHelmConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getOciHelmConnector.\n","properties":{"credentials":{"description":"Credentials to use for authentication.\n","items":{"$ref":"#/types/harness:platform/getOciHelmConnectorCredential:getOciHelmConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the helm server.\n","type":"string"}},"required":["credentials","delegateSelectors","description","identifier","tags","url","id"],"type":"object"}},"harness:platform/getOrganization:getOrganization":{"description":"Data source for retrieving a Harness organization\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst _this = harness.platform.getOrganization({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nthis = harness.platform.get_organization(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var @this = Harness.Platform.GetOrganization.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupOrganization(ctx, \u0026platform.LookupOrganizationArgs{\n\t\t\tIdentifier: pulumi.StringRef(\"identifier\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetOrganizationArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var this = PlatformFunctions.getOrganization(GetOrganizationArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  this:\n    fn::invoke:\n      function: harness:platform:getOrganization\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOrganization.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getOrganization.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["description","tags","id"],"type":"object"}},"harness:platform/getOverrides:getOverrides":{"description":"Data source for Harness Overrides V2.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getOverrides({\n    identifier: \"identifier\",\n    orgId: \"orgIdentifier\",\n    projectId: \"projectIdentifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_overrides(identifier=\"identifier\",\n    org_id=\"orgIdentifier\",\n    project_id=\"projectIdentifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetOverrides.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"orgIdentifier\",\n        ProjectId = \"projectIdentifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupOverrides(ctx, \u0026platform.LookupOverridesArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"orgIdentifier\"),\n\t\t\tProjectId:  pulumi.StringRef(\"projectIdentifier\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetOverridesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getOverrides(GetOverridesArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"orgIdentifier\")\n            .projectId(\"projectIdentifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getOverrides\n      arguments:\n        identifier: identifier\n        orgId: orgIdentifier\n        projectId: projectIdentifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getOverrides.\n","properties":{"gitDetails":{"$ref":"#/types/harness:platform/getOverridesGitDetails:getOverridesGitDetails","description":"Contains parameters related to Git Experience for remote overrides\n"},"identifier":{"type":"string","description":"The identifier of the override entity.\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getOverrides.\n","properties":{"clusterId":{"description":"The cluster ID to which the override entity is associated.\n","type":"string"},"envId":{"description":"The environment ID to which the override entity is associated.\n","type":"string"},"gitDetails":{"$ref":"#/types/harness:platform/getOverridesGitDetails:getOverridesGitDetails","description":"Contains parameters related to Git Experience for remote overrides\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"The identifier of the override entity.\n","type":"string"},"infraId":{"description":"The infrastructure ID to which the override entity is associated.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"serviceId":{"description":"The service ID to which the override entity is associated.\n","type":"string"},"type":{"description":"The type of the override entity.\n","type":"string"},"yaml":{"description":"The yaml of the override entity.\n","type":"string"}},"required":["clusterId","envId","gitDetails","identifier","infraId","serviceId","type","yaml","id"],"type":"object"}},"harness:platform/getPagerdutyConnector:getPagerdutyConnector":{"description":"Datasource for looking up a PagerDuty connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getPagerdutyConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_pagerduty_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetPagerdutyConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupPagerdutyConnector(ctx, \u0026platform.LookupPagerdutyConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetPagerdutyConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getPagerdutyConnector(GetPagerdutyConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getPagerdutyConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPagerdutyConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getPagerdutyConnector.\n","properties":{"apiTokenRef":{"description":"Reference to the Harness secret containing the 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}.\n","type":"string"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["apiTokenRef","delegateSelectors","description","identifier","tags","id"],"type":"object"}},"harness:platform/getPermissions:getPermissions":{"description":"Data source for retrieving permissions.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getPermissions({\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_permissions(org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetPermissions.Invoke(new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.GetPermissions(ctx, \u0026platform.GetPermissionsArgs{\n\t\t\tOrgId:     pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId: pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetPermissionsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getPermissions(GetPermissionsArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getPermissions\n      arguments:\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPermissions.\n","properties":{"orgId":{"type":"string","description":"Organization Identifier\n"},"projectId":{"type":"string","description":"Project Identifier\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPermissions.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"orgId":{"description":"Organization Identifier\n","type":"string"},"permissions":{"description":"Response of the api\n","items":{"$ref":"#/types/harness:platform/getPermissionsPermission:getPermissionsPermission"},"type":"array"},"projectId":{"description":"Project Identifier\n","type":"string"}},"required":["permissions","id"],"type":"object"}},"harness:platform/getPipeline:getPipeline":{"description":"Data source for retrieving a Harness pipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getPipeline({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_pipeline(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetPipeline.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupPipeline(ctx, \u0026platform.LookupPipelineArgs{\n\t\t\tIdentifier: pulumi.StringRef(\"identifier\"),\n\t\t\tOrgId:      \"org_id\",\n\t\t\tProjectId:  \"project_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetPipelineArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getPipeline(GetPipelineArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getPipeline\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPipeline.\n","properties":{"gitDetails":{"$ref":"#/types/harness:platform/getPipelineGitDetails:getPipelineGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true}},"type":"object","required":["orgId","projectId"]},"outputs":{"description":"A collection of values returned by getPipeline.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"gitDetails":{"$ref":"#/types/harness:platform/getPipelineGitDetails:getPipelineGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"templateApplied":{"description":"If true, returns Pipeline YAML with Templates applied on it.\n","type":"boolean"},"templateAppliedPipelineYaml":{"description":"Pipeline YAML after resolving Templates (returned as a String).\n","type":"string"},"yaml":{"description":"YAML of the pipeline.\n","type":"string"}},"required":["description","orgId","projectId","tags","templateApplied","templateAppliedPipelineYaml","yaml","id"],"type":"object"}},"harness:platform/getPipelineCentralNotificationRule:getPipelineCentralNotificationRule":{"description":"Data source for retrieving a Notification Rule.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getPipelineCentralNotificationRule\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPipelineCentralNotificationRule.\n","properties":{"customNotificationTemplateRef":{"$ref":"#/types/harness:platform/getPipelineCentralNotificationRuleCustomNotificationTemplateRef:getPipelineCentralNotificationRuleCustomNotificationTemplateRef"},"identifier":{"type":"string","description":"Identifier of the Notification Rule.\n"},"name":{"type":"string"},"notificationChannelRefs":{"type":"array","items":{"type":"string"}},"notificationConditions":{"type":"array","items":{"$ref":"#/types/harness:platform/getPipelineCentralNotificationRuleNotificationCondition:getPipelineCentralNotificationRuleNotificationCondition"}},"org":{"type":"string","description":"Identifier of the organization in which the Notification Rule is configured.\n"},"project":{"type":"string","description":"Identifier of the project in which the Notification Rule is configured.\n"},"status":{"type":"string"}},"type":"object","required":["identifier","name"]},"outputs":{"description":"A collection of values returned by getPipelineCentralNotificationRule.\n","properties":{"account":{"description":"Account identifier associated with this notification channel.\n","type":"string"},"created":{"description":"Timestamp when the notification rule was created.\n","type":"integer"},"customNotificationTemplateRef":{"$ref":"#/types/harness:platform/getPipelineCentralNotificationRuleCustomNotificationTemplateRef:getPipelineCentralNotificationRuleCustomNotificationTemplateRef"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the Notification Rule.\n","type":"string"},"lastModified":{"description":"Timestamp when the notification rule was last modified.\n","type":"integer"},"name":{"type":"string"},"notificationChannelRefs":{"items":{"type":"string"},"type":"array"},"notificationConditions":{"items":{"$ref":"#/types/harness:platform/getPipelineCentralNotificationRuleNotificationCondition:getPipelineCentralNotificationRuleNotificationCondition"},"type":"array"},"org":{"description":"Identifier of the organization in which the Notification Rule is configured.\n","type":"string"},"project":{"description":"Identifier of the project in which the Notification Rule is configured.\n","type":"string"},"status":{"type":"string"}},"required":["account","created","identifier","lastModified","name","id"],"type":"object"}},"harness:platform/getPipelineFilters:getPipelineFilters":{"description":"Data source for retrieving a Harness Pipeline Filter.\n","inputs":{"description":"A collection of arguments for invoking getPipelineFilters.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of filter. Currently supported types are {PipelineSetup, PipelineExecution, Deployment, Template, EnvironmentGroup, Environment}.\n"}},"type":"object","required":["identifier","type"]},"outputs":{"description":"A collection of values returned by getPipelineFilters.\n","properties":{"filterProperties":{"description":"Properties of the filter entity defined in Harness.\n","items":{"$ref":"#/types/harness:platform/getPipelineFiltersFilterProperty:getPipelineFiltersFilterProperty"},"type":"array"},"filterVisibility":{"description":"This indicates visibility of filter. By default, everyone can view this filter.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the Filter.\n","type":"string"},"orgId":{"description":"Organization Identifier for the Entity.\n","type":"string"},"projectId":{"description":"Project Identifier for the Entity.\n","type":"string"},"type":{"description":"Type of filter. Currently supported types are {PipelineSetup, PipelineExecution, Deployment, Template, EnvironmentGroup, Environment}.\n","type":"string"}},"required":["filterProperties","filterVisibility","identifier","name","type","id"],"type":"object"}},"harness:platform/getPipelineList:getPipelineList":{"description":"Data source for retieving the Harness pipleine List\n","inputs":{"description":"A collection of arguments for invoking getPipelineList.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"limit":{"type":"integer"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"page":{"type":"integer"},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true}},"type":"object","required":["orgId","projectId"]},"outputs":{"description":"A collection of values returned by getPipelineList.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"limit":{"type":"integer"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"page":{"type":"integer"},"pipelines":{"items":{"$ref":"#/types/harness:platform/getPipelineListPipeline:getPipelineListPipeline"},"type":"array"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["description","orgId","pipelines","projectId","tags","id"],"type":"object"}},"harness:platform/getPolicy:getPolicy":{"description":"Data source for retrieving a Harness policy.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getPolicy({\n    identifier: testHarnessPlatformPolicy.identifier,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_policy(identifier=test_harness_platform_policy[\"identifier\"])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetPolicy.Invoke(new()\n    {\n        Identifier = testHarnessPlatformPolicy.Identifier,\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupPolicy(ctx, \u0026platform.LookupPolicyArgs{\n\t\t\tIdentifier: pulumi.StringRef(testHarnessPlatformPolicy.Identifier),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetPolicyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getPolicy(GetPolicyArgs.builder()\n            .identifier(testHarnessPlatformPolicy.identifier())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getPolicy\n      arguments:\n        identifier: ${testHarnessPlatformPolicy.identifier}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicy.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"rego":{"type":"string","description":"Rego code for the policy.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getPolicy.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"rego":{"description":"Rego code for the policy.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["description","rego","tags","id"],"type":"object"}},"harness:platform/getPolicySet:getPolicySet":{"description":"Data source for retrieving a Harness policyset.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getPolicySet({\n    identifier: \"harness_platform_policyset.test.identifier\",\n    name: \"harness_platform_policyset.test.name\",\n    action: \"onrun\",\n    type: \"pipeline\",\n    enabled: true,\n    policyReferences: [{\n        identifier: \"always_run\",\n        severity: \"warning\",\n    }],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_policy_set(identifier=\"harness_platform_policyset.test.identifier\",\n    name=\"harness_platform_policyset.test.name\",\n    action=\"onrun\",\n    type=\"pipeline\",\n    enabled=True,\n    policy_references=[{\n        \"identifier\": \"always_run\",\n        \"severity\": \"warning\",\n    }])\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetPolicySet.Invoke(new()\n    {\n        Identifier = \"harness_platform_policyset.test.identifier\",\n        Name = \"harness_platform_policyset.test.name\",\n        Action = \"onrun\",\n        Type = \"pipeline\",\n        Enabled = true,\n        PolicyReferences = new[]\n        {\n            new Harness.Platform.Inputs.GetPolicySetPolicyReferenceInputArgs\n            {\n                Identifier = \"always_run\",\n                Severity = \"warning\",\n            },\n        },\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupPolicySet(ctx, \u0026platform.LookupPolicySetArgs{\n\t\t\tIdentifier: \"harness_platform_policyset.test.identifier\",\n\t\t\tName:       pulumi.StringRef(\"harness_platform_policyset.test.name\"),\n\t\t\tAction:     \"onrun\",\n\t\t\tType:       \"pipeline\",\n\t\t\tEnabled:    pulumi.BoolRef(true),\n\t\t\tPolicyReferences: []platform.GetPolicySetPolicyReference{\n\t\t\t\t{\n\t\t\t\t\tIdentifier: \"always_run\",\n\t\t\t\t\tSeverity:   \"warning\",\n\t\t\t\t},\n\t\t\t},\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetPolicySetArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getPolicySet(GetPolicySetArgs.builder()\n            .identifier(\"harness_platform_policyset.test.identifier\")\n            .name(\"harness_platform_policyset.test.name\")\n            .action(\"onrun\")\n            .type(\"pipeline\")\n            .enabled(true)\n            .policyReferences(GetPolicySetPolicyReferenceArgs.builder()\n                .identifier(\"always_run\")\n                .severity(\"warning\")\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getPolicySet\n      arguments:\n        identifier: harness_platform_policyset.test.identifier\n        name: harness_platform_policyset.test.name\n        action: onrun\n        type: pipeline\n        enabled: true\n        policyReferences:\n          - identifier: always_run\n            severity: warning\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPolicySet.\n","properties":{"action":{"type":"string","description":"Action code for the policyset.\n"},"enabled":{"type":"boolean","description":"Enabled for the policyset.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"policies":{"type":"array","items":{"$ref":"#/types/harness:platform/getPolicySetPolicy:getPolicySetPolicy"},"description":"List of policy identifiers / severity for the policyset. Deprecated: Use 'policy_references' instead.\n","deprecationMessage":"Use 'policy_references' instead. This field will be removed in a future version."},"policyReferences":{"type":"array","items":{"$ref":"#/types/harness:platform/getPolicySetPolicyReference:getPolicySetPolicyReference"},"description":"Set of policy identifiers / severity for the policyset. Order is not significant.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"type":{"type":"string","description":"Type of the policyset.\n"}},"type":"object","required":["action","identifier","type"]},"outputs":{"description":"A collection of values returned by getPolicySet.\n","properties":{"action":{"description":"Action code for the policyset.\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"enabled":{"description":"Enabled for the policyset.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"policies":{"deprecationMessage":"Use 'policy_references' instead. This field will be removed in a future version.","description":"List of policy identifiers / severity for the policyset. Deprecated: Use 'policy_references' instead.\n","items":{"$ref":"#/types/harness:platform/getPolicySetPolicy:getPolicySetPolicy"},"type":"array"},"policyReferences":{"description":"Set of policy identifiers / severity for the policyset. Order is not significant.\n","items":{"$ref":"#/types/harness:platform/getPolicySetPolicyReference:getPolicySetPolicyReference"},"type":"array"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"type":{"description":"Type of the policyset.\n","type":"string"}},"required":["action","description","identifier","policies","policyReferences","tags","type","id"],"type":"object"}},"harness:platform/getProject:getProject":{"description":"Data source for retrieving a Harness project.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst exampleById = harness.platform.getProject({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n});\nconst exampleByName = harness.platform.getProject({\n    name: \"name\",\n    orgId: \"org_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample_by_id = harness.platform.get_project(identifier=\"identifier\",\n    org_id=\"org_id\")\nexample_by_name = harness.platform.get_project(name=\"name\",\n    org_id=\"org_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleById = Harness.Platform.GetProject.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n    });\n\n    var exampleByName = Harness.Platform.GetProject.Invoke(new()\n    {\n        Name = \"name\",\n        OrgId = \"org_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupProject(ctx, \u0026platform.LookupProjectArgs{\n\t\t\tIdentifier: pulumi.StringRef(\"identifier\"),\n\t\t\tOrgId:      \"org_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.LookupProject(ctx, \u0026platform.LookupProjectArgs{\n\t\t\tName:  pulumi.StringRef(\"name\"),\n\t\t\tOrgId: \"org_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetProjectArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleById = PlatformFunctions.getProject(GetProjectArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .build());\n\n        final var exampleByName = PlatformFunctions.getProject(GetProjectArgs.builder()\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleById:\n    fn::invoke:\n      function: harness:platform:getProject\n      arguments:\n        identifier: identifier\n        orgId: org_id\n  exampleByName:\n    fn::invoke:\n      function: harness:platform:getProject\n      arguments:\n        name: name\n        orgId: org_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getProject.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true}},"type":"object","required":["orgId"]},"outputs":{"description":"A collection of values returned by getProject.\n","properties":{"color":{"description":"Color of the project.\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"modules":{"description":"Modules in the project.\n","items":{"type":"string"},"type":"array"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["color","description","modules","orgId","tags","id"],"type":"object"}},"harness:platform/getProjectList:getProjectList":{"description":"Data source for retrieving a Harness project.\n","inputs":{"description":"A collection of arguments for invoking getProjectList.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"limit":{"type":"integer"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"page":{"type":"integer"}},"type":"object","required":["orgId"]},"outputs":{"description":"A collection of values returned by getProjectList.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"limit":{"type":"integer"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"page":{"type":"integer"},"projects":{"items":{"$ref":"#/types/harness:platform/getProjectListProject:getProjectListProject"},"type":"array"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["description","orgId","projects","tags","id"],"type":"object"}},"harness:platform/getPrometheusConnector:getPrometheusConnector":{"description":"Datasource for looking up a Prometheus connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getPrometheusConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_prometheus_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetPrometheusConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupPrometheusConnector(ctx, \u0026platform.LookupPrometheusConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetPrometheusConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getPrometheusConnector(GetPrometheusConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getPrometheusConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getPrometheusConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getPrometheusConnector.\n","properties":{"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"headers":{"description":"Headers.\n","items":{"$ref":"#/types/harness:platform/getPrometheusConnectorHeader:getPrometheusConnectorHeader"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"passwordRef":{"description":"Reference to the Harness 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}.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the Prometheus server.\n","type":"string"},"userName":{"description":"User name.\n","type":"string"}},"required":["delegateSelectors","description","headers","identifier","passwordRef","tags","url","userName","id"],"type":"object"}},"harness:platform/getProvider:getProvider":{"description":"Data source for Harness Provider.\n","inputs":{"description":"A collection of arguments for invoking getProvider.\n","properties":{"identifier":{"type":"string","description":"The identifier of the provider entity.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getProvider.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"The identifier of the provider entity.\n","type":"string"}},"required":["identifier","id"],"type":"object"}},"harness:platform/getRepo:getRepo":{"description":"Data source for retrieving a Harness repo.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst exampleByIdentifier = harness.platform.getRepo({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"proj_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample_by_identifier = harness.platform.get_repo(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"proj_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleByIdentifier = Harness.Platform.GetRepo.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"proj_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupRepo(ctx, \u0026platform.LookupRepoArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"proj_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetRepoArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleByIdentifier = PlatformFunctions.getRepo(GetRepoArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"proj_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleByIdentifier:\n    fn::invoke:\n      function: harness:platform:getRepo\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: proj_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRepo.\n","properties":{"defaultBranch":{"type":"string","description":"Default branch of the repository (Applicate only for create).\n"},"description":{"type":"string","description":"Description of the repository.\n"},"gitIgnore":{"type":"string","description":"Repository should be created with specified predefined gitignore file.\n"},"identifier":{"type":"string","description":"Identifier of the repository.\n"},"license":{"type":"string","description":"Repository should be created with specified predefined license file.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"readme":{"type":"boolean","description":"Repository should be created with readme file.\n"},"sources":{"type":"array","items":{"$ref":"#/types/harness:platform/getRepoSource:getRepoSource"},"description":"Configuration for importing an existing repository from SCM provider.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getRepo.\n","properties":{"created":{"description":"Timestamp when the repository was created.\n","type":"integer"},"createdBy":{"description":"ID of the user who created the repository.\n","type":"integer"},"defaultBranch":{"description":"Default branch of the repository (Applicate only for create).\n","type":"string"},"description":{"description":"Description of the repository.\n","type":"string"},"gitIgnore":{"description":"Repository should be created with specified predefined gitignore file.\n","type":"string"},"gitUrl":{"description":"Git URL of the repository.\n","type":"string"},"id":{"description":"Internal ID of the repository.\n","type":"string"},"identifier":{"description":"Identifier of the repository.\n","type":"string"},"license":{"description":"Repository should be created with specified predefined license file.\n","type":"string"},"name":{"description":"Name of the repository.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"path":{"description":"Path of the repository.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"readme":{"description":"Repository should be created with readme file.\n","type":"boolean"},"sources":{"description":"Configuration for importing an existing repository from SCM provider.\n","items":{"$ref":"#/types/harness:platform/getRepoSource:getRepoSource"},"type":"array"},"updated":{"description":"Timestamp when the repository was last updated.\n","type":"integer"}},"required":["created","createdBy","gitUrl","id","identifier","name","path","updated"],"type":"object"}},"harness:platform/getRepoRuleBranch:getRepoRuleBranch":{"description":"Data source for retrieving a Harness repo branch rule.\n","inputs":{"description":"A collection of arguments for invoking getRepoRuleBranch.\n","properties":{"bypasses":{"type":"array","items":{"$ref":"#/types/harness:platform/getRepoRuleBranchBypass:getRepoRuleBranchBypass"},"description":"List of users who can bypass this rule.\n"},"description":{"type":"string","description":"Description of the rule.\n"},"identifier":{"type":"string","description":"Identifier of the rule.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"patterns":{"type":"array","items":{"$ref":"#/types/harness:platform/getRepoRuleBranchPattern:getRepoRuleBranchPattern"},"description":"Pattern of branch to which rule will apply.\n"},"policies":{"type":"array","items":{"$ref":"#/types/harness:platform/getRepoRuleBranchPolicy:getRepoRuleBranchPolicy"},"description":"Policies to be applied for this rule.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoIdentifier":{"type":"string","description":"Repo identifier of the repository.\n"},"state":{"type":"string","description":"State of the rule (active, disable, monitor).\n"}},"type":"object","required":["bypasses","identifier","policies","repoIdentifier","state"]},"outputs":{"description":"A collection of values returned by getRepoRuleBranch.\n","properties":{"bypasses":{"description":"List of users who can bypass this rule.\n","items":{"$ref":"#/types/harness:platform/getRepoRuleBranchBypass:getRepoRuleBranchBypass"},"type":"array"},"created":{"description":"Timestamp when the rule was created.\n","type":"integer"},"createdBy":{"description":"ID of the user who created the rule.\n","type":"integer"},"description":{"description":"Description of the rule.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the rule.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"patterns":{"description":"Pattern of branch to which rule will apply.\n","items":{"$ref":"#/types/harness:platform/getRepoRuleBranchPattern:getRepoRuleBranchPattern"},"type":"array"},"policies":{"description":"Policies to be applied for this rule.\n","items":{"$ref":"#/types/harness:platform/getRepoRuleBranchPolicy:getRepoRuleBranchPolicy"},"type":"array"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"repoIdentifier":{"description":"Repo identifier of the repository.\n","type":"string"},"state":{"description":"State of the rule (active, disable, monitor).\n","type":"string"},"updated":{"description":"Timestamp when the rule was updated.\n","type":"integer"},"updatedBy":{"description":"ID of the user who updated the rule.\n","type":"integer"}},"required":["bypasses","created","createdBy","identifier","policies","repoIdentifier","state","updated","updatedBy","id"],"type":"object"}},"harness:platform/getRepoWebhook:getRepoWebhook":{"description":"Data source for retrieving a Harness Repo Webhook.\n","inputs":{"description":"A collection of arguments for invoking getRepoWebhook.\n","properties":{"description":{"type":"string","description":"Description of the webhook.\n"},"enabled":{"type":"boolean","description":"Webhook enabled.\n"},"identifier":{"type":"string","description":"Identifier of the webhook.\n"},"insecure":{"type":"boolean","description":"Allow insecure connections for provided webhook URL.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"repoIdentifier":{"type":"string","description":"Identifier of the repository.\n"},"secret":{"type":"string","description":"Webhook secret which will be used to sign the webhook payload.\n","secret":true},"triggers":{"type":"array","items":{"type":"string"},"description":"List of triggers of the webhook (keep empty for all triggers).\n"},"url":{"type":"string","description":"URL that's called by the webhook.\n"}},"type":"object","required":["enabled","identifier","insecure","repoIdentifier","url"]},"outputs":{"description":"A collection of values returned by getRepoWebhook.\n","properties":{"created":{"description":"Timestamp when the webhook was created.\n","type":"integer"},"createdBy":{"description":"ID of the user who created the webhook.\n","type":"integer"},"description":{"description":"Description of the webhook.\n","type":"string"},"enabled":{"description":"Webhook enabled.\n","type":"boolean"},"hasSecret":{"description":"Created webhook has secret encoding.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the webhook.\n","type":"string"},"insecure":{"description":"Allow insecure connections for provided webhook URL.\n","type":"boolean"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"repoIdentifier":{"description":"Identifier of the repository.\n","type":"string"},"secret":{"description":"Webhook secret which will be used to sign the webhook payload.\n","secret":true,"type":"string"},"triggers":{"description":"List of triggers of the webhook (keep empty for all triggers).\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL that's called by the webhook.\n","type":"string"}},"required":["created","createdBy","enabled","hasSecret","identifier","insecure","repoIdentifier","url","id"],"type":"object"}},"harness:platform/getResourceGroup:getResourceGroup":{"description":"DataSource for looking up resource group in harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getResourceGroup({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_resource_group(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetResourceGroup.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupResourceGroup(ctx, \u0026platform.LookupResourceGroupArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetResourceGroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getResourceGroup(GetResourceGroupArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getResourceGroup\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getResourceGroup.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getResourceGroup.\n","properties":{"accountId":{"description":"Account Identifier of the account\n","type":"string"},"allowedScopeLevels":{"description":"The scope levels at which this resource group can be used\n","items":{"type":"string"},"type":"array"},"color":{"description":"Color of the environment.\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"includedScopes":{"description":"Included scopes\n","items":{"$ref":"#/types/harness:platform/getResourceGroupIncludedScope:getResourceGroupIncludedScope"},"type":"array"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"resourceFilters":{"description":"Contains resource filter for a resource group\n","items":{"$ref":"#/types/harness:platform/getResourceGroupResourceFilter:getResourceGroupResourceFilter"},"type":"array"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["accountId","allowedScopeLevels","color","description","identifier","includedScopes","resourceFilters","tags","id"],"type":"object"}},"harness:platform/getRoleAssignments:getRoleAssignments":{"description":"Data source for retrieving role assignment.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getRoleAssignments({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_role_assignments(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetRoleAssignments.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupRoleAssignments(ctx, \u0026platform.LookupRoleAssignmentsArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetRoleAssignmentsArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getRoleAssignments(GetRoleAssignmentsArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getRoleAssignments\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRoleAssignments.\n","properties":{"identifier":{"type":"string","description":"Identifier for role assignment.\n"},"orgId":{"type":"string","description":"Org identifier.\n"},"projectId":{"type":"string","description":"Project Identifier\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getRoleAssignments.\n","properties":{"disabled":{"description":"Disabled or not.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier for role assignment.\n","type":"string"},"managed":{"description":"Managed or not.\n","type":"boolean"},"orgId":{"description":"Org identifier.\n","type":"string"},"principals":{"description":"Principal.\n","items":{"$ref":"#/types/harness:platform/getRoleAssignmentsPrincipal:getRoleAssignmentsPrincipal"},"type":"array"},"projectId":{"description":"Project Identifier\n","type":"string"},"resourceGroupIdentifier":{"description":"Resource group identifier.\n","type":"string"},"roleIdentifier":{"description":"Role identifier.\n","type":"string"}},"required":["disabled","identifier","managed","principals","resourceGroupIdentifier","roleIdentifier","id"],"type":"object"}},"harness:platform/getRoles:getRoles":{"description":"Data source for retrieving roles\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getRoles({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_roles(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetRoles.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupRoles(ctx, \u0026platform.LookupRolesArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetRolesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getRoles(GetRolesArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getRoles\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getRoles.\n","properties":{"allowedScopeLevels":{"type":"array","items":{"type":"string"},"description":"The scope levels at which this role can be used\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"permissions":{"type":"array","items":{"type":"string"},"description":"List of the permission identifiers\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getRoles.\n","properties":{"allowedScopeLevels":{"description":"The scope levels at which this role can be used\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"permissions":{"description":"List of the permission identifiers\n","items":{"type":"string"},"type":"array"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["allowedScopeLevels","description","identifier","tags","id"],"type":"object"}},"harness:platform/getSecretFile:getSecretFile":{"description":"Datasource for looking up secert file type secret.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getSecretFile({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_secret_file(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetSecretFile.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupSecretFile(ctx, \u0026platform.LookupSecretFileArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetSecretFileArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getSecretFile(GetSecretFileArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getSecretFile\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecretFile.\n","properties":{"additionalMetadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretFileAdditionalMetadata:getSecretFileAdditionalMetadata"},"description":"Additional Metadata for the Secret\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getSecretFile.\n","properties":{"additionalMetadatas":{"description":"Additional Metadata for the Secret\n","items":{"$ref":"#/types/harness:platform/getSecretFileAdditionalMetadata:getSecretFileAdditionalMetadata"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"filePath":{"description":"Path of the file containing secret value\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"secretManagerIdentifier":{"description":"Identifier of the Secret Manager used to manage the secret.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["description","filePath","identifier","secretManagerIdentifier","tags","id"],"type":"object"}},"harness:platform/getSecretSshkey:getSecretSshkey":{"description":"Resource for looking up an SSH Key type secret.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getSecretSshkey({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_secret_sshkey(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetSecretSshkey.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupSecretSshkey(ctx, \u0026platform.LookupSecretSshkeyArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetSecretSshkeyArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getSecretSshkey(GetSecretSshkeyArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getSecretSshkey\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecretSshkey.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getSecretSshkey.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"kerberos":{"description":"Kerberos authentication scheme\n","items":{"$ref":"#/types/harness:platform/getSecretSshkeyKerbero:getSecretSshkeyKerbero"},"type":"array"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"port":{"description":"SSH port\n","type":"integer"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"sshes":{"description":"Kerberos authentication scheme\n","items":{"$ref":"#/types/harness:platform/getSecretSshkeySsh:getSecretSshkeySsh"},"type":"array"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["description","identifier","kerberos","port","sshes","tags","id"],"type":"object"}},"harness:platform/getSecretText:getSecretText":{"description":"DataSource for looking up secret of type secret text.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getSecretText({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_secret_text(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetSecretText.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupSecretText(ctx, \u0026platform.LookupSecretTextArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetSecretTextArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getSecretText(GetSecretTextArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getSecretText\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecretText.\n","properties":{"additionalMetadatas":{"type":"array","items":{"$ref":"#/types/harness:platform/getSecretTextAdditionalMetadata:getSecretTextAdditionalMetadata"},"description":"Additional Metadata for the Secret\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getSecretText.\n","properties":{"additionalMetadatas":{"description":"Additional Metadata for the Secret\n","items":{"$ref":"#/types/harness:platform/getSecretTextAdditionalMetadata:getSecretTextAdditionalMetadata"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"secretManagerIdentifier":{"description":"Identifier of the Secret Manager used to manage the secret.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"value":{"description":"Value of the Secret\n","secret":true,"type":"string"},"valueType":{"description":"This has details to specify if the secret value is Inline or Reference.\n","type":"string"}},"required":["description","identifier","secretManagerIdentifier","tags","value","valueType","id"],"type":"object"}},"harness:platform/getSecretWinrm:getSecretWinrm":{"description":"Data source for looking up a WinRM credential secret.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Data source to retrieve account level WinRM credential by identifier\nconst example = harness.platform.getSecretWinrm({\n    identifier: \"winrm_credential_id\",\n});\n// Data source to retrieve organization level WinRM credential\nconst orgExample = harness.platform.getSecretWinrm({\n    identifier: \"winrm_credential_id\",\n    orgId: \"org_identifier\",\n});\n// Data source to retrieve project level WinRM credential\nconst projectExample = harness.platform.getSecretWinrm({\n    identifier: \"winrm_credential_id\",\n    orgId: \"org_identifier\",\n    projectId: \"project_identifier\",\n});\nexport const winrmPort = example.then(example =\u003e example.port);\nexport const winrmAuthType = example.then(example =\u003e example.ntlms).length.apply(length =\u003e length \u003e 0 ? \"NTLM\" : \"Kerberos\");\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Data source to retrieve account level WinRM credential by identifier\nexample = harness.platform.get_secret_winrm(identifier=\"winrm_credential_id\")\n# Data source to retrieve organization level WinRM credential\norg_example = harness.platform.get_secret_winrm(identifier=\"winrm_credential_id\",\n    org_id=\"org_identifier\")\n# Data source to retrieve project level WinRM credential\nproject_example = harness.platform.get_secret_winrm(identifier=\"winrm_credential_id\",\n    org_id=\"org_identifier\",\n    project_id=\"project_identifier\")\npulumi.export(\"winrmPort\", example.port)\npulumi.export(\"winrmAuthType\", len(example.ntlms).apply(lambda length: \"NTLM\" if length \u003e 0 else \"Kerberos\"))\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Data source to retrieve account level WinRM credential by identifier\n    var example = Harness.Platform.GetSecretWinrm.Invoke(new()\n    {\n        Identifier = \"winrm_credential_id\",\n    });\n\n    // Data source to retrieve organization level WinRM credential\n    var orgExample = Harness.Platform.GetSecretWinrm.Invoke(new()\n    {\n        Identifier = \"winrm_credential_id\",\n        OrgId = \"org_identifier\",\n    });\n\n    // Data source to retrieve project level WinRM credential\n    var projectExample = Harness.Platform.GetSecretWinrm.Invoke(new()\n    {\n        Identifier = \"winrm_credential_id\",\n        OrgId = \"org_identifier\",\n        ProjectId = \"project_identifier\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"winrmPort\"] = example.Apply(getSecretWinrmResult =\u003e getSecretWinrmResult.Port),\n        [\"winrmAuthType\"] = example.Apply(getSecretWinrmResult =\u003e getSecretWinrmResult.Ntlms).Length.Apply(length =\u003e length \u003e 0 ? \"NTLM\" : \"Kerberos\"),\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Data source to retrieve account level WinRM credential by identifier\n\t\texample, err := platform.LookupSecretWinrm(ctx, \u0026platform.LookupSecretWinrmArgs{\n\t\t\tIdentifier: \"winrm_credential_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Data source to retrieve organization level WinRM credential\n\t\t_, err = platform.LookupSecretWinrm(ctx, \u0026platform.LookupSecretWinrmArgs{\n\t\t\tIdentifier: \"winrm_credential_id\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_identifier\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Data source to retrieve project level WinRM credential\n\t\t_, err = platform.LookupSecretWinrm(ctx, \u0026platform.LookupSecretWinrmArgs{\n\t\t\tIdentifier: \"winrm_credential_id\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_identifier\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_identifier\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"winrmPort\", example.Port)\n\t\tvar tmp0 string\n\t\tif length \u003e 0 {\n\t\t\ttmp0 = \"NTLM\"\n\t\t} else {\n\t\t\ttmp0 = \"Kerberos\"\n\t\t}\n\t\tctx.Export(\"winrmAuthType\", len(example.Ntlms).ApplyT(func(length int) (string, error) {\n\t\t\treturn tmp0, nil\n\t\t}).(pulumi.StringOutput))\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetSecretWinrmArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Data source to retrieve account level WinRM credential by identifier\n        final var example = PlatformFunctions.getSecretWinrm(GetSecretWinrmArgs.builder()\n            .identifier(\"winrm_credential_id\")\n            .build());\n\n        // Data source to retrieve organization level WinRM credential\n        final var orgExample = PlatformFunctions.getSecretWinrm(GetSecretWinrmArgs.builder()\n            .identifier(\"winrm_credential_id\")\n            .orgId(\"org_identifier\")\n            .build());\n\n        // Data source to retrieve project level WinRM credential\n        final var projectExample = PlatformFunctions.getSecretWinrm(GetSecretWinrmArgs.builder()\n            .identifier(\"winrm_credential_id\")\n            .orgId(\"org_identifier\")\n            .projectId(\"project_identifier\")\n            .build());\n\n        ctx.export(\"winrmPort\", example.port());\n        ctx.export(\"winrmAuthType\", example.ntlms().length().applyValue(_length -\u003e _length \u003e 0 ? \"NTLM\" : \"Kerberos\"));\n    }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSecretWinrm.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getSecretWinrm.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"kerberos":{"description":"Kerberos authentication scheme\n","items":{"$ref":"#/types/harness:platform/getSecretWinrmKerbero:getSecretWinrmKerbero"},"type":"array"},"name":{"description":"Name of the resource.\n","type":"string"},"ntlms":{"description":"NTLM authentication scheme\n","items":{"$ref":"#/types/harness:platform/getSecretWinrmNtlm:getSecretWinrmNtlm"},"type":"array"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"port":{"description":"WinRM port. Default is 5986 for HTTPS, 5985 for HTTP.\n","type":"integer"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["description","identifier","kerberos","ntlms","port","tags","id"],"type":"object"}},"harness:platform/getService:getService":{"description":"Data source for retrieving a Harness service.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getService({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_service(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetService.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupService(ctx, \u0026platform.LookupServiceArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetServiceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getService(GetServiceArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getService\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getService.\n","properties":{"gitDetails":{"$ref":"#/types/harness:platform/getServiceGitDetails:getServiceGitDetails","description":"Contains parameters related to Git Experience for remote entities\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getService.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"gitDetails":{"$ref":"#/types/harness:platform/getServiceGitDetails:getServiceGitDetails","description":"Contains parameters related to Git Experience for remote entities\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"yaml":{"description":"Input Set YAML\n","type":"string"}},"required":["description","gitDetails","identifier","tags","yaml","id"],"type":"object"}},"harness:platform/getServiceAccount:getServiceAccount":{"description":"Data source for retrieving service account.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getServiceAccount({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_service_account(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetServiceAccount.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupServiceAccount(ctx, \u0026platform.LookupServiceAccountArgs{\n\t\t\tIdentifier: pulumi.StringRef(\"identifier\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetServiceAccountArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getServiceAccount(GetServiceAccountArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getServiceAccount\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServiceAccount.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getServiceAccount.\n","properties":{"accountId":{"description":"Account Identifier for the Entity.\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"email":{"description":"Email of the Service Account.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["accountId","description","email","tags","id"],"type":"object"}},"harness:platform/getServiceList:getServiceList":{"description":"Data source for retrieving a Harness service List.\n","inputs":{"description":"A collection of arguments for invoking getServiceList.\n","properties":{"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"page":{"type":"integer","description":"Page index of the results to fetch. Default: 0\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"size":{"type":"integer","description":"Results per page. Default: 100; Max: 1000\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getServiceList.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"page":{"description":"Page index of the results to fetch. Default: 0\n","type":"integer"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"services":{"items":{"$ref":"#/types/harness:platform/getServiceListService:getServiceListService"},"type":"array"},"size":{"description":"Results per page. Default: 100; Max: 1000\n","type":"integer"}},"required":["services","id"],"type":"object"}},"harness:platform/getServiceNowConnector:getServiceNowConnector":{"description":"Datasource for looking up a Service Now connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getServiceNowConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_service_now_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetServiceNowConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupServiceNowConnector(ctx, \u0026platform.LookupServiceNowConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetServiceNowConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getServiceNowConnector(GetServiceNowConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getServiceNowConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServiceNowConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getServiceNowConnector.\n","properties":{"auths":{"description":"The credentials to use for the service now authentication.\n","items":{"$ref":"#/types/harness:platform/getServiceNowConnectorAuth:getServiceNowConnectorAuth"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"passwordRef":{"description":"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}.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"serviceNowUrl":{"description":"URL of service now.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"username":{"description":"Username to use for authentication.\n","type":"string"},"usernameRef":{"description":"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}.\n","type":"string"}},"required":["auths","delegateSelectors","description","identifier","passwordRef","serviceNowUrl","tags","username","usernameRef","id"],"type":"object"}},"harness:platform/getServiceOverridesV2:getServiceOverridesV2":{"description":"Data source for Harness service overrides V2.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getServiceOverridesV2({\n    identifier: \"identifier\",\n    orgId: \"orgIdentifier\",\n    projectId: \"projectIdentifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_service_overrides_v2(identifier=\"identifier\",\n    org_id=\"orgIdentifier\",\n    project_id=\"projectIdentifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetServiceOverridesV2.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"orgIdentifier\",\n        ProjectId = \"projectIdentifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupServiceOverridesV2(ctx, \u0026platform.LookupServiceOverridesV2Args{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"orgIdentifier\"),\n\t\t\tProjectId:  pulumi.StringRef(\"projectIdentifier\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetServiceOverridesV2Args;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getServiceOverridesV2(GetServiceOverridesV2Args.builder()\n            .identifier(\"identifier\")\n            .orgId(\"orgIdentifier\")\n            .projectId(\"projectIdentifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getServiceOverridesV2\n      arguments:\n        identifier: identifier\n        orgId: orgIdentifier\n        projectId: projectIdentifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getServiceOverridesV2.\n","properties":{"gitDetails":{"$ref":"#/types/harness:platform/getServiceOverridesV2GitDetails:getServiceOverridesV2GitDetails","description":"Contains parameters related to Git Experience for remote overrides\n"},"identifier":{"type":"string","description":"The identifier of the override entity.\n","willReplaceOnChanges":true},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getServiceOverridesV2.\n","properties":{"clusterId":{"description":"The cluster ID to which the override entity is associated.\n","type":"string"},"envId":{"description":"The environment ID to which the override entity is associated.\n","type":"string"},"gitDetails":{"$ref":"#/types/harness:platform/getServiceOverridesV2GitDetails:getServiceOverridesV2GitDetails","description":"Contains parameters related to Git Experience for remote overrides\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"The identifier of the override entity.\n","type":"string"},"infraId":{"description":"The infrastructure ID to which the override entity is associated.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"serviceId":{"description":"The service ID to which the override entity is associated.\n","type":"string"},"type":{"description":"The type of the override entity.\n","type":"string"},"yaml":{"description":"The yaml of the override entity's spec property.\n","type":"string"}},"required":["clusterId","envId","gitDetails","identifier","infraId","serviceId","type","yaml","id"],"type":"object"}},"harness:platform/getSlo:getSlo":{"description":"Data source for retrieving an SLO.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getSlo({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_slo(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetSlo.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupSlo(ctx, \u0026platform.LookupSloArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      \"org_id\",\n\t\t\tProjectId:  \"project_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetSloArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getSlo(GetSloArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getSlo\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSlo.\n","properties":{"identifier":{"type":"string","description":"Identifier of the SLO.\n"},"orgId":{"type":"string","description":"Identifier of the organization in which the SLO is configured.\n"},"projectId":{"type":"string","description":"Identifier of the project in which the SLO is configured.\n"}},"type":"object","required":["identifier","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getSlo.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the SLO.\n","type":"string"},"orgId":{"description":"Identifier of the organization in which the SLO is configured.\n","type":"string"},"projectId":{"description":"Identifier of the project in which the SLO is configured.\n","type":"string"}},"required":["identifier","orgId","projectId","id"],"type":"object"}},"harness:platform/getSplunkConnector:getSplunkConnector":{"description":"Datasource for looking up a Splunk connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getSplunkConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_splunk_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetSplunkConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupSplunkConnector(ctx, \u0026platform.LookupSplunkConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetSplunkConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getSplunkConnector(GetSplunkConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getSplunkConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSplunkConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getSplunkConnector.\n","properties":{"accountId":{"description":"Splunk account id.\n","type":"string"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"passwordRef":{"description":"The reference to the Harness secret containing the Splunk 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}.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the Splunk server.\n","type":"string"},"username":{"description":"The username used for connecting to Splunk.\n","type":"string"}},"required":["accountId","delegateSelectors","description","identifier","passwordRef","tags","url","username","id"],"type":"object"}},"harness:platform/getSpotConnector:getSpotConnector":{"description":"Datasource for looking up an Spot connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getSpotConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_spot_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetSpotConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupSpotConnector(ctx, \u0026platform.LookupSpotConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetSpotConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getSpotConnector(GetSpotConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getSpotConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSpotConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getSpotConnector.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"permanentTokens":{"description":"Authenticate to Spot using account id and permanent token.\n","items":{"$ref":"#/types/harness:platform/getSpotConnectorPermanentToken:getSpotConnectorPermanentToken"},"type":"array"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["description","identifier","permanentTokens","tags","id"],"type":"object"}},"harness:platform/getSumologicConnector:getSumologicConnector":{"description":"Datasource for looking up a Sumologic connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getSumologicConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_sumologic_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetSumologicConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupSumologicConnector(ctx, \u0026platform.LookupSumologicConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetSumologicConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getSumologicConnector(GetSumologicConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getSumologicConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getSumologicConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getSumologicConnector.\n","properties":{"accessIdRef":{"description":"Reference to the Harness secret containing the access 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}.\n","type":"string"},"accessKeyRef":{"description":"Reference to the Harness secret containing the 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}.\n","type":"string"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the SumoLogic server.\n","type":"string"}},"required":["accessIdRef","accessKeyRef","delegateSelectors","description","identifier","tags","url","id"],"type":"object"}},"harness:platform/getTasConnector:getTasConnector":{"description":"Datasource for looking up an Tas Connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getTasConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_tas_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetTasConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupTasConnector(ctx, \u0026platform.LookupTasConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetTasConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getTasConnector(GetTasConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getTasConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTasConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getTasConnector.\n","properties":{"credentials":{"description":"Contains Tas connector credentials.\n","items":{"$ref":"#/types/harness:platform/getTasConnectorCredential:getTasConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"executeOnDelegate":{"description":"Execute on delegate or not.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"}},"required":["credentials","delegateSelectors","description","executeOnDelegate","identifier","tags","id"],"type":"object"}},"harness:platform/getTemplate:getTemplate":{"description":"Data source for retrieving a Harness pipeline.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n//For account level template\nconst example = harness.platform.getTemplate({\n    identifier: \"identifier\",\n    version: \"version\",\n});\n//For org level template\nconst example1 = harness.platform.getTemplate({\n    identifier: \"identifier\",\n    version: \"version\",\n    orgId: \"org_id\",\n});\n//For project level template\nconst example2 = harness.platform.getTemplate({\n    identifier: \"identifier\",\n    version: \"version\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n#For account level template\nexample = harness.platform.get_template(identifier=\"identifier\",\n    version=\"version\")\n#For org level template\nexample1 = harness.platform.get_template(identifier=\"identifier\",\n    version=\"version\",\n    org_id=\"org_id\")\n#For project level template\nexample2 = harness.platform.get_template(identifier=\"identifier\",\n    version=\"version\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    //For account level template\n    var example = Harness.Platform.GetTemplate.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        Version = \"version\",\n    });\n\n    //For org level template\n    var example1 = Harness.Platform.GetTemplate.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        Version = \"version\",\n        OrgId = \"org_id\",\n    });\n\n    //For project level template\n    var example2 = Harness.Platform.GetTemplate.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        Version = \"version\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// For account level template\n\t\t_, err := platform.LookupTemplate(ctx, \u0026platform.LookupTemplateArgs{\n\t\t\tIdentifier: pulumi.StringRef(\"identifier\"),\n\t\t\tVersion:    pulumi.StringRef(\"version\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// For org level template\n\t\t_, err = platform.LookupTemplate(ctx, \u0026platform.LookupTemplateArgs{\n\t\t\tIdentifier: pulumi.StringRef(\"identifier\"),\n\t\t\tVersion:    pulumi.StringRef(\"version\"),\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// For project level template\n\t\t_, err = platform.LookupTemplate(ctx, \u0026platform.LookupTemplateArgs{\n\t\t\tIdentifier: pulumi.StringRef(\"identifier\"),\n\t\t\tVersion:    pulumi.StringRef(\"version\"),\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetTemplateArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        //For account level template\n        final var example = PlatformFunctions.getTemplate(GetTemplateArgs.builder()\n            .identifier(\"identifier\")\n            .version(\"version\")\n            .build());\n\n        //For org level template\n        final var example1 = PlatformFunctions.getTemplate(GetTemplateArgs.builder()\n            .identifier(\"identifier\")\n            .version(\"version\")\n            .orgId(\"org_id\")\n            .build());\n\n        //For project level template\n        final var example2 = PlatformFunctions.getTemplate(GetTemplateArgs.builder()\n            .identifier(\"identifier\")\n            .version(\"version\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  #For account level template\n  example:\n    fn::invoke:\n      function: harness:platform:getTemplate\n      arguments:\n        identifier: identifier\n        version: version\n  #For org level template\n  example1:\n    fn::invoke:\n      function: harness:platform:getTemplate\n      arguments:\n        identifier: identifier\n        version: version\n        orgId: org_id\n  #For project level template\n  example2:\n    fn::invoke:\n      function: harness:platform:getTemplate\n      arguments:\n        identifier: identifier\n        version: version\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTemplate.\n","properties":{"branchName":{"type":"string","description":"Version Label for Template.\n"},"childType":{"type":"string","description":"Defines child template type.\n"},"gitDetails":{"$ref":"#/types/harness:platform/getTemplateGitDetails:getTemplateGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"isStable":{"type":"boolean","description":"True if given version for template to be set as stable.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"scope":{"type":"string","description":"Scope of template.\n"},"version":{"type":"string","description":"Version Label for Template.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getTemplate.\n","properties":{"branchName":{"description":"Version Label for Template.\n","type":"string"},"childType":{"description":"Defines child template type.\n","type":"string"},"connectorRef":{"description":"Identifier of the Harness Connector used for CRUD operations on the Entity.\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"gitDetails":{"$ref":"#/types/harness:platform/getTemplateGitDetails:getTemplateGitDetails","description":"Contains parameters related to creating an Entity for Git Experience.\n"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"isStable":{"description":"True if given version for template to be set as stable.\n","type":"boolean"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"scope":{"description":"Scope of template.\n","type":"string"},"storeType":{"description":"Specifies whether the Entity is to be stored in Git or not. Possible values: INLINE, REMOTE.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"templateYaml":{"description":"Yaml for creating new Template.\n","type":"string"},"version":{"description":"Version Label for Template.\n","type":"string"}},"required":["connectorRef","description","storeType","tags","templateYaml","id"],"type":"object"}},"harness:platform/getTemplateFilters:getTemplateFilters":{"description":"Data source for retrieving a Harness Template Filter.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getTemplateFilters({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    type: \"Template\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_template_filters(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    type=\"Template\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetTemplateFilters.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Type = \"Template\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupTemplateFilters(ctx, \u0026platform.LookupTemplateFiltersArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t\tType:       \"Template\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetTemplateFiltersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getTemplateFilters(GetTemplateFiltersArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .type(\"Template\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getTemplateFilters\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n        type: Template\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTemplateFilters.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity.\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity.\n"},"type":{"type":"string","description":"Type of filter. Currently supported types are {TemplateSetup, TemplateExecution, Deployment, Template, EnvironmentGroup, Environment}.\n"}},"type":"object","required":["identifier","type"]},"outputs":{"description":"A collection of values returned by getTemplateFilters.\n","properties":{"filterProperties":{"description":"Properties of the filter entity defined in Harness.\n","items":{"$ref":"#/types/harness:platform/getTemplateFiltersFilterProperty:getTemplateFiltersFilterProperty"},"type":"array"},"filterVisibility":{"description":"This indicates visibility of filter. By default, everyone can view this filter.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the Filter.\n","type":"string"},"orgId":{"description":"Organization Identifier for the Entity.\n","type":"string"},"projectId":{"description":"Project Identifier for the Entity.\n","type":"string"},"type":{"description":"Type of filter. Currently supported types are {TemplateSetup, TemplateExecution, Deployment, Template, EnvironmentGroup, Environment}.\n","type":"string"}},"required":["filterProperties","filterVisibility","identifier","name","type","id"],"type":"object"}},"harness:platform/getTerraformCloudConnector:getTerraformCloudConnector":{"description":"Resource for looking up a Terraform Cloud connector.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getTerraformCloudConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_terraform_cloud_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetTerraformCloudConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupTerraformCloudConnector(ctx, \u0026platform.LookupTerraformCloudConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetTerraformCloudConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getTerraformCloudConnector(GetTerraformCloudConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getTerraformCloudConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTerraformCloudConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getTerraformCloudConnector.\n","properties":{"credentials":{"description":"Credentials to connect to the Terraform Cloud platform.\n","items":{"$ref":"#/types/harness:platform/getTerraformCloudConnectorCredential:getTerraformCloudConnectorCredential"},"type":"array"},"delegateSelectors":{"description":"Tags to filter delegates for connection.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"url":{"description":"URL of the Terraform Cloud platform.\n","type":"string"}},"required":["credentials","delegateSelectors","description","identifier","tags","url","id"],"type":"object"}},"harness:platform/getToken:getToken":{"description":"Data source for retrieving a Harness ApiKey Token.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getToken({\n    identifier: \"test_token\",\n    parentId: \"apikey_parent_id\",\n    accountId: \"account_id\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    apikeyId: \"apikey_id\",\n    apikeyType: \"USER\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_token(identifier=\"test_token\",\n    parent_id=\"apikey_parent_id\",\n    account_id=\"account_id\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    apikey_id=\"apikey_id\",\n    apikey_type=\"USER\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetToken.Invoke(new()\n    {\n        Identifier = \"test_token\",\n        ParentId = \"apikey_parent_id\",\n        AccountId = \"account_id\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        ApikeyId = \"apikey_id\",\n        ApikeyType = \"USER\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupToken(ctx, \u0026platform.LookupTokenArgs{\n\t\t\tIdentifier: \"test_token\",\n\t\t\tParentId:   \"apikey_parent_id\",\n\t\t\tAccountId:  \"account_id\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t\tApikeyId:   \"apikey_id\",\n\t\t\tApikeyType: \"USER\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetTokenArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getToken(GetTokenArgs.builder()\n            .identifier(\"test_token\")\n            .parentId(\"apikey_parent_id\")\n            .accountId(\"account_id\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .apikeyId(\"apikey_id\")\n            .apikeyType(\"USER\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getToken\n      arguments:\n        identifier: test_token\n        parentId: apikey_parent_id\n        accountId: account_id\n        orgId: org_id\n        projectId: project_id\n        apikeyId: apikey_id\n        apikeyType: USER\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getToken.\n","properties":{"accountId":{"type":"string","description":"Account Identifier for the Entity\n"},"apikeyId":{"type":"string","description":"Identifier of the API Key\n"},"apikeyType":{"type":"string","description":"Type of the API Key\n"},"email":{"type":"string","description":"Email Id of the user who created the Token\n"},"encodedPassword":{"type":"string","description":"Encoded password of the Token\n"},"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"parentId":{"type":"string","description":"Parent Entity Identifier of the API Key\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"},"scheduledExpireTime":{"type":"integer","description":"Scheduled expiry time in milliseconds\n"},"username":{"type":"string","description":"Name of the user who created the Token\n"},"valid":{"type":"boolean","description":"Boolean value to indicate if Token is valid or not.\n"},"validFrom":{"type":"integer","description":"This is the time from which the Token is valid. The time is in milliseconds\n"},"validTo":{"type":"integer","description":"This is the time till which the Token is valid. The time is in milliseconds\n"}},"type":"object","required":["accountId","apikeyId","apikeyType","identifier","parentId"]},"outputs":{"description":"A collection of values returned by getToken.\n","properties":{"accountId":{"description":"Account Identifier for the Entity\n","type":"string"},"apikeyId":{"description":"Identifier of the API Key\n","type":"string"},"apikeyType":{"description":"Type of the API Key\n","type":"string"},"description":{"description":"Description of the resource.\n","type":"string"},"email":{"description":"Email Id of the user who created the Token\n","type":"string"},"encodedPassword":{"description":"Encoded password of the Token\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"parentId":{"description":"Parent Entity Identifier of the API Key\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"scheduledExpireTime":{"description":"Scheduled expiry time in milliseconds\n","type":"integer"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"username":{"description":"Name of the user who created the Token\n","type":"string"},"valid":{"description":"Boolean value to indicate if Token is valid or not.\n","type":"boolean"},"validFrom":{"description":"This is the time from which the Token is valid. The time is in milliseconds\n","type":"integer"},"validTo":{"description":"This is the time till which the Token is valid. The time is in milliseconds\n","type":"integer"}},"required":["accountId","apikeyId","apikeyType","description","identifier","parentId","tags","id"],"type":"object"}},"harness:platform/getTriggers:getTriggers":{"description":"Data source for retrieving a Harness trigger.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getTriggers({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    targetId: \"pipeline_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_triggers(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    target_id=\"pipeline_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetTriggers.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        TargetId = \"pipeline_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupTriggers(ctx, \u0026platform.LookupTriggersArgs{\n\t\t\tIdentifier: pulumi.StringRef(\"identifier\"),\n\t\t\tOrgId:      \"org_id\",\n\t\t\tProjectId:  \"project_id\",\n\t\t\tTargetId:   \"pipeline_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetTriggersArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getTriggers(GetTriggersArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .targetId(\"pipeline_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getTriggers\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n        targetId: pipeline_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getTriggers.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"ignoreError":{"type":"boolean","description":"ignore error default false\n"},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n","willReplaceOnChanges":true},"projectId":{"type":"string","description":"Unique identifier of the project.\n","willReplaceOnChanges":true},"targetId":{"type":"string","description":"Identifier of the target pipeline\n"}},"type":"object","required":["orgId","projectId","targetId"]},"outputs":{"description":"A collection of values returned by getTriggers.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"ignoreError":{"description":"ignore error default false\n","type":"boolean"},"name":{"description":"Name of the resource.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"targetId":{"description":"Identifier of the target pipeline\n","type":"string"},"yaml":{"description":"trigger yaml\n","type":"string"}},"required":["description","orgId","projectId","tags","targetId","yaml","id"],"type":"object"}},"harness:platform/getUser:getUser":{"description":"Data source for retrieving the user based on the API key.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getUser({\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    email: \"john.doe@harness.io\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_user(org_id=\"org_id\",\n    project_id=\"project_id\",\n    email=\"john.doe@harness.io\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetUser.Invoke(new()\n    {\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Email = \"john.doe@harness.io\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupUser(ctx, \u0026platform.LookupUserArgs{\n\t\t\tOrgId:     pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId: pulumi.StringRef(\"project_id\"),\n\t\t\tEmail:     \"john.doe@harness.io\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetUserArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getUser(GetUserArgs.builder()\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .email(\"john.doe@harness.io\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getUser\n      arguments:\n        orgId: org_id\n        projectId: project_id\n        email: john.doe@harness.io\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUser.\n","properties":{"email":{"type":"string","description":"The email of the user.\n"},"orgId":{"type":"string","description":"Organization identifier of the user.\n"},"projectId":{"type":"string","description":"Project identifier of the user.\n"}},"type":"object","required":["email"]},"outputs":{"description":"A collection of values returned by getUser.\n","properties":{"disabled":{"description":"Whether or not the user account is disabled.\n","type":"boolean"},"email":{"description":"The email of the user.\n","type":"string"},"externallyManaged":{"description":"Whether or not the user account is externally managed.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the user.\n","type":"string"},"locked":{"description":"Whether or not the user account is locked.\n","type":"boolean"},"name":{"description":"Name of the user.\n","type":"string"},"orgId":{"description":"Organization identifier of the user.\n","type":"string"},"projectId":{"description":"Project identifier of the user.\n","type":"string"}},"required":["disabled","email","externallyManaged","identifier","locked","name","id"],"type":"object"}},"harness:platform/getUsergroup:getUsergroup":{"description":"Data source for retrieving a Harness User Group.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst exampleById = harness.platform.getUsergroup({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\nconst exampleByName = harness.platform.getUsergroup({\n    name: \"name\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample_by_id = harness.platform.get_usergroup(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\nexample_by_name = harness.platform.get_usergroup(name=\"name\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var exampleById = Harness.Platform.GetUsergroup.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n    var exampleByName = Harness.Platform.GetUsergroup.Invoke(new()\n    {\n        Name = \"name\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupUsergroup(ctx, \u0026platform.LookupUsergroupArgs{\n\t\t\tIdentifier: pulumi.StringRef(\"identifier\"),\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = platform.LookupUsergroup(ctx, \u0026platform.LookupUsergroupArgs{\n\t\t\tName:      pulumi.StringRef(\"name\"),\n\t\t\tOrgId:     pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId: pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetUsergroupArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var exampleById = PlatformFunctions.getUsergroup(GetUsergroupArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n        final var exampleByName = PlatformFunctions.getUsergroup(GetUsergroupArgs.builder()\n            .name(\"name\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  exampleById:\n    fn::invoke:\n      function: harness:platform:getUsergroup\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n  exampleByName:\n    fn::invoke:\n      function: harness:platform:getUsergroup\n      arguments:\n        name: name\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getUsergroup.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n"},"name":{"type":"string","description":"Name of the resource.\n"},"notificationConfigs":{"type":"array","items":{"$ref":"#/types/harness:platform/getUsergroupNotificationConfig:getUsergroupNotificationConfig"},"description":"List of notification settings.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getUsergroup.\n","properties":{"description":{"description":"Description of the resource.\n","type":"string"},"externallyManaged":{"description":"Whether the user group is externally managed.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"linkedSsoDisplayName":{"description":"Name of the linked SSO.\n","type":"string"},"linkedSsoId":{"description":"The SSO account ID that the user group is linked to.\n","type":"string"},"linkedSsoType":{"description":"Type of linked SSO.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"notificationConfigs":{"description":"List of notification settings.\n","items":{"$ref":"#/types/harness:platform/getUsergroupNotificationConfig:getUsergroupNotificationConfig"},"type":"array"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"ssoGroupId":{"description":"Identifier of the userGroup in SSO.\n","type":"string"},"ssoGroupName":{"description":"Name of the SSO userGroup.\n","type":"string"},"ssoLinked":{"description":"Whether sso is linked or not.\n","type":"boolean"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"users":{"description":"List of users in the UserGroup.\n","items":{"type":"string"},"type":"array"}},"required":["description","externallyManaged","linkedSsoDisplayName","linkedSsoId","linkedSsoType","ssoGroupId","ssoGroupName","ssoLinked","tags","users","id"],"type":"object"}},"harness:platform/getVariables:getVariables":{"description":"Data source for retrieving a Harness Variable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getVariables({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_variables(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetVariables.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupVariables(ctx, \u0026platform.LookupVariablesArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      pulumi.StringRef(\"org_id\"),\n\t\t\tProjectId:  pulumi.StringRef(\"project_id\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetVariablesArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getVariables(GetVariablesArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getVariables\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVariables.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource\n"},"orgId":{"type":"string","description":"Organization Identifier for the Entity\n"},"projectId":{"type":"string","description":"Project Identifier for the Entity\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getVariables.\n","properties":{"description":{"description":"Description of the entity\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource\n","type":"string"},"name":{"description":"Name of the Variable\n","type":"string"},"orgId":{"description":"Organization Identifier for the Entity\n","type":"string"},"projectId":{"description":"Project Identifier for the Entity\n","type":"string"},"specs":{"description":"List of Spce Fields.\n","items":{"$ref":"#/types/harness:platform/getVariablesSpec:getVariablesSpec"},"type":"array"},"type":{"description":"Type of Variable\n","type":"string"}},"required":["description","identifier","name","specs","type","id"],"type":"object"}},"harness:platform/getVaultConnector:getVaultConnector":{"description":"DataSource for looking up a Vault connector in Harness.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst example = harness.platform.getVaultConnector({\n    identifier: \"identifier\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nexample = harness.platform.get_vault_connector(identifier=\"identifier\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var example = Harness.Platform.GetVaultConnector.Invoke(new()\n    {\n        Identifier = \"identifier\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupVaultConnector(ctx, \u0026platform.LookupVaultConnectorArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetVaultConnectorArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var example = PlatformFunctions.getVaultConnector(GetVaultConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  example:\n    fn::invoke:\n      function: harness:platform:getVaultConnector\n      arguments:\n        identifier: identifier\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getVaultConnector.\n","properties":{"identifier":{"type":"string","description":"Unique identifier of the resource.\n","willReplaceOnChanges":true},"name":{"type":"string","description":"Name of the resource.\n"},"orgId":{"type":"string","description":"Unique identifier of the organization.\n"},"projectId":{"type":"string","description":"Unique identifier of the project.\n"}},"type":"object","required":["identifier"]},"outputs":{"description":"A collection of values returned by getVaultConnector.\n","properties":{"accessType":{"description":"Access type.\n","type":"string"},"appRoleId":{"description":"ID of App Role.\n","type":"string"},"authToken":{"description":"The authentication token for Vault.\n","type":"string"},"awsRegion":{"description":"The AWS region where AWS IAM auth will happen.\n","type":"string"},"basePath":{"description":"The location of the Vault directory where Secret will be stored.\n","type":"string"},"default":{"description":"Is default or not.\n","type":"boolean"},"delegateSelectors":{"description":"List of Delegate Selectors that belong to the same Delegate and are used to connect to the Secret Manager.\n","items":{"type":"string"},"type":"array"},"description":{"description":"Description of the resource.\n","type":"string"},"executeOnDelegate":{"description":"Execute on delegate or not.\n","type":"boolean"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Unique identifier of the resource.\n","type":"string"},"isDefault":{"description":"Is default or not.\n","type":"boolean"},"isReadOnly":{"description":"Read only or not.\n","type":"boolean"},"k8sAuthEndpoint":{"description":"The path where kubernetes auth is enabled in Vault.\n","type":"string"},"name":{"description":"Name of the resource.\n","type":"string"},"namespace":{"description":"The Vault namespace where Secret will be created.\n","type":"string"},"orgId":{"description":"Unique identifier of the organization.\n","type":"string"},"projectId":{"description":"Unique identifier of the project.\n","type":"string"},"readOnly":{"description":"Read only.\n","type":"boolean"},"renewAppRoleToken":{"description":"Boolean value to indicate if appRole token renewal is enabled or not.\n","type":"boolean"},"renewalIntervalMinutes":{"description":"The time interval for token renewal.\n","type":"integer"},"secretEngineManuallyConfigured":{"description":"Manually entered Secret Engine.\n","type":"boolean"},"secretEngineName":{"description":"Name of the Secret Engine.\n","type":"string"},"secretEngineVersion":{"description":"Version of Secret Engine.\n","type":"integer"},"secretId":{"description":"ID of the Secret.\n","type":"string"},"serviceAccountTokenPath":{"description":"The SA token path where the token is mounted in the K8s Pod.\n","type":"string"},"sinkPath":{"description":"The location at which auth token is to be read from.\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"useAwsIam":{"description":"Boolean value to indicate if AWS IAM is used for authentication.\n","type":"boolean"},"useJwtAuth":{"description":"Boolean value to indicate if JWT is used for authentication.\n","type":"boolean"},"useK8sAuth":{"description":"Boolean value to indicate if K8s Auth is used for authentication.\n","type":"boolean"},"useVaultAgent":{"description":"Boolean value to indicate if Vault Agent is used for authentication.\n","type":"boolean"},"vaultAwsIamRole":{"description":"The Vault role defined to bind to AWS IAM account/role being accessed.\n","type":"string"},"vaultJwtAuthPath":{"description":"Custom path at with JWT auth in enabled for Vault\n","type":"string"},"vaultJwtAuthRole":{"description":"The Vault role defined with JWT auth type for accessing Vault as per policies binded.\n","type":"string"},"vaultK8sAuthRole":{"description":"The role where K8s auth will happen.\n","type":"string"},"vaultUrl":{"description":"URL of the HashiCorp Vault.\n","type":"string"},"xvaultAwsIamServerId":{"description":"The AWS IAM Header Server ID that has been configured for this AWS IAM instance.\n","type":"string"}},"required":["accessType","appRoleId","authToken","awsRegion","basePath","default","delegateSelectors","description","executeOnDelegate","identifier","isDefault","isReadOnly","k8sAuthEndpoint","namespace","readOnly","renewAppRoleToken","renewalIntervalMinutes","secretEngineManuallyConfigured","secretEngineName","secretEngineVersion","secretId","serviceAccountTokenPath","sinkPath","tags","useAwsIam","useJwtAuth","useK8sAuth","useVaultAgent","vaultAwsIamRole","vaultJwtAuthPath","vaultJwtAuthRole","vaultK8sAuthRole","vaultUrl","xvaultAwsIamServerId","id"],"type":"object"}},"harness:platform/getWorkspace:getWorkspace":{"description":"Data source for retrieving workspaces.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getWorkspace({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_workspace(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetWorkspace.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.LookupWorkspace(ctx, \u0026platform.LookupWorkspaceArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      \"org_id\",\n\t\t\tProjectId:  \"project_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetWorkspaceArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getWorkspace(GetWorkspaceArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getWorkspace\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkspace.\n","properties":{"connectors":{"type":"array","items":{"$ref":"#/types/harness:platform/getWorkspaceConnector:getWorkspaceConnector"},"description":"Provider connectors configured on the Workspace. Only one connector of a type is supported\n"},"description":{"type":"string","description":"Description of the Workspace\n"},"environmentVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/getWorkspaceEnvironmentVariable:getWorkspaceEnvironmentVariable"},"description":"Environment variables configured on the workspace\n"},"identifier":{"type":"string","description":"Identifier of the Workspace\n"},"orgId":{"type":"string","description":"Organization Identifier\n"},"projectId":{"type":"string","description":"Project Identifier\n"},"repositoryBranch":{"type":"string","description":"Repository Branch in which the code should be accessed\n"},"repositoryCommit":{"type":"string","description":"Repository Tag in which the code should be accessed\n"},"repositorySha":{"type":"string","description":"Repository Commit SHA in which the code should be accessed\n"},"tags":{"type":"array","items":{"type":"string"},"description":"Tags to associate with the resource.\n"},"terraformVariableFiles":{"type":"array","items":{"$ref":"#/types/harness:platform/getWorkspaceTerraformVariableFile:getWorkspaceTerraformVariableFile"},"description":"Terraform variables files configured on the workspace (see below for nested schema)\n"},"terraformVariables":{"type":"array","items":{"$ref":"#/types/harness:platform/getWorkspaceTerraformVariable:getWorkspaceTerraformVariable"},"description":"Terraform variables configured on the workspace (see below for nested schema)\n"},"variableSets":{"type":"array","items":{"type":"string"},"description":"Variable sets to use.\n"}},"type":"object","required":["identifier","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getWorkspace.\n","properties":{"connectors":{"description":"Provider connectors configured on the Workspace. Only one connector of a type is supported\n","items":{"$ref":"#/types/harness:platform/getWorkspaceConnector:getWorkspaceConnector"},"type":"array"},"costEstimationEnabled":{"description":"If enabled cost estimation operations will be performed in this workspace\n","type":"boolean"},"defaultPipelines":{"additionalProperties":{"type":"string"},"description":"Default pipelines associated with this workspace\n","type":"object"},"description":{"description":"Description of the Workspace\n","type":"string"},"environmentVariables":{"description":"Environment variables configured on the workspace\n","items":{"$ref":"#/types/harness:platform/getWorkspaceEnvironmentVariable:getWorkspaceEnvironmentVariable"},"type":"array"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the Workspace\n","type":"string"},"name":{"description":"Name of the Workspace\n","type":"string"},"orgId":{"description":"Organization Identifier\n","type":"string"},"projectId":{"description":"Project Identifier\n","type":"string"},"providerConnector":{"description":"Provider Connector is the reference to the connector for the infrastructure provider\n","type":"string"},"provisionerType":{"description":"Provisioner type defines the provisioning tool to use.\n","type":"string"},"provisionerVersion":{"description":"Provisioner Version defines the tool version to use\n","type":"string"},"repository":{"description":"Repository is the name of the repository to use\n","type":"string"},"repositoryBranch":{"description":"Repository Branch in which the code should be accessed\n","type":"string"},"repositoryCommit":{"description":"Repository Tag in which the code should be accessed\n","type":"string"},"repositoryConnector":{"description":"Repository Connector is the reference to the connector to use for this code\n","type":"string"},"repositoryPath":{"description":"Repository Path is the path in which the infra code resides\n","type":"string"},"repositorySha":{"description":"Repository Commit SHA in which the code should be accessed\n","type":"string"},"tags":{"description":"Tags to associate with the resource.\n","items":{"type":"string"},"type":"array"},"terraformVariableFiles":{"description":"Terraform variables files configured on the workspace (see below for nested schema)\n","items":{"$ref":"#/types/harness:platform/getWorkspaceTerraformVariableFile:getWorkspaceTerraformVariableFile"},"type":"array"},"terraformVariables":{"description":"Terraform variables configured on the workspace (see below for nested schema)\n","items":{"$ref":"#/types/harness:platform/getWorkspaceTerraformVariable:getWorkspaceTerraformVariable"},"type":"array"},"variableSets":{"description":"Variable sets to use.\n","items":{"type":"string"},"type":"array"}},"required":["costEstimationEnabled","defaultPipelines","description","environmentVariables","identifier","name","orgId","projectId","providerConnector","provisionerType","provisionerVersion","repository","repositoryBranch","repositoryCommit","repositoryConnector","repositoryPath","repositorySha","terraformVariables","terraformVariableFiles","variableSets","id"],"type":"object"}},"harness:platform/getWorkspaceOutputValue:getWorkspaceOutputValue":{"description":"Data source for retrieving workspace outputs.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst test = harness.platform.getWorkspaceOutputValue({\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\ntest = harness.platform.get_workspace_output_value(identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    var test = Harness.Platform.GetWorkspaceOutputValue.Invoke(new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/platform\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t_, err := platform.GetWorkspaceOutputValue(ctx, \u0026platform.GetWorkspaceOutputValueArgs{\n\t\t\tIdentifier: \"identifier\",\n\t\t\tOrgId:      \"org_id\",\n\t\t\tProjectId:  \"project_id\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetWorkspaceOutputValueArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        final var test = PlatformFunctions.getWorkspaceOutputValue(GetWorkspaceOutputValueArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  test:\n    fn::invoke:\n      function: harness:platform:getWorkspaceOutputValue\n      arguments:\n        identifier: identifier\n        orgId: org_id\n        projectId: project_id\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getWorkspaceOutputValue.\n","properties":{"identifier":{"type":"string","description":"Identifier of the Workspace.\n"},"orgId":{"type":"string","description":"Organization identifier of the organization the workspace resides in.\n"},"projectId":{"type":"string","description":"Project identifier of the project the workspace resides in.\n"}},"type":"object","required":["identifier","orgId","projectId"]},"outputs":{"description":"A collection of values returned by getWorkspaceOutputValue.\n","properties":{"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"identifier":{"description":"Identifier of the Workspace.\n","type":"string"},"orgId":{"description":"Organization identifier of the organization the workspace resides in.\n","type":"string"},"outputValues":{"items":{"$ref":"#/types/harness:platform/getWorkspaceOutputValueOutputValue:getWorkspaceOutputValueOutputValue"},"type":"array"},"projectId":{"description":"Project identifier of the project the workspace resides in.\n","type":"string"}},"required":["identifier","orgId","outputValues","projectId","id"],"type":"object"}},"harness:service/getDiscoveryAgent:getDiscoveryAgent":{"description":"Data source for retrieving a Harness Service Discovery Agent.\n\nThis data source allows you to fetch details of a Service Discovery Agent using either its unique identifier or name.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Data source to fetch a specific agent by name\nconst byName = harness.service.getDiscoveryAgent({\n    name: \"example-agent\",\n    orgIdentifier: orgIdentifier,\n    projectIdentifier: projectIdentifier,\n    environmentIdentifier: environmentIdentifier,\n});\nexport const agentDetailsByName = byName;\n// Data source to fetch a specific agent by identity\nconst byIdentity = harness.service.getDiscoveryAgent({\n    identity: \"example-infra\",\n    orgIdentifier: orgIdentifier,\n    projectIdentifier: projectIdentifier,\n    environmentIdentifier: environmentIdentifier,\n});\nexport const agentDetailsByIdentity = byIdentity;\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Data source to fetch a specific agent by name\nby_name = harness.service.get_discovery_agent(name=\"example-agent\",\n    org_identifier=org_identifier,\n    project_identifier=project_identifier,\n    environment_identifier=environment_identifier)\npulumi.export(\"agentDetailsByName\", by_name)\n# Data source to fetch a specific agent by identity\nby_identity = harness.service.get_discovery_agent(identity=\"example-infra\",\n    org_identifier=org_identifier,\n    project_identifier=project_identifier,\n    environment_identifier=environment_identifier)\npulumi.export(\"agentDetailsByIdentity\", by_identity)\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Data source to fetch a specific agent by name\n    var byName = Harness.Service.GetDiscoveryAgent.Invoke(new()\n    {\n        Name = \"example-agent\",\n        OrgIdentifier = orgIdentifier,\n        ProjectIdentifier = projectIdentifier,\n        EnvironmentIdentifier = environmentIdentifier,\n    });\n\n    // Data source to fetch a specific agent by identity\n    var byIdentity = Harness.Service.GetDiscoveryAgent.Invoke(new()\n    {\n        Identity = \"example-infra\",\n        OrgIdentifier = orgIdentifier,\n        ProjectIdentifier = projectIdentifier,\n        EnvironmentIdentifier = environmentIdentifier,\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"agentDetailsByName\"] = byName,\n        [\"agentDetailsByIdentity\"] = byIdentity,\n    };\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Data source to fetch a specific agent by name\n\t\tbyName, err := service.LookupDiscoveryAgent(ctx, \u0026service.LookupDiscoveryAgentArgs{\n\t\t\tName:                  pulumi.StringRef(\"example-agent\"),\n\t\t\tOrgIdentifier:         pulumi.StringRef(orgIdentifier),\n\t\t\tProjectIdentifier:     pulumi.StringRef(projectIdentifier),\n\t\t\tEnvironmentIdentifier: environmentIdentifier,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"agentDetailsByName\", byName)\n\t\t// Data source to fetch a specific agent by identity\n\t\tbyIdentity, err := service.LookupDiscoveryAgent(ctx, \u0026service.LookupDiscoveryAgentArgs{\n\t\t\tIdentity:              pulumi.StringRef(\"example-infra\"),\n\t\t\tOrgIdentifier:         pulumi.StringRef(orgIdentifier),\n\t\t\tProjectIdentifier:     pulumi.StringRef(projectIdentifier),\n\t\t\tEnvironmentIdentifier: environmentIdentifier,\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"agentDetailsByIdentity\", byIdentity)\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.service.ServiceFunctions;\nimport com.pulumi.harness.service.inputs.GetDiscoveryAgentArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Data source to fetch a specific agent by name\n        final var byName = ServiceFunctions.getDiscoveryAgent(GetDiscoveryAgentArgs.builder()\n            .name(\"example-agent\")\n            .orgIdentifier(orgIdentifier)\n            .projectIdentifier(projectIdentifier)\n            .environmentIdentifier(environmentIdentifier)\n            .build());\n\n        ctx.export(\"agentDetailsByName\", byName);\n        // Data source to fetch a specific agent by identity\n        final var byIdentity = ServiceFunctions.getDiscoveryAgent(GetDiscoveryAgentArgs.builder()\n            .identity(\"example-infra\")\n            .orgIdentifier(orgIdentifier)\n            .projectIdentifier(projectIdentifier)\n            .environmentIdentifier(environmentIdentifier)\n            .build());\n\n        ctx.export(\"agentDetailsByIdentity\", byIdentity);\n    }\n}\n```\n```yaml\nvariables:\n  # Data source to fetch a specific agent by name\n  byName:\n    fn::invoke:\n      function: harness:service:getDiscoveryAgent\n      arguments:\n        name: example-agent\n        orgIdentifier: ${orgIdentifier}\n        projectIdentifier: ${projectIdentifier}\n        environmentIdentifier: ${environmentIdentifier}\n  # Data source to fetch a specific agent by identity\n  byIdentity:\n    fn::invoke:\n      function: harness:service:getDiscoveryAgent\n      arguments:\n        identity: example-infra\n        orgIdentifier: ${orgIdentifier}\n        projectIdentifier: ${projectIdentifier}\n        environmentIdentifier: ${environmentIdentifier}\noutputs:\n  agentDetailsByName: ${byName}\n  agentDetailsByIdentity: ${byIdentity}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDiscoveryAgent.\n","properties":{"environmentIdentifier":{"type":"string","description":"The environment identifier of the agent. This is a required field.\n"},"identity":{"type":"string","description":"The unique identity of the agent. Either this or 'name' must be provided.\n"},"name":{"type":"string","description":"The name of the agent. Either this or 'identity' must be provided.\n"},"orgIdentifier":{"type":"string","description":"The organization identifier of the agent (optional). Must be 1-64 characters and contain only alphanumeric characters, hyphens, or underscores.\n"},"projectIdentifier":{"type":"string","description":"The project identifier of the agent (optional). Must be 1-64 characters and contain only alphanumeric characters, hyphens, or underscores.\n"}},"type":"object","required":["environmentIdentifier"]},"outputs":{"description":"A collection of values returned by getDiscoveryAgent.\n","properties":{"configs":{"description":"Configuration for the agent.\n","items":{"$ref":"#/types/harness:service/getDiscoveryAgentConfig:getDiscoveryAgentConfig"},"type":"array"},"correlationId":{"description":"Correlation ID for the agent.\n","type":"string"},"createdAt":{"description":"Timestamp when the agent was created.\n","type":"string"},"createdBy":{"description":"User who created the agent.\n","type":"string"},"description":{"description":"Description of the agent.\n","type":"string"},"environmentIdentifier":{"description":"The environment identifier of the agent. This is a required field.\n","type":"string"},"id":{"description":"The unique identifier of the agent.\n","type":"string"},"identity":{"description":"The unique identity of the agent. Either this or 'name' must be provided.\n","type":"string"},"installationDetails":{"description":"Installation details of the agent.\n","items":{"$ref":"#/types/harness:service/getDiscoveryAgentInstallationDetail:getDiscoveryAgentInstallationDetail"},"type":"array"},"installationType":{"description":"Type of installation for the agent.\n","type":"string"},"name":{"description":"The name of the agent. Either this or 'identity' must be provided.\n","type":"string"},"networkMapCount":{"description":"Number of network maps associated with this agent.\n","type":"integer"},"orgIdentifier":{"description":"The organization identifier of the agent (optional). Must be 1-64 characters and contain only alphanumeric characters, hyphens, or underscores.\n","type":"string"},"permanentInstallation":{"description":"Whether this is a permanent installation.\n","type":"boolean"},"projectIdentifier":{"description":"The project identifier of the agent (optional). Must be 1-64 characters and contain only alphanumeric characters, hyphens, or underscores.\n","type":"string"},"removed":{"description":"Whether the agent has been removed.\n","type":"boolean"},"removedAt":{"description":"Timestamp when the agent was removed.\n","type":"string"},"serviceCount":{"description":"Number of services managed by this agent.\n","type":"integer"},"tags":{"description":"Key-value list of resource tags for the agent.\n","items":{"type":"string"},"type":"array"},"updatedAt":{"description":"Timestamp when the agent was last updated.\n","type":"string"},"updatedBy":{"description":"User who last updated the agent.\n","type":"string"},"webhookUrl":{"description":"Webhook URL for the agent.\n","type":"string"}},"required":["configs","correlationId","createdAt","createdBy","description","environmentIdentifier","id","installationDetails","installationType","networkMapCount","permanentInstallation","removed","removedAt","serviceCount","tags","updatedAt","updatedBy","webhookUrl"],"type":"object"}},"harness:service/getDiscoverySetting:getDiscoverySetting":{"description":"Data source for retrieving service discovery settings.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Data source to fetch service discovery setting by name\nconst example = harness.service.getDiscoverySetting({\n    orgIdentifier: \"\u003corg_identifier\u003e\",\n    projectIdentifier: \"\u003cproject_identifier\u003e\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Data source to fetch service discovery setting by name\nexample = harness.service.get_discovery_setting(org_identifier=\"\u003corg_identifier\u003e\",\n    project_identifier=\"\u003cproject_identifier\u003e\")\n```\n```csharp\nusing System.Collections.Generic;\nusing System.Linq;\nusing Pulumi;\nusing Harness = Pulumi.Harness;\n\nreturn await Deployment.RunAsync(() =\u003e \n{\n    // Data source to fetch service discovery setting by name\n    var example = Harness.Service.GetDiscoverySetting.Invoke(new()\n    {\n        OrgIdentifier = \"\u003corg_identifier\u003e\",\n        ProjectIdentifier = \"\u003cproject_identifier\u003e\",\n    });\n\n});\n```\n```go\npackage main\n\nimport (\n\t\"github.com/pulumi/pulumi-harness/sdk/go/harness/service\"\n\t\"github.com/pulumi/pulumi/sdk/v3/go/pulumi\"\n)\n\nfunc main() {\n\tpulumi.Run(func(ctx *pulumi.Context) error {\n\t\t// Data source to fetch service discovery setting by name\n\t\t_, err := service.LookupDiscoverySetting(ctx, \u0026service.LookupDiscoverySettingArgs{\n\t\t\tOrgIdentifier:     pulumi.StringRef(\"\u003corg_identifier\u003e\"),\n\t\t\tProjectIdentifier: pulumi.StringRef(\"\u003cproject_identifier\u003e\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\treturn nil\n\t})\n}\n```\n```java\npackage generated_program;\n\nimport com.pulumi.Context;\nimport com.pulumi.Pulumi;\nimport com.pulumi.core.Output;\nimport com.pulumi.harness.service.ServiceFunctions;\nimport com.pulumi.harness.service.inputs.GetDiscoverySettingArgs;\nimport java.util.List;\nimport java.util.ArrayList;\nimport java.util.Map;\nimport java.io.File;\nimport java.nio.file.Files;\nimport java.nio.file.Paths;\n\npublic class App {\n    public static void main(String[] args) {\n        Pulumi.run(App::stack);\n    }\n\n    public static void stack(Context ctx) {\n        // Data source to fetch service discovery setting by name\n        final var example = ServiceFunctions.getDiscoverySetting(GetDiscoverySettingArgs.builder()\n            .orgIdentifier(\"\u003corg_identifier\u003e\")\n            .projectIdentifier(\"\u003cproject_identifier\u003e\")\n            .build());\n\n    }\n}\n```\n```yaml\nvariables:\n  # Data source to fetch service discovery setting by name\n  example:\n    fn::invoke:\n      function: harness:service:getDiscoverySetting\n      arguments:\n        orgIdentifier: \u003corg_identifier\u003e\n        projectIdentifier: \u003cproject_identifier\u003e\n```\n\u003c!--End PulumiCodeChooser --\u003e\n","inputs":{"description":"A collection of arguments for invoking getDiscoverySetting.\n","properties":{"correlationId":{"type":"string","description":"Correlation ID for the request.\n"},"orgIdentifier":{"type":"string","description":"The organization identifier.\n"},"projectIdentifier":{"type":"string","description":"The project identifier.\n"}},"type":"object"},"outputs":{"description":"A collection of values returned by getDiscoverySetting.\n","properties":{"correlationId":{"description":"Correlation ID for the request.\n","type":"string"},"createdAt":{"description":"Timestamp when the setting was created.\n","type":"string"},"id":{"description":"The provider-assigned unique ID for this managed resource.","type":"string"},"imageRegistries":{"description":"Image registry configuration.\n","items":{"$ref":"#/types/harness:service/getDiscoverySettingImageRegistry:getDiscoverySettingImageRegistry"},"type":"array"},"orgIdentifier":{"description":"The organization identifier.\n","type":"string"},"projectIdentifier":{"description":"The project identifier.\n","type":"string"},"updatedAt":{"description":"Timestamp when the setting was last updated.\n","type":"string"}},"required":["createdAt","imageRegistries","updatedAt","id"],"type":"object"}},"pulumi:providers:harness/terraformConfig":{"description":"This function returns a Terraform config object with terraform-namecased keys,to be used with the Terraform Module Provider.","inputs":{"properties":{"__self__":{"type":"ref","$ref":"#/provider"}},"type":"pulumi:providers:harness/terraformConfig","required":["__self__"]},"outputs":{"properties":{"result":{"additionalProperties":{"$ref":"pulumi.json#/Any"},"type":"object"}},"required":["result"],"type":"object"}}}}