{
    "name": "harness",
    "displayName": "Harness",
    "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/AlertRecipients:AlertRecipients": {
            "properties": {
                "emails": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of email addresses to notify. Required if \u003cspan pulumi-lang-nodejs=\"`slack`\" pulumi-lang-dotnet=\"`Slack`\" pulumi-lang-go=\"`slack`\" pulumi-lang-python=\"`slack`\" pulumi-lang-yaml=\"`slack`\" pulumi-lang-java=\"`slack`\" pulumi-lang-hcl=\"`slack`\"\u003e`slack`\u003c/span\u003e is not set.\n"
                },
                "slacks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Slack webhook URLs or channel identifiers to notify. Required if \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e is not set.\n"
                }
            },
            "type": "object"
        },
        "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/RuleK8sDepend:RuleK8sDepend": {
            "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/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": "Action to take for the routing rule\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path to use for the proxy\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": "Action to take for the routing rule\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path to use for the proxy\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/getAlertRecipients:getAlertRecipients": {
            "properties": {
                "emails": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of email addresses.\n"
                },
                "slacks": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of Slack webhook URLs or channel identifiers.\n"
                }
            },
            "type": "object"
        },
        "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/getRuleK8sDepend:getRuleK8sDepend": {
            "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/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": "Action to take for the routing rule\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path to use for the proxy\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": "Action to take for the routing rule\n"
                },
                "path": {
                    "type": "string",
                    "description": "Path to use for the proxy\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/getRulesRule:getRulesRule": {
            "properties": {
                "cloudConnectorId": {
                    "type": "string",
                    "description": "Id of the cloud connector.\n"
                },
                "id": {
                    "type": "number",
                    "description": "Unique identifier of the rule.\n"
                },
                "kind": {
                    "type": "string",
                    "description": "Kind of the rule.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the rule.\n"
                }
            },
            "type": "object",
            "required": [
                "cloudConnectorId",
                "id",
                "kind",
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "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/ActionTemplateContainerAction:ActionTemplateContainerAction": {
            "properties": {
                "annotations": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Annotations to apply to the container pod.\n"
                },
                "args": {
                    "type": "string",
                    "description": "Arguments to pass to the container command.\n"
                },
                "commands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Command to run in the container.\n"
                },
                "envs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ActionTemplateContainerActionEnv:ActionTemplateContainerActionEnv"
                    },
                    "description": "Environment variables for the container.\n"
                },
                "hostIpc": {
                    "type": "boolean",
                    "description": "Use host IPC namespace.\n"
                },
                "hostNetwork": {
                    "type": "boolean",
                    "description": "Use host network namespace.\n"
                },
                "hostPid": {
                    "type": "boolean",
                    "description": "Use host PID namespace.\n"
                },
                "image": {
                    "type": "string",
                    "description": "Container image to use (e.g., 'busybox:latest').\n"
                },
                "imagePullPolicy": {
                    "type": "string",
                    "description": "Image pull policy (Always, IfNotPresent, Never). Supports runtime inputs like \u003c+input\u003e.allowedValues(...).\n"
                },
                "imagePullSecrets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of image pull secrets for private registries.\n"
                },
                "labels": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Labels to apply to the container pod.\n"
                },
                "namespace": {
                    "type": "string",
                    "description": "Kubernetes namespace for the container.\n"
                },
                "nodeSelector": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Node selector for pod scheduling.\n"
                },
                "resources": {
                    "$ref": "#/types/harness:chaos/ActionTemplateContainerActionResources:ActionTemplateContainerActionResources",
                    "description": "Resource requirements for the container.\n"
                },
                "serviceAccountName": {
                    "type": "string",
                    "description": "Kubernetes service account name.\n"
                },
                "tolerations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ActionTemplateContainerActionToleration:ActionTemplateContainerActionToleration"
                    },
                    "description": "Tolerations for pod scheduling on tainted nodes.\n"
                },
                "volumeMounts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ActionTemplateContainerActionVolumeMount:ActionTemplateContainerActionVolumeMount"
                    },
                    "description": "Volume mounts for the container.\n"
                },
                "volumes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ActionTemplateContainerActionVolume:ActionTemplateContainerActionVolume"
                    },
                    "description": "Volumes to attach to the pod.\n"
                }
            },
            "type": "object",
            "required": [
                "image"
            ]
        },
        "harness:chaos/ActionTemplateContainerActionEnv:ActionTemplateContainerActionEnv": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Environment variable name.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Environment variable value.\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/ActionTemplateContainerActionResources:ActionTemplateContainerActionResources": {
            "properties": {
                "limits": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Resource limits.\n"
                },
                "requests": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Resource requests.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ActionTemplateContainerActionToleration:ActionTemplateContainerActionToleration": {
            "properties": {
                "effect": {
                    "type": "string",
                    "description": "Taint effect (NoSchedule, PreferNoSchedule, NoExecute).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Taint key to tolerate.\n"
                },
                "operator": {
                    "type": "string",
                    "description": "Operator (Exists, Equal).\n"
                },
                "tolerationSeconds": {
                    "type": "integer",
                    "description": "Toleration seconds for NoExecute effect.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Taint value to tolerate.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ActionTemplateContainerActionVolume:ActionTemplateContainerActionVolume": {
            "properties": {
                "configMap": {
                    "$ref": "#/types/harness:chaos/ActionTemplateContainerActionVolumeConfigMap:ActionTemplateContainerActionVolumeConfigMap",
                    "description": "ConfigMap volume configuration.\n"
                },
                "emptyDir": {
                    "$ref": "#/types/harness:chaos/ActionTemplateContainerActionVolumeEmptyDir:ActionTemplateContainerActionVolumeEmptyDir",
                    "description": "EmptyDir volume configuration.\n"
                },
                "hostPath": {
                    "$ref": "#/types/harness:chaos/ActionTemplateContainerActionVolumeHostPath:ActionTemplateContainerActionVolumeHostPath",
                    "description": "HostPath volume configuration.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Volume name.\n"
                },
                "persistentVolumeClaim": {
                    "$ref": "#/types/harness:chaos/ActionTemplateContainerActionVolumePersistentVolumeClaim:ActionTemplateContainerActionVolumePersistentVolumeClaim",
                    "description": "PersistentVolumeClaim configuration.\n"
                },
                "secret": {
                    "$ref": "#/types/harness:chaos/ActionTemplateContainerActionVolumeSecret:ActionTemplateContainerActionVolumeSecret",
                    "description": "Secret volume configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/ActionTemplateContainerActionVolumeConfigMap:ActionTemplateContainerActionVolumeConfigMap": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "ConfigMap name.\n"
                },
                "optional": {
                    "type": "boolean",
                    "description": "Whether the ConfigMap is optional.\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/ActionTemplateContainerActionVolumeEmptyDir:ActionTemplateContainerActionVolumeEmptyDir": {
            "properties": {
                "medium": {
                    "type": "string",
                    "description": "Storage medium (empty string for default, Memory for tmpfs).\n"
                },
                "sizeLimit": {
                    "type": "string",
                    "description": "Size limit (e.g., '1Gi').\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ActionTemplateContainerActionVolumeHostPath:ActionTemplateContainerActionVolumeHostPath": {
            "properties": {
                "path": {
                    "type": "string",
                    "description": "Host path.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Host path type (Directory, File, etc.).\n"
                }
            },
            "type": "object",
            "required": [
                "path"
            ]
        },
        "harness:chaos/ActionTemplateContainerActionVolumeMount:ActionTemplateContainerActionVolumeMount": {
            "properties": {
                "mountPath": {
                    "type": "string",
                    "description": "Path to mount the volume in the container.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Volume name to mount.\n"
                },
                "readOnly": {
                    "type": "boolean",
                    "description": "Mount as read-only.\n"
                },
                "subPath": {
                    "type": "string",
                    "description": "Sub-path within the volume.\n"
                }
            },
            "type": "object",
            "required": [
                "mountPath",
                "name"
            ]
        },
        "harness:chaos/ActionTemplateContainerActionVolumePersistentVolumeClaim:ActionTemplateContainerActionVolumePersistentVolumeClaim": {
            "properties": {
                "claimName": {
                    "type": "string",
                    "description": "PVC name.\n"
                },
                "readOnly": {
                    "type": "boolean",
                    "description": "Mount as read-only.\n"
                }
            },
            "type": "object",
            "required": [
                "claimName"
            ]
        },
        "harness:chaos/ActionTemplateContainerActionVolumeSecret:ActionTemplateContainerActionVolumeSecret": {
            "properties": {
                "optional": {
                    "type": "boolean",
                    "description": "Whether the Secret is optional.\n"
                },
                "secretName": {
                    "type": "string",
                    "description": "Secret name.\n"
                }
            },
            "type": "object",
            "required": [
                "secretName"
            ]
        },
        "harness:chaos/ActionTemplateCustomScriptAction:ActionTemplateCustomScriptAction": {
            "properties": {
                "args": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Arguments to pass to the command.\n"
                },
                "command": {
                    "type": "string",
                    "description": "Command to execute (e.g., 'bash', 'python', 'sh').\n"
                },
                "envs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ActionTemplateCustomScriptActionEnv:ActionTemplateCustomScriptActionEnv"
                    },
                    "description": "Environment variables for the script.\n"
                }
            },
            "type": "object",
            "required": [
                "command"
            ]
        },
        "harness:chaos/ActionTemplateCustomScriptActionEnv:ActionTemplateCustomScriptActionEnv": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Environment variable name.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Environment variable value.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "harness:chaos/ActionTemplateDelayAction:ActionTemplateDelayAction": {
            "properties": {
                "duration": {
                    "type": "string",
                    "description": "Duration of the delay (e.g., '30s', '5m', '1h').\n"
                }
            },
            "type": "object",
            "required": [
                "duration"
            ]
        },
        "harness:chaos/ActionTemplateRunProperties:ActionTemplateRunProperties": {
            "properties": {
                "initialDelay": {
                    "type": "string",
                    "description": "Initial delay before action execution (e.g., '5s', '1m').\n"
                },
                "interval": {
                    "type": "string",
                    "description": "Interval between retries (e.g., '10s', '30s').\n"
                },
                "maxRetries": {
                    "type": "integer",
                    "description": "Maximum number of retries.\n"
                },
                "stopOnFailure": {
                    "type": "boolean",
                    "description": "Whether to stop on failure.\n"
                },
                "timeout": {
                    "type": "string",
                    "description": "Timeout for action execution (e.g., '5m', '10m').\n"
                },
                "verbosity": {
                    "type": "string",
                    "description": "Verbosity level for logging.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ActionTemplateVariable:ActionTemplateVariable": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Variable description.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Variable name.\n"
                },
                "required": {
                    "type": "boolean",
                    "description": "Whether the variable is required.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Variable type (e.g., 'string', 'number', 'boolean').\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "harness:chaos/ExperimentTemplateDetail:ExperimentTemplateDetail": {
            "properties": {
                "hubReference": {
                    "type": "string",
                    "description": "Hub reference where template resides\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Template identity\n"
                },
                "reference": {
                    "type": "string",
                    "description": "Full template reference\n"
                },
                "revision": {
                    "type": "string",
                    "description": "Template revision used\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "hubReference",
                        "identity",
                        "reference",
                        "revision"
                    ]
                }
            }
        },
        "harness:chaos/ExperimentTemplateSpec:ExperimentTemplateSpec": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecAction:ExperimentTemplateSpecAction"
                    },
                    "description": "List of actions in the experiment\n"
                },
                "cleanupPolicy": {
                    "type": "string",
                    "description": "Cleanup policy for experiment resources (retain, delete)\n"
                },
                "faults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecFault:ExperimentTemplateSpecFault"
                    },
                    "description": "List of faults in the experiment\n"
                },
                "infraId": {
                    "type": "string",
                    "description": "Infrastructure identifier (supports runtime input: \u003c+input\u003e)\n"
                },
                "infraType": {
                    "type": "string",
                    "description": "Infrastructure type (Windows, Linux, CloudFoundry, Container, Kubernetes, KubernetesV2)\n"
                },
                "probes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecProbe:ExperimentTemplateSpecProbe"
                    },
                    "description": "List of probes in the experiment\n"
                },
                "statusCheckTimeouts": {
                    "$ref": "#/types/harness:chaos/ExperimentTemplateSpecStatusCheckTimeouts:ExperimentTemplateSpecStatusCheckTimeouts",
                    "description": "Status check timeout configuration\n"
                },
                "vertices": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecVertex:ExperimentTemplateSpecVertex"
                    },
                    "description": "Workflow graph vertices defining execution order\n"
                }
            },
            "type": "object",
            "required": [
                "infraType"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecAction:ExperimentTemplateSpecAction": {
            "properties": {
                "conditionsV2": {
                    "$ref": "#/types/harness:chaos/ExperimentTemplateSpecActionConditionsV2:ExperimentTemplateSpecActionConditionsV2",
                    "description": "Execution conditions gating whether this action runs, evaluated as boolean values combined by the operator.\n"
                },
                "continueOnCompletion": {
                    "type": "boolean",
                    "description": "Whether to continue on completion\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Action template identity\n"
                },
                "infraId": {
                    "type": "string",
                    "description": "Infrastructure identifier for this action\n"
                },
                "isEnterprise": {
                    "type": "boolean",
                    "description": "Whether this is an enterprise action\n"
                },
                "name": {
                    "type": "string",
                    "description": "Action name\n"
                },
                "revision": {
                    "type": "integer",
                    "description": "Action template revision\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecActionValue:ExperimentTemplateSpecActionValue"
                    },
                    "description": "Variable values for the action\n"
                }
            },
            "type": "object",
            "required": [
                "identity",
                "name"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecActionConditionsV2:ExperimentTemplateSpecActionConditionsV2": {
            "properties": {
                "operator": {
                    "type": "string",
                    "description": "Logical operator combining values: AND (all true) or OR (any true).\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Boolean-parseable condition values (supports runtime input: \u003c+input\u003e).\n"
                }
            },
            "type": "object",
            "required": [
                "operator",
                "values"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecActionValue:ExperimentTemplateSpecActionValue": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Variable name\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value (supports runtime input: \u003c+input\u003e)\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecFault:ExperimentTemplateSpecFault": {
            "properties": {
                "authEnabled": {
                    "type": "boolean",
                    "description": "Whether authentication is enabled\n"
                },
                "conditionsV2": {
                    "$ref": "#/types/harness:chaos/ExperimentTemplateSpecFaultConditionsV2:ExperimentTemplateSpecFaultConditionsV2",
                    "description": "Execution conditions gating whether this fault runs, evaluated as boolean values combined by the operator.\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Fault template identity\n"
                },
                "infraId": {
                    "type": "string",
                    "description": "Infrastructure identifier for this fault\n"
                },
                "isEnterprise": {
                    "type": "boolean",
                    "description": "Whether this is an enterprise fault\n"
                },
                "name": {
                    "type": "string",
                    "description": "Fault name\n"
                },
                "revision": {
                    "type": "string",
                    "description": "Fault template revision\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecFaultValue:ExperimentTemplateSpecFaultValue"
                    },
                    "description": "Variable values for the fault\n"
                }
            },
            "type": "object",
            "required": [
                "identity",
                "name"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecFaultConditionsV2:ExperimentTemplateSpecFaultConditionsV2": {
            "properties": {
                "operator": {
                    "type": "string",
                    "description": "Logical operator combining values: AND (all true) or OR (any true).\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Boolean-parseable condition values (supports runtime input: \u003c+input\u003e).\n"
                }
            },
            "type": "object",
            "required": [
                "operator",
                "values"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecFaultValue:ExperimentTemplateSpecFaultValue": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Variable name\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value (supports runtime input: \u003c+input\u003e)\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecProbe:ExperimentTemplateSpecProbe": {
            "properties": {
                "conditions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecProbeCondition:ExperimentTemplateSpecProbeCondition"
                    },
                    "description": "Deprecated: no longer part of the experiment template API; use\u003cspan pulumi-lang-nodejs=\" conditionsV2 \" pulumi-lang-dotnet=\" ConditionsV2 \" pulumi-lang-go=\" conditionsV2 \" pulumi-lang-python=\" conditions_v2 \" pulumi-lang-yaml=\" conditionsV2 \" pulumi-lang-java=\" conditionsV2 \" pulumi-lang-hcl=\" conditions_v2 \"\u003e conditionsV2 \u003c/span\u003einstead. This field is ignored.\n",
                    "deprecationMessage": "conditions (execute_upon) is not supported by the experiment template API and is ignored. Use\u003cspan pulumi-lang-nodejs=\" conditionsV2 \" pulumi-lang-dotnet=\" ConditionsV2 \" pulumi-lang-go=\" conditionsV2 \" pulumi-lang-python=\" conditions_v2 \" pulumi-lang-yaml=\" conditionsV2 \" pulumi-lang-java=\" conditionsV2 \" pulumi-lang-hcl=\" conditions_v2 \"\u003e conditionsV2 \u003c/span\u003e(operator + values) instead."
                },
                "conditionsV2": {
                    "$ref": "#/types/harness:chaos/ExperimentTemplateSpecProbeConditionsV2:ExperimentTemplateSpecProbeConditionsV2",
                    "description": "Execution conditions gating whether this probe runs, evaluated as boolean values combined by the operator.\n"
                },
                "duration": {
                    "type": "string",
                    "description": "Probe duration\n"
                },
                "enableDataCollection": {
                    "type": "boolean",
                    "description": "Whether to enable data collection\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Probe template identity\n"
                },
                "infraId": {
                    "type": "string",
                    "description": "Infrastructure identifier for this probe\n"
                },
                "isEnterprise": {
                    "type": "boolean",
                    "description": "Whether this is an enterprise probe\n"
                },
                "name": {
                    "type": "string",
                    "description": "Probe name\n"
                },
                "revision": {
                    "type": "integer",
                    "description": "Probe template revision\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecProbeValue:ExperimentTemplateSpecProbeValue"
                    },
                    "description": "Variable values for the probe\n"
                },
                "weightage": {
                    "type": "integer",
                    "description": "Probe weightage for resilience score calculation\n"
                }
            },
            "type": "object",
            "required": [
                "identity",
                "name"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecProbeCondition:ExperimentTemplateSpecProbeCondition": {
            "properties": {
                "executeUpon": {
                    "type": "string",
                    "description": "When to execute the probe (onChaosStart, duringChaos, afterChaos)\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ExperimentTemplateSpecProbeConditionsV2:ExperimentTemplateSpecProbeConditionsV2": {
            "properties": {
                "operator": {
                    "type": "string",
                    "description": "Logical operator combining values: AND (all true) or OR (any true).\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Boolean-parseable condition values (supports runtime input: \u003c+input\u003e).\n"
                }
            },
            "type": "object",
            "required": [
                "operator",
                "values"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecProbeValue:ExperimentTemplateSpecProbeValue": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Variable name\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value (supports runtime input: \u003c+input\u003e)\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecStatusCheckTimeouts:ExperimentTemplateSpecStatusCheckTimeouts": {
            "properties": {
                "delay": {
                    "type": "integer",
                    "description": "Delay before status check (in seconds)\n"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Timeout for status check (in seconds)\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ExperimentTemplateSpecVertex:ExperimentTemplateSpecVertex": {
            "properties": {
                "end": {
                    "$ref": "#/types/harness:chaos/ExperimentTemplateSpecVertexEnd:ExperimentTemplateSpecVertexEnd",
                    "description": "End configuration for the vertex\n"
                },
                "name": {
                    "type": "string",
                    "description": "Vertex name\n"
                },
                "start": {
                    "$ref": "#/types/harness:chaos/ExperimentTemplateSpecVertexStart:ExperimentTemplateSpecVertexStart",
                    "description": "Start configuration for the vertex\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecVertexEnd:ExperimentTemplateSpecVertexEnd": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecVertexEndAction:ExperimentTemplateSpecVertexEndAction"
                    },
                    "description": "Actions to execute at end\n"
                },
                "faults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecVertexEndFault:ExperimentTemplateSpecVertexEndFault"
                    },
                    "description": "Faults to execute at end\n"
                },
                "probes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecVertexEndProbe:ExperimentTemplateSpecVertexEndProbe"
                    },
                    "description": "Probes to execute at end\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ExperimentTemplateSpecVertexEndAction:ExperimentTemplateSpecVertexEndAction": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Action name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecVertexEndFault:ExperimentTemplateSpecVertexEndFault": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Fault name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecVertexEndProbe:ExperimentTemplateSpecVertexEndProbe": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Probe name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecVertexStart:ExperimentTemplateSpecVertexStart": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecVertexStartAction:ExperimentTemplateSpecVertexStartAction"
                    },
                    "description": "Actions to execute at start\n"
                },
                "faults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecVertexStartFault:ExperimentTemplateSpecVertexStartFault"
                    },
                    "description": "Faults to execute at start\n"
                },
                "probes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpecVertexStartProbe:ExperimentTemplateSpecVertexStartProbe"
                    },
                    "description": "Probes to execute at start\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ExperimentTemplateSpecVertexStartAction:ExperimentTemplateSpecVertexStartAction": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Action name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecVertexStartFault:ExperimentTemplateSpecVertexStartFault": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Fault name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/ExperimentTemplateSpecVertexStartProbe:ExperimentTemplateSpecVertexStartProbe": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Probe name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/FaultTemplateLink:FaultTemplateLink": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Link name\n"
                },
                "url": {
                    "type": "string",
                    "description": "Link URL\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "url"
            ]
        },
        "harness:chaos/FaultTemplateSpec:FaultTemplateSpec": {
            "properties": {
                "chaos": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaos:FaultTemplateSpecChaos",
                    "description": "Chaos configuration\n"
                },
                "target": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecTarget:FaultTemplateSpecTarget",
                    "description": "Target configuration\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecChaos:FaultTemplateSpecChaos": {
            "properties": {
                "auth": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosAuth:FaultTemplateSpecChaosAuth",
                    "description": "Authentication configuration. NOT YET SUPPORTED: setting this block returns an error (it is not plumbed through to the API). Configure fault authentication in the Harness UI/API instead.\n"
                },
                "faultName": {
                    "type": "string",
                    "description": "Name of the fault. Note: API may return a default value (e.g., 'byoc-injector') instead of the configured value due to API limitations.\n"
                },
                "kubernetes": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosKubernetes:FaultTemplateSpecChaosKubernetes",
                    "description": "Kubernetes-specific chaos configuration\n"
                },
                "params": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosParam:FaultTemplateSpecChaosParam"
                    },
                    "description": "Fault parameters\n"
                },
                "statusCheckTimeouts": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosStatusCheckTimeouts:FaultTemplateSpecChaosStatusCheckTimeouts",
                    "description": "Status check timeout configuration\n"
                },
                "tls": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosTls:FaultTemplateSpecChaosTls",
                    "description": "TLS configuration. NOT YET SUPPORTED: setting this block returns an error (it is not plumbed through to the API). Configure fault TLS in the Harness UI/API instead.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecChaosAuth:FaultTemplateSpecChaosAuth": {
            "properties": {
                "aws": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosAuthAws:FaultTemplateSpecChaosAuthAws",
                    "description": "AWS authentication\n"
                },
                "azure": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosAuthAzure:FaultTemplateSpecChaosAuthAzure",
                    "description": "Azure authentication\n"
                },
                "gcp": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosAuthGcp:FaultTemplateSpecChaosAuthGcp",
                    "description": "GCP authentication\n"
                },
                "redis": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosAuthRedis:FaultTemplateSpecChaosAuthRedis",
                    "description": "Redis authentication\n"
                },
                "ssh": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosAuthSsh:FaultTemplateSpecChaosAuthSsh",
                    "description": "SSH authentication\n"
                },
                "vmware": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosAuthVmware:FaultTemplateSpecChaosAuthVmware",
                    "description": "VMware authentication\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecChaosAuthAws:FaultTemplateSpecChaosAuthAws": {
            "properties": {
                "accessKeyId": {
                    "type": "string",
                    "description": "AWS access key ID\n"
                },
                "region": {
                    "type": "string",
                    "description": "AWS region\n"
                },
                "secretAccessKey": {
                    "type": "string",
                    "description": "AWS secret access key\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "accessKeyId",
                "region",
                "secretAccessKey"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosAuthAzure:FaultTemplateSpecChaosAuthAzure": {
            "properties": {
                "clientId": {
                    "type": "string",
                    "description": "Azure client ID\n"
                },
                "clientSecret": {
                    "type": "string",
                    "description": "Azure client secret\n",
                    "secret": true
                },
                "subscriptionId": {
                    "type": "string",
                    "description": "Azure subscription ID\n"
                },
                "tenantId": {
                    "type": "string",
                    "description": "Azure tenant ID\n"
                }
            },
            "type": "object",
            "required": [
                "clientId",
                "clientSecret",
                "subscriptionId",
                "tenantId"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosAuthGcp:FaultTemplateSpecChaosAuthGcp": {
            "properties": {
                "projectId": {
                    "type": "string",
                    "description": "GCP project ID\n"
                },
                "serviceAccountKey": {
                    "type": "string",
                    "description": "GCP service account key (JSON)\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "projectId",
                "serviceAccountKey"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosAuthRedis:FaultTemplateSpecChaosAuthRedis": {
            "properties": {
                "password": {
                    "type": "string",
                    "description": "Redis password\n",
                    "secret": true
                },
                "username": {
                    "type": "string",
                    "description": "Redis username\n"
                }
            },
            "type": "object",
            "required": [
                "password"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosAuthSsh:FaultTemplateSpecChaosAuthSsh": {
            "properties": {
                "password": {
                    "type": "string",
                    "description": "SSH password\n",
                    "secret": true
                },
                "privateKey": {
                    "type": "string",
                    "description": "SSH private key\n",
                    "secret": true
                },
                "username": {
                    "type": "string",
                    "description": "SSH username\n"
                }
            },
            "type": "object",
            "required": [
                "username"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosAuthVmware:FaultTemplateSpecChaosAuthVmware": {
            "properties": {
                "password": {
                    "type": "string",
                    "description": "VMware password\n",
                    "secret": true
                },
                "username": {
                    "type": "string",
                    "description": "VMware username\n"
                },
                "vcenterServer": {
                    "type": "string",
                    "description": "vCenter server address\n"
                }
            },
            "type": "object",
            "required": [
                "password",
                "username",
                "vcenterServer"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosKubernetes:FaultTemplateSpecChaosKubernetes": {
            "properties": {
                "annotations": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Pod annotations\n"
                },
                "args": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Container arguments\n"
                },
                "commands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Container command\n"
                },
                "configMaps": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosKubernetesConfigMap:FaultTemplateSpecChaosKubernetesConfigMap"
                    },
                    "description": "ConfigMap volumes\n"
                },
                "containerSecurityContext": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosKubernetesContainerSecurityContext:FaultTemplateSpecChaosKubernetesContainerSecurityContext",
                    "description": "Container security context\n"
                },
                "envs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosKubernetesEnv:FaultTemplateSpecChaosKubernetesEnv"
                    },
                    "description": "Environment variables\n"
                },
                "hostFileVolumes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosKubernetesHostFileVolume:FaultTemplateSpecChaosKubernetesHostFileVolume"
                    },
                    "description": "Host path volumes\n"
                },
                "hostIpc": {
                    "type": "boolean",
                    "description": "Use host IPC namespace\n"
                },
                "hostNetwork": {
                    "type": "boolean",
                    "description": "Use host network namespace\n"
                },
                "hostPid": {
                    "type": "boolean",
                    "description": "Use host PID namespace\n"
                },
                "image": {
                    "type": "string",
                    "description": "Container image for chaos experiment\n"
                },
                "imagePullPolicy": {
                    "type": "string",
                    "description": "Image pull policy\n"
                },
                "imagePullSecrets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Image pull secrets\n"
                },
                "labels": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Pod labels\n"
                },
                "nodeSelector": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Node selector for pod scheduling\n"
                },
                "podSecurityContext": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosKubernetesPodSecurityContext:FaultTemplateSpecChaosKubernetesPodSecurityContext",
                    "description": "Pod security context\n"
                },
                "resources": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosKubernetesResources:FaultTemplateSpecChaosKubernetesResources",
                    "description": "Resource requirements\n"
                },
                "secrets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosKubernetesSecret:FaultTemplateSpecChaosKubernetesSecret"
                    },
                    "description": "Secret volumes\n"
                },
                "tolerations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosKubernetesToleration:FaultTemplateSpecChaosKubernetesToleration"
                    },
                    "description": "Pod tolerations\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecChaosKubernetesConfigMap:FaultTemplateSpecChaosKubernetesConfigMap": {
            "properties": {
                "mountMode": {
                    "type": "integer",
                    "description": "Mount mode (0-3)\n"
                },
                "mountPath": {
                    "type": "string",
                    "description": "Mount path\n"
                },
                "name": {
                    "type": "string",
                    "description": "ConfigMap name\n"
                }
            },
            "type": "object",
            "required": [
                "mountPath",
                "name"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosKubernetesContainerSecurityContext:FaultTemplateSpecChaosKubernetesContainerSecurityContext": {
            "properties": {
                "allowPrivilegeEscalation": {
                    "type": "boolean",
                    "description": "Allow privilege escalation\n"
                },
                "capabilities": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecChaosKubernetesContainerSecurityContextCapabilities:FaultTemplateSpecChaosKubernetesContainerSecurityContextCapabilities",
                    "description": "Linux capabilities\n"
                },
                "privileged": {
                    "type": "boolean",
                    "description": "Run container in privileged mode\n"
                },
                "readOnlyRootFilesystem": {
                    "type": "boolean",
                    "description": "Mount root filesystem as read-only\n"
                },
                "runAsGroup": {
                    "type": "integer",
                    "description": "Group ID to run as\n"
                },
                "runAsNonRoot": {
                    "type": "boolean",
                    "description": "Run as non-root user\n"
                },
                "runAsUser": {
                    "type": "integer",
                    "description": "User ID to run as\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecChaosKubernetesContainerSecurityContextCapabilities:FaultTemplateSpecChaosKubernetesContainerSecurityContextCapabilities": {
            "properties": {
                "adds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Capabilities to add\n"
                },
                "drops": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Capabilities to drop\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecChaosKubernetesEnv:FaultTemplateSpecChaosKubernetesEnv": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Environment variable name\n"
                },
                "value": {
                    "type": "string",
                    "description": "Environment variable value\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosKubernetesHostFileVolume:FaultTemplateSpecChaosKubernetesHostFileVolume": {
            "properties": {
                "hostPath": {
                    "type": "string",
                    "description": "Host path on the node\n"
                },
                "mountPath": {
                    "type": "string",
                    "description": "Mount path\n"
                },
                "name": {
                    "type": "string",
                    "description": "Volume name\n"
                },
                "type": {
                    "type": "string",
                    "description": "Host path type (e.g., Directory, File, BlockDevice, CharDevice)\n"
                }
            },
            "type": "object",
            "required": [
                "mountPath",
                "name"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosKubernetesPodSecurityContext:FaultTemplateSpecChaosKubernetesPodSecurityContext": {
            "properties": {
                "fsGroup": {
                    "type": "integer",
                    "description": "Filesystem group ID\n"
                },
                "runAsGroup": {
                    "type": "integer",
                    "description": "Group ID to run as\n"
                },
                "runAsNonRoot": {
                    "type": "boolean",
                    "description": "Run as non-root user\n"
                },
                "runAsUser": {
                    "type": "integer",
                    "description": "User ID to run as\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecChaosKubernetesResources:FaultTemplateSpecChaosKubernetesResources": {
            "properties": {
                "limits": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Resource limits\n"
                },
                "requests": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Resource requests\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecChaosKubernetesSecret:FaultTemplateSpecChaosKubernetesSecret": {
            "properties": {
                "mountMode": {
                    "type": "integer",
                    "description": "Mount mode (0-3)\n"
                },
                "mountPath": {
                    "type": "string",
                    "description": "Mount path\n"
                },
                "secretName": {
                    "type": "string",
                    "description": "Secret name\n"
                }
            },
            "type": "object",
            "required": [
                "mountPath",
                "secretName"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosKubernetesToleration:FaultTemplateSpecChaosKubernetesToleration": {
            "properties": {
                "effect": {
                    "type": "string",
                    "description": "Toleration effect (NoSchedule, PreferNoSchedule, NoExecute)\n"
                },
                "key": {
                    "type": "string",
                    "description": "Toleration key\n"
                },
                "operator": {
                    "type": "string",
                    "description": "Toleration operator (Equal, Exists)\n"
                },
                "tolerationSeconds": {
                    "type": "integer",
                    "description": "Toleration seconds\n"
                },
                "value": {
                    "type": "string",
                    "description": "Toleration value\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecChaosParam:FaultTemplateSpecChaosParam": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Parameter name\n"
                },
                "value": {
                    "type": "string",
                    "description": "Parameter value\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "harness:chaos/FaultTemplateSpecChaosStatusCheckTimeouts:FaultTemplateSpecChaosStatusCheckTimeouts": {
            "properties": {
                "delay": {
                    "type": "integer",
                    "description": "Delay before status check (seconds)\n"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Timeout for status check (seconds)\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecChaosTls:FaultTemplateSpecChaosTls": {
            "properties": {
                "caCertificate": {
                    "type": "string",
                    "description": "CA certificate\n"
                },
                "clientCertificate": {
                    "type": "string",
                    "description": "Client certificate\n"
                },
                "clientKey": {
                    "type": "string",
                    "description": "Client key\n",
                    "secret": true
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecTarget:FaultTemplateSpecTarget": {
            "properties": {
                "application": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpecTargetApplication:FaultTemplateSpecTargetApplication",
                    "description": "Application target configuration\n"
                },
                "kubernetes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateSpecTargetKubernete:FaultTemplateSpecTargetKubernete"
                    },
                    "description": "Kubernetes target configuration\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecTargetApplication:FaultTemplateSpecTargetApplication": {
            "properties": {
                "appKind": {
                    "type": "string",
                    "description": "Application kind\n"
                },
                "appLabel": {
                    "type": "string",
                    "description": "Application label\n"
                },
                "appNs": {
                    "type": "string",
                    "description": "Application namespace\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateSpecTargetKubernete:FaultTemplateSpecTargetKubernete": {
            "properties": {
                "annotationCheck": {
                    "type": "string",
                    "description": "Annotation check expression\n"
                },
                "annotations": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Annotation selectors\n"
                },
                "kind": {
                    "type": "string",
                    "description": "Resource kind (e.g., deployment, pod)\n"
                },
                "labels": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Label selectors\n"
                },
                "names": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Specific resource names\n"
                },
                "namespace": {
                    "type": "string",
                    "description": "Target namespace\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/FaultTemplateVariable:FaultTemplateVariable": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Variable description\n"
                },
                "name": {
                    "type": "string",
                    "description": "Variable name\n"
                },
                "required": {
                    "type": "boolean",
                    "description": "Whether the variable is required\n"
                },
                "type": {
                    "type": "string",
                    "description": "Variable type\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "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 \" pulumi-lang-hcl=\" value_from \"\u003e valueFrom \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/InfrastructureV2Resources:InfrastructureV2Resources": {
            "properties": {
                "limits": {
                    "$ref": "#/types/harness:chaos/InfrastructureV2ResourcesLimits:InfrastructureV2ResourcesLimits",
                    "description": "Maximum compute resources allowed for the infrastructure pods.\n"
                },
                "requests": {
                    "$ref": "#/types/harness:chaos/InfrastructureV2ResourcesRequests:InfrastructureV2ResourcesRequests",
                    "description": "Minimum compute resources requested for the infrastructure pods.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/InfrastructureV2ResourcesLimits:InfrastructureV2ResourcesLimits": {
            "properties": {
                "cpu": {
                    "type": "string",
                    "description": "CPU quantity as a Kubernetes resource string. Example: '250m', '1'.\n"
                },
                "memory": {
                    "type": "string",
                    "description": "Memory quantity as a Kubernetes resource string. Example: '256Mi', '1Gi'.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/InfrastructureV2ResourcesRequests:InfrastructureV2ResourcesRequests": {
            "properties": {
                "cpu": {
                    "type": "string",
                    "description": "CPU quantity as a Kubernetes resource string. Example: '250m', '1'.\n"
                },
                "memory": {
                    "type": "string",
                    "description": "Memory quantity as a Kubernetes resource string. Example: '256Mi', '1Gi'.\n"
                }
            },
            "type": "object"
        },
        "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/ProbeTemplateApmProbe:ProbeTemplateApmProbe": {
            "properties": {
                "apmType": {
                    "type": "string",
                    "description": "APM provider type. Valid values: Prometheus, AppDynamics, SplunkObservability, Dynatrace, NewRelic, Datadog, GCPCloudMonitoring.\n"
                },
                "appDynamicsInputs": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeAppDynamicsInputs:ProbeTemplateApmProbeAppDynamicsInputs",
                    "description": "AppDynamics-specific inputs. Required when apm*type is 'AppDynamics'.\n"
                },
                "comparator": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeComparator:ProbeTemplateApmProbeComparator",
                    "description": "Comparator for APM metric validation.\n"
                },
                "datadogInputs": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeDatadogInputs:ProbeTemplateApmProbeDatadogInputs",
                    "description": "Datadog-specific inputs. Required when apm*type is 'Datadog'.\n"
                },
                "dynatraceInputs": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeDynatraceInputs:ProbeTemplateApmProbeDynatraceInputs",
                    "description": "Dynatrace-specific inputs. Required when apm*type is 'Dynatrace'.\n"
                },
                "gcpCloudMonitoringInputs": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeGcpCloudMonitoringInputs:ProbeTemplateApmProbeGcpCloudMonitoringInputs",
                    "description": "GCP Cloud Monitoring-specific inputs. Required when apm*type is 'GCPCloudMonitoring'.\n"
                },
                "newRelicInputs": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeNewRelicInputs:ProbeTemplateApmProbeNewRelicInputs",
                    "description": "NewRelic-specific inputs. Required when apm*type is 'NewRelic'.\n"
                },
                "prometheusInputs": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbePrometheusInputs:ProbeTemplateApmProbePrometheusInputs",
                    "description": "Prometheus-specific inputs. Required when apm*type is 'Prometheus'.\n"
                },
                "splunkObservabilityInputs": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeSplunkObservabilityInputs:ProbeTemplateApmProbeSplunkObservabilityInputs",
                    "description": "SplunkObservability-specific inputs. Required when apm*type is 'SplunkObservability'.\n"
                }
            },
            "type": "object",
            "required": [
                "apmType"
            ]
        },
        "harness:chaos/ProbeTemplateApmProbeAppDynamicsInputs:ProbeTemplateApmProbeAppDynamicsInputs": {
            "properties": {
                "appdMetrics": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeAppDynamicsInputsAppdMetrics:ProbeTemplateApmProbeAppDynamicsInputsAppdMetrics",
                    "description": "AppDynamics metrics configuration.\n"
                },
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for AppDynamics.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId"
            ]
        },
        "harness:chaos/ProbeTemplateApmProbeAppDynamicsInputsAppdMetrics:ProbeTemplateApmProbeAppDynamicsInputsAppdMetrics": {
            "properties": {
                "applicationName": {
                    "type": "string",
                    "description": "AppDynamics application name.\n"
                },
                "durationInMin": {
                    "type": "integer",
                    "description": "Duration in minutes for the AppDynamics query.\n"
                },
                "metricsFullPath": {
                    "type": "string",
                    "description": "Full path to the AppDynamics metric.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ProbeTemplateApmProbeComparator:ProbeTemplateApmProbeComparator": {
            "properties": {
                "criteria": {
                    "type": "string",
                    "description": "Comparison criteria (==, !=, \u003c, \u003e, \u003c=, \u003e=, contains, matches, notMatches, oneOf).\n"
                },
                "type": {
                    "type": "string",
                    "description": "Comparator type (string, int, float).\n"
                },
                "value": {
                    "type": "string",
                    "description": "Expected value.\n"
                }
            },
            "type": "object",
            "required": [
                "criteria",
                "type",
                "value"
            ]
        },
        "harness:chaos/ProbeTemplateApmProbeDatadogInputs:ProbeTemplateApmProbeDatadogInputs": {
            "properties": {
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for Datadog.\n"
                },
                "durationInMin": {
                    "type": "integer",
                    "description": "Duration in minutes for the Datadog query.\n"
                },
                "query": {
                    "type": "string",
                    "description": "Datadog query string.\n"
                },
                "syntheticsTest": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeDatadogInputsSyntheticsTest:ProbeTemplateApmProbeDatadogInputsSyntheticsTest",
                    "description": "Datadog Synthetics test configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId"
            ]
        },
        "harness:chaos/ProbeTemplateApmProbeDatadogInputsSyntheticsTest:ProbeTemplateApmProbeDatadogInputsSyntheticsTest": {
            "properties": {
                "publicId": {
                    "type": "string",
                    "description": "Public ID of the Datadog Synthetics test.\n"
                },
                "testType": {
                    "type": "string",
                    "description": "Type of Synthetics test (api, browser).\n"
                }
            },
            "type": "object",
            "required": [
                "publicId"
            ]
        },
        "harness:chaos/ProbeTemplateApmProbeDynatraceInputs:ProbeTemplateApmProbeDynatraceInputs": {
            "properties": {
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for Dynatrace.\n"
                },
                "durationInMin": {
                    "type": "integer",
                    "description": "Duration in minutes for the Dynatrace query.\n"
                },
                "metrics": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeDynatraceInputsMetrics:ProbeTemplateApmProbeDynatraceInputsMetrics",
                    "description": "Dynatrace metrics configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId"
            ]
        },
        "harness:chaos/ProbeTemplateApmProbeDynatraceInputsMetrics:ProbeTemplateApmProbeDynatraceInputsMetrics": {
            "properties": {
                "entitySelector": {
                    "type": "string",
                    "description": "Dynatrace entity selector.\n"
                },
                "metricsSelector": {
                    "type": "string",
                    "description": "Dynatrace metrics selector.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ProbeTemplateApmProbeGcpCloudMonitoringInputs:ProbeTemplateApmProbeGcpCloudMonitoringInputs": {
            "properties": {
                "projectId": {
                    "type": "string",
                    "description": "GCP project ID.\n"
                },
                "query": {
                    "type": "string",
                    "description": "GCP monitoring query string.\n"
                },
                "serviceAccountKey": {
                    "type": "string",
                    "description": "GCP service account key (JSON).\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "projectId",
                "query",
                "serviceAccountKey"
            ]
        },
        "harness:chaos/ProbeTemplateApmProbeNewRelicInputs:ProbeTemplateApmProbeNewRelicInputs": {
            "properties": {
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for NewRelic.\n"
                },
                "newRelicMetric": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeNewRelicInputsNewRelicMetric:ProbeTemplateApmProbeNewRelicInputsNewRelicMetric",
                    "description": "NewRelic metric configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId"
            ]
        },
        "harness:chaos/ProbeTemplateApmProbeNewRelicInputsNewRelicMetric:ProbeTemplateApmProbeNewRelicInputsNewRelicMetric": {
            "properties": {
                "query": {
                    "type": "string",
                    "description": "NRQL query string.\n"
                },
                "queryMetric": {
                    "type": "string",
                    "description": "NewRelic query metric name.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ProbeTemplateApmProbePrometheusInputs:ProbeTemplateApmProbePrometheusInputs": {
            "properties": {
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for Prometheus.\n"
                },
                "query": {
                    "type": "string",
                    "description": "PromQL query string.\n"
                },
                "tlsConfig": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbePrometheusInputsTlsConfig:ProbeTemplateApmProbePrometheusInputsTlsConfig",
                    "description": "TLS configuration for Prometheus connection.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId",
                "query"
            ]
        },
        "harness:chaos/ProbeTemplateApmProbePrometheusInputsTlsConfig:ProbeTemplateApmProbePrometheusInputsTlsConfig": {
            "properties": {
                "caCertSecret": {
                    "type": "string",
                    "description": "Harness secret identifier for CA certificate.\n"
                },
                "clientCertSecret": {
                    "type": "string",
                    "description": "Harness secret identifier for client certificate.\n"
                },
                "clientKeySecret": {
                    "type": "string",
                    "description": "Harness secret identifier for client key.\n"
                },
                "insecureSkipVerify": {
                    "type": "boolean",
                    "description": "Skip TLS certificate verification.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ProbeTemplateApmProbeSplunkObservabilityInputs:ProbeTemplateApmProbeSplunkObservabilityInputs": {
            "properties": {
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for Splunk Observability.\n"
                },
                "splunkObservabilityMetrics": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbeSplunkObservabilityInputsSplunkObservabilityMetrics:ProbeTemplateApmProbeSplunkObservabilityInputsSplunkObservabilityMetrics",
                    "description": "Splunk Observability metrics configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId"
            ]
        },
        "harness:chaos/ProbeTemplateApmProbeSplunkObservabilityInputsSplunkObservabilityMetrics:ProbeTemplateApmProbeSplunkObservabilityInputsSplunkObservabilityMetrics": {
            "properties": {
                "durationInMin": {
                    "type": "integer",
                    "description": "Duration in minutes for the Splunk query.\n"
                },
                "query": {
                    "type": "string",
                    "description": "Splunk Observability query string.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ProbeTemplateCmdProbe:ProbeTemplateCmdProbe": {
            "properties": {
                "command": {
                    "type": "string",
                    "description": "Command to execute.\n"
                },
                "comparator": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateCmdProbeComparator:ProbeTemplateCmdProbeComparator",
                    "description": "Comparator for command output validation.\n"
                },
                "envs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ProbeTemplateCmdProbeEnv:ProbeTemplateCmdProbeEnv"
                    },
                    "description": "Environment variables for the command.\n"
                },
                "source": {
                    "type": "string",
                    "description": "Optional source for the command probe. Leave UNSET for inline execution (the command runs inside the experiment pod). If set, it must be a YAML/JSON-encoded SourceDetails object describing an external source pod (e.g. \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\" pulumi-lang-hcl=\"`image`\"\u003e`image`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`command`\" pulumi-lang-dotnet=\"`Command`\" pulumi-lang-go=\"`command`\" pulumi-lang-python=\"`command`\" pulumi-lang-yaml=\"`command`\" pulumi-lang-java=\"`command`\" pulumi-lang-hcl=\"`command`\"\u003e`command`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`args`\" pulumi-lang-dotnet=\"`Args`\" pulumi-lang-go=\"`args`\" pulumi-lang-python=\"`args`\" pulumi-lang-yaml=\"`args`\" pulumi-lang-java=\"`args`\" pulumi-lang-hcl=\"`args`\"\u003e`args`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\" pulumi-lang-hcl=\"`env`\"\u003e`env`\u003c/span\u003e, `imagePullPolicy`, `nodeSelector`). At experiment execution the backend unmarshals this string into a SourceDetails object, so a bare keyword such as \"inline\", \"configMap\", or \"secret\" is INVALID and fails with \"cannot unmarshal string into Go value of type v1.SourceDetails\". To run inline, omit this field entirely.\n"
                }
            },
            "type": "object",
            "required": [
                "command"
            ]
        },
        "harness:chaos/ProbeTemplateCmdProbeComparator:ProbeTemplateCmdProbeComparator": {
            "properties": {
                "criteria": {
                    "type": "string",
                    "description": "Comparison criteria (==, !=, \u003c, \u003e, \u003c=, \u003e=, contains, matches, notMatches, oneOf).\n"
                },
                "type": {
                    "type": "string",
                    "description": "Comparator type (string, int, float).\n"
                },
                "value": {
                    "type": "string",
                    "description": "Expected value.\n"
                }
            },
            "type": "object",
            "required": [
                "criteria",
                "type",
                "value"
            ]
        },
        "harness:chaos/ProbeTemplateCmdProbeEnv:ProbeTemplateCmdProbeEnv": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Environment variable name.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Environment variable value.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "harness:chaos/ProbeTemplateHttpProbe:ProbeTemplateHttpProbe": {
            "properties": {
                "auth": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateHttpProbeAuth:ProbeTemplateHttpProbeAuth",
                    "description": "Authentication configuration.\n"
                },
                "headers": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers.\n"
                },
                "method": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateHttpProbeMethod:ProbeTemplateHttpProbeMethod",
                    "description": "HTTP method configuration with GET or POST.\n"
                },
                "tlsConfig": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateHttpProbeTlsConfig:ProbeTemplateHttpProbeTlsConfig",
                    "description": "TLS configuration.\n"
                },
                "url": {
                    "type": "string",
                    "description": "URL to probe.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "harness:chaos/ProbeTemplateHttpProbeAuth:ProbeTemplateHttpProbeAuth": {
            "properties": {
                "password": {
                    "type": "string",
                    "description": "Password for basic auth.\n",
                    "secret": true
                },
                "token": {
                    "type": "string",
                    "description": "Token for bearer auth.\n",
                    "secret": true
                },
                "type": {
                    "type": "string",
                    "description": "Auth type (basic, bearer, etc.).\n"
                },
                "username": {
                    "type": "string",
                    "description": "Username for basic auth.\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "harness:chaos/ProbeTemplateHttpProbeMethod:ProbeTemplateHttpProbeMethod": {
            "properties": {
                "getMethod": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateHttpProbeMethodGetMethod:ProbeTemplateHttpProbeMethodGetMethod",
                    "description": "GET method configuration.\n"
                },
                "post": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateHttpProbeMethodPost:ProbeTemplateHttpProbeMethodPost",
                    "description": "POST method configuration.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ProbeTemplateHttpProbeMethodGetMethod:ProbeTemplateHttpProbeMethodGetMethod": {
            "properties": {
                "criteria": {
                    "type": "string",
                    "description": "Response criteria (e.g., '==', '!=', 'contains').\n"
                },
                "responseBody": {
                    "type": "string",
                    "description": "Expected response body.\n"
                },
                "responseCode": {
                    "type": "string",
                    "description": "Expected HTTP response code (e.g., '200', '404').\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ProbeTemplateHttpProbeMethodPost:ProbeTemplateHttpProbeMethodPost": {
            "properties": {
                "body": {
                    "type": "string",
                    "description": "POST request body.\n"
                },
                "bodyPath": {
                    "type": "string",
                    "description": "Path to file containing POST body.\n"
                },
                "contentType": {
                    "type": "string",
                    "description": "Content-Type header for POST request.\n"
                },
                "criteria": {
                    "type": "string",
                    "description": "Response criteria (e.g., '==', '!=', 'contains').\n"
                },
                "responseBody": {
                    "type": "string",
                    "description": "Expected response body.\n"
                },
                "responseCode": {
                    "type": "string",
                    "description": "Expected HTTP response code (e.g., '200', '404').\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ProbeTemplateHttpProbeTlsConfig:ProbeTemplateHttpProbeTlsConfig": {
            "properties": {
                "caCert": {
                    "type": "string",
                    "description": "CA certificate.\n"
                },
                "clientCert": {
                    "type": "string",
                    "description": "Client certificate.\n"
                },
                "clientKey": {
                    "type": "string",
                    "description": "Client key.\n",
                    "secret": true
                },
                "insecureSkipVerify": {
                    "type": "boolean",
                    "description": "Skip TLS certificate verification.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ProbeTemplateK8sProbe:ProbeTemplateK8sProbe": {
            "properties": {
                "fieldSelector": {
                    "type": "string",
                    "description": "Field selector for filtering resources.\n"
                },
                "group": {
                    "type": "string",
                    "description": "API group (e.g., 'apps', 'batch').\n"
                },
                "labelSelector": {
                    "type": "string",
                    "description": "Label selector for filtering resources.\n"
                },
                "namespace": {
                    "type": "string",
                    "description": "Kubernetes namespace.\n"
                },
                "operation": {
                    "type": "string",
                    "description": "Operation to perform (create, delete, present, absent, etc.).\n"
                },
                "resource": {
                    "type": "string",
                    "description": "Resource type (e.g., 'pods', 'deployments').\n"
                },
                "resourceNames": {
                    "type": "string",
                    "description": "Comma-separated list of resource names.\n"
                },
                "version": {
                    "type": "string",
                    "description": "API version (e.g., 'v1', 'v1beta1').\n"
                }
            },
            "type": "object",
            "required": [
                "resource",
                "version"
            ]
        },
        "harness:chaos/ProbeTemplateRunProperties:ProbeTemplateRunProperties": {
            "properties": {
                "attempt": {
                    "type": "integer",
                    "description": "Number of attempts.\n"
                },
                "initialDelay": {
                    "type": "string",
                    "description": "Initial delay before probe execution (e.g., '5s', '1m').\n"
                },
                "interval": {
                    "type": "string",
                    "description": "Interval between probe executions (e.g., '10s', '30s').\n"
                },
                "pollingInterval": {
                    "type": "string",
                    "description": "Polling interval for continuous probes (e.g., '2s', '5s').\n"
                },
                "retry": {
                    "type": "integer",
                    "description": "Number of retries.\n"
                },
                "stopOnFailure": {
                    "type": "boolean",
                    "description": "Whether to stop on failure.\n"
                },
                "timeout": {
                    "type": "string",
                    "description": "Timeout for probe execution (e.g., '30s', '5m').\n"
                },
                "verbosity": {
                    "type": "string",
                    "description": "Verbosity level for logging.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/ProbeTemplateVariable:ProbeTemplateVariable": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Variable description.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Variable name.\n"
                },
                "required": {
                    "type": "boolean",
                    "description": "Whether the variable is required.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Variable type (e.g., 'string', 'number', 'boolean').\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "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/SecurityGovernanceConditionV3FaultSpec:SecurityGovernanceConditionV3FaultSpec": {
            "properties": {
                "faults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/SecurityGovernanceConditionV3FaultSpecFault:SecurityGovernanceConditionV3FaultSpecFault"
                    },
                    "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/SecurityGovernanceConditionV3FaultSpecFault:SecurityGovernanceConditionV3FaultSpecFault": {
            "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/SecurityGovernanceConditionV3K8sSpec:SecurityGovernanceConditionV3K8sSpec": {
            "properties": {
                "applicationSpec": {
                    "$ref": "#/types/harness:chaos/SecurityGovernanceConditionV3K8sSpecApplicationSpec:SecurityGovernanceConditionV3K8sSpecApplicationSpec",
                    "description": "Application specification\n"
                },
                "chaosServiceAccountSpec": {
                    "$ref": "#/types/harness:chaos/SecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpec:SecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpec",
                    "description": "Chaos service account specification\n"
                },
                "infraSpec": {
                    "$ref": "#/types/harness:chaos/SecurityGovernanceConditionV3K8sSpecInfraSpec:SecurityGovernanceConditionV3K8sSpecInfraSpec",
                    "description": "Infrastructure specification\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/SecurityGovernanceConditionV3K8sSpecApplicationSpec:SecurityGovernanceConditionV3K8sSpecApplicationSpec": {
            "properties": {
                "operator": {
                    "type": "string",
                    "description": "Operator for application matching (EQUAL*TO or NOT*EQUAL_TO)\n"
                },
                "workloads": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/SecurityGovernanceConditionV3K8sSpecApplicationSpecWorkload:SecurityGovernanceConditionV3K8sSpecApplicationSpecWorkload"
                    },
                    "description": "List of workloads to include/exclude\n"
                }
            },
            "type": "object",
            "required": [
                "operator"
            ]
        },
        "harness:chaos/SecurityGovernanceConditionV3K8sSpecApplicationSpecWorkload:SecurityGovernanceConditionV3K8sSpecApplicationSpecWorkload": {
            "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"
                },
                "namespaceLabels": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Namespace labels to match against, as key-value pairs\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of services associated with the workload\n"
                }
            },
            "type": "object",
            "required": [
                "namespace"
            ]
        },
        "harness:chaos/SecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpec:SecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpec": {
            "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/SecurityGovernanceConditionV3K8sSpecInfraSpec:SecurityGovernanceConditionV3K8sSpecInfraSpec": {
            "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/SecurityGovernanceConditionV3MachineSpec:SecurityGovernanceConditionV3MachineSpec": {
            "properties": {
                "infraSpec": {
                    "$ref": "#/types/harness:chaos/SecurityGovernanceConditionV3MachineSpecInfraSpec:SecurityGovernanceConditionV3MachineSpecInfraSpec",
                    "description": "Infrastructure specification\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/SecurityGovernanceConditionV3MachineSpecInfraSpec:SecurityGovernanceConditionV3MachineSpecInfraSpec": {
            "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/SecurityGovernanceRuleV3TimeWindow:SecurityGovernanceRuleV3TimeWindow": {
            "properties": {
                "duration": {
                    "type": "string",
                    "description": "Duration of the window (e.g., 30m, 1h). Computed from\u003cspan pulumi-lang-nodejs=\" endTime \" pulumi-lang-dotnet=\" EndTime \" pulumi-lang-go=\" endTime \" pulumi-lang-python=\" end_time \" pulumi-lang-yaml=\" endTime \" pulumi-lang-java=\" endTime \" pulumi-lang-hcl=\" end_time \"\u003e endTime \u003c/span\u003ewhen not set.\n"
                },
                "endTime": {
                    "type": "integer",
                    "description": "End of the window as a Unix epoch timestamp in milliseconds. Computed from duration when not set.\n"
                },
                "recurrence": {
                    "$ref": "#/types/harness:chaos/SecurityGovernanceRuleV3TimeWindowRecurrence:SecurityGovernanceRuleV3TimeWindowRecurrence",
                    "description": "Recurrence specification for the time window.\n"
                },
                "startTime": {
                    "type": "integer",
                    "description": "Start of the window as a Unix epoch timestamp in milliseconds.\n"
                },
                "timeZone": {
                    "type": "string",
                    "description": "IANA time zone for the window (e.g., UTC, America/New_York).\n"
                }
            },
            "type": "object",
            "required": [
                "startTime",
                "timeZone"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "duration",
                        "endTime",
                        "startTime",
                        "timeZone"
                    ]
                }
            }
        },
        "harness:chaos/SecurityGovernanceRuleV3TimeWindowRecurrence:SecurityGovernanceRuleV3TimeWindowRecurrence": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Recurrence type (None, Daily, Weekly, Monthly, Yearly).\n"
                },
                "until": {
                    "type": "integer",
                    "description": "End of the recurrence as a Unix epoch timestamp in milliseconds. Use -1 for no end.\n"
                },
                "value": {
                    "type": "integer",
                    "description": "Day of month for Monthly recurrence. Only used when type is Monthly.\n"
                }
            },
            "type": "object",
            "required": [
                "type",
                "until"
            ]
        },
        "harness:chaos/getActionTemplateContainerAction:getActionTemplateContainerAction": {
            "properties": {
                "annotations": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Annotations to apply to the container pod.\n"
                },
                "args": {
                    "type": "string",
                    "description": "Arguments to pass to the container command.\n"
                },
                "commands": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Command to run in the container.\n"
                },
                "envs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getActionTemplateContainerActionEnv:getActionTemplateContainerActionEnv"
                    },
                    "description": "Environment variables for the container.\n"
                },
                "hostIpc": {
                    "type": "boolean",
                    "description": "Use host IPC namespace.\n"
                },
                "hostNetwork": {
                    "type": "boolean",
                    "description": "Use host network namespace.\n"
                },
                "hostPid": {
                    "type": "boolean",
                    "description": "Use host PID namespace.\n"
                },
                "image": {
                    "type": "string",
                    "description": "Container image to use (e.g., 'busybox:latest').\n"
                },
                "imagePullPolicy": {
                    "type": "string",
                    "description": "Image pull policy (Always, IfNotPresent, Never). Supports runtime inputs like \u003c+input\u003e.allowedValues(...).\n"
                },
                "imagePullSecrets": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of image pull secrets for private registries.\n"
                },
                "labels": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Labels to apply to the container pod.\n"
                },
                "namespace": {
                    "type": "string",
                    "description": "Kubernetes namespace for the container.\n"
                },
                "nodeSelector": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Node selector for pod scheduling.\n"
                },
                "resources": {
                    "$ref": "#/types/harness:chaos/getActionTemplateContainerActionResources:getActionTemplateContainerActionResources",
                    "description": "Resource requirements for the container.\n"
                },
                "serviceAccountName": {
                    "type": "string",
                    "description": "Kubernetes service account name.\n"
                },
                "tolerations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getActionTemplateContainerActionToleration:getActionTemplateContainerActionToleration"
                    },
                    "description": "Tolerations for pod scheduling on tainted nodes.\n"
                },
                "volumeMounts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getActionTemplateContainerActionVolumeMount:getActionTemplateContainerActionVolumeMount"
                    },
                    "description": "Volume mounts for the container.\n"
                },
                "volumes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getActionTemplateContainerActionVolume:getActionTemplateContainerActionVolume"
                    },
                    "description": "Volumes to attach to the pod.\n"
                }
            },
            "type": "object",
            "required": [
                "image"
            ]
        },
        "harness:chaos/getActionTemplateContainerActionEnv:getActionTemplateContainerActionEnv": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Environment variable name.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Environment variable value.\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/getActionTemplateContainerActionResources:getActionTemplateContainerActionResources": {
            "properties": {
                "limits": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Resource limits.\n"
                },
                "requests": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Resource requests.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getActionTemplateContainerActionToleration:getActionTemplateContainerActionToleration": {
            "properties": {
                "effect": {
                    "type": "string",
                    "description": "Taint effect (NoSchedule, PreferNoSchedule, NoExecute).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Taint key to tolerate.\n"
                },
                "operator": {
                    "type": "string",
                    "description": "Operator (Exists, Equal).\n"
                },
                "tolerationSeconds": {
                    "type": "integer",
                    "description": "Toleration seconds for NoExecute effect.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Taint value to tolerate.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getActionTemplateContainerActionVolume:getActionTemplateContainerActionVolume": {
            "properties": {
                "configMap": {
                    "$ref": "#/types/harness:chaos/getActionTemplateContainerActionVolumeConfigMap:getActionTemplateContainerActionVolumeConfigMap",
                    "description": "ConfigMap volume configuration.\n"
                },
                "emptyDir": {
                    "$ref": "#/types/harness:chaos/getActionTemplateContainerActionVolumeEmptyDir:getActionTemplateContainerActionVolumeEmptyDir",
                    "description": "EmptyDir volume configuration.\n"
                },
                "hostPath": {
                    "$ref": "#/types/harness:chaos/getActionTemplateContainerActionVolumeHostPath:getActionTemplateContainerActionVolumeHostPath",
                    "description": "HostPath volume configuration.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Volume name.\n"
                },
                "persistentVolumeClaim": {
                    "$ref": "#/types/harness:chaos/getActionTemplateContainerActionVolumePersistentVolumeClaim:getActionTemplateContainerActionVolumePersistentVolumeClaim",
                    "description": "PersistentVolumeClaim configuration.\n"
                },
                "secret": {
                    "$ref": "#/types/harness:chaos/getActionTemplateContainerActionVolumeSecret:getActionTemplateContainerActionVolumeSecret",
                    "description": "Secret volume configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/getActionTemplateContainerActionVolumeConfigMap:getActionTemplateContainerActionVolumeConfigMap": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "ConfigMap name.\n"
                },
                "optional": {
                    "type": "boolean",
                    "description": "Whether the ConfigMap is optional.\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ]
        },
        "harness:chaos/getActionTemplateContainerActionVolumeEmptyDir:getActionTemplateContainerActionVolumeEmptyDir": {
            "properties": {
                "medium": {
                    "type": "string",
                    "description": "Storage medium (empty string for default, Memory for tmpfs).\n"
                },
                "sizeLimit": {
                    "type": "string",
                    "description": "Size limit (e.g., '1Gi').\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getActionTemplateContainerActionVolumeHostPath:getActionTemplateContainerActionVolumeHostPath": {
            "properties": {
                "path": {
                    "type": "string",
                    "description": "Host path.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Host path type (Directory, File, etc.).\n"
                }
            },
            "type": "object",
            "required": [
                "path"
            ]
        },
        "harness:chaos/getActionTemplateContainerActionVolumeMount:getActionTemplateContainerActionVolumeMount": {
            "properties": {
                "mountPath": {
                    "type": "string",
                    "description": "Path to mount the volume in the container.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Volume name to mount.\n"
                },
                "readOnly": {
                    "type": "boolean",
                    "description": "Mount as read-only.\n"
                },
                "subPath": {
                    "type": "string",
                    "description": "Sub-path within the volume.\n"
                }
            },
            "type": "object",
            "required": [
                "mountPath",
                "name"
            ]
        },
        "harness:chaos/getActionTemplateContainerActionVolumePersistentVolumeClaim:getActionTemplateContainerActionVolumePersistentVolumeClaim": {
            "properties": {
                "claimName": {
                    "type": "string",
                    "description": "PVC name.\n"
                },
                "readOnly": {
                    "type": "boolean",
                    "description": "Mount as read-only.\n"
                }
            },
            "type": "object",
            "required": [
                "claimName"
            ]
        },
        "harness:chaos/getActionTemplateContainerActionVolumeSecret:getActionTemplateContainerActionVolumeSecret": {
            "properties": {
                "optional": {
                    "type": "boolean",
                    "description": "Whether the Secret is optional.\n"
                },
                "secretName": {
                    "type": "string",
                    "description": "Secret name.\n"
                }
            },
            "type": "object",
            "required": [
                "secretName"
            ]
        },
        "harness:chaos/getActionTemplateCustomScriptAction:getActionTemplateCustomScriptAction": {
            "properties": {
                "args": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Arguments to pass to the command.\n"
                },
                "command": {
                    "type": "string",
                    "description": "Command to execute (e.g., 'bash', 'python', 'sh').\n"
                },
                "envs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getActionTemplateCustomScriptActionEnv:getActionTemplateCustomScriptActionEnv"
                    },
                    "description": "Environment variables for the script.\n"
                }
            },
            "type": "object",
            "required": [
                "command"
            ]
        },
        "harness:chaos/getActionTemplateCustomScriptActionEnv:getActionTemplateCustomScriptActionEnv": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Environment variable name.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Environment variable value.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "harness:chaos/getActionTemplateDelayAction:getActionTemplateDelayAction": {
            "properties": {
                "duration": {
                    "type": "string",
                    "description": "Duration of the delay (e.g., '30s', '5m', '1h').\n"
                }
            },
            "type": "object",
            "required": [
                "duration"
            ]
        },
        "harness:chaos/getActionTemplateRunProperties:getActionTemplateRunProperties": {
            "properties": {
                "initialDelay": {
                    "type": "string",
                    "description": "Initial delay before action execution (e.g., '5s', '1m').\n"
                },
                "interval": {
                    "type": "string",
                    "description": "Interval between retries (e.g., '10s', '30s').\n"
                },
                "maxRetries": {
                    "type": "integer",
                    "description": "Maximum number of retries.\n"
                },
                "stopOnFailure": {
                    "type": "boolean",
                    "description": "Whether to stop on failure.\n"
                },
                "timeout": {
                    "type": "string",
                    "description": "Timeout for action execution (e.g., '5m', '10m').\n"
                },
                "verbosity": {
                    "type": "string",
                    "description": "Verbosity level for logging.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getActionTemplateVariable:getActionTemplateVariable": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Variable description.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Variable name.\n"
                },
                "required": {
                    "type": "boolean",
                    "description": "Whether the variable is required.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Variable type (e.g., 'string', 'number', 'boolean').\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "harness:chaos/getExperimentTemplateDetail:getExperimentTemplateDetail": {
            "properties": {
                "hubReference": {
                    "type": "string",
                    "description": "Hub reference\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Template identity\n"
                },
                "reference": {
                    "type": "string",
                    "description": "Template reference\n"
                },
                "revision": {
                    "type": "string",
                    "description": "Template revision\n"
                }
            },
            "type": "object",
            "required": [
                "hubReference",
                "identity",
                "reference",
                "revision"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpec:getExperimentTemplateSpec": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecAction:getExperimentTemplateSpecAction"
                    },
                    "description": "List of actions in the experiment\n"
                },
                "cleanupPolicy": {
                    "type": "string",
                    "description": "Cleanup policy for experiment resources\n"
                },
                "faults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecFault:getExperimentTemplateSpecFault"
                    },
                    "description": "List of faults in the experiment\n"
                },
                "infraId": {
                    "type": "string",
                    "description": "Infrastructure identifier\n"
                },
                "infraType": {
                    "type": "string",
                    "description": "Infrastructure type\n"
                },
                "probes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecProbe:getExperimentTemplateSpecProbe"
                    },
                    "description": "List of probes in the experiment\n"
                },
                "statusCheckTimeouts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecStatusCheckTimeout:getExperimentTemplateSpecStatusCheckTimeout"
                    },
                    "description": "Status check timeout configuration\n"
                },
                "vertices": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecVertex:getExperimentTemplateSpecVertex"
                    },
                    "description": "Workflow graph vertices defining execution order\n"
                }
            },
            "type": "object",
            "required": [
                "actions",
                "cleanupPolicy",
                "faults",
                "infraId",
                "infraType",
                "probes",
                "statusCheckTimeouts",
                "vertices"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecAction:getExperimentTemplateSpecAction": {
            "properties": {
                "conditionsV2s": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecActionConditionsV2:getExperimentTemplateSpecActionConditionsV2"
                    },
                    "description": "Execution conditions (operator + values) gating whether this runs.\n"
                },
                "continueOnCompletion": {
                    "type": "boolean",
                    "description": "Whether to continue on completion\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Action template identity\n"
                },
                "infraId": {
                    "type": "string",
                    "description": "Infrastructure identifier for this action\n"
                },
                "isEnterprise": {
                    "type": "boolean",
                    "description": "Whether this is an enterprise action\n"
                },
                "name": {
                    "type": "string",
                    "description": "Action name\n"
                },
                "revision": {
                    "type": "integer",
                    "description": "Action template revision\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecActionValue:getExperimentTemplateSpecActionValue"
                    },
                    "description": "Variable values for the action\n"
                }
            },
            "type": "object",
            "required": [
                "conditionsV2s",
                "continueOnCompletion",
                "identity",
                "infraId",
                "isEnterprise",
                "name",
                "revision",
                "values"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecActionConditionsV2:getExperimentTemplateSpecActionConditionsV2": {
            "properties": {
                "operator": {
                    "type": "string",
                    "description": "Logical operator combining values (AND/OR).\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Boolean-parseable condition values (may include \u003c+input\u003e).\n"
                }
            },
            "type": "object",
            "required": [
                "operator",
                "values"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecActionValue:getExperimentTemplateSpecActionValue": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Variable name\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecFault:getExperimentTemplateSpecFault": {
            "properties": {
                "authEnabled": {
                    "type": "boolean",
                    "description": "Whether authentication is enabled\n"
                },
                "conditionsV2s": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecFaultConditionsV2:getExperimentTemplateSpecFaultConditionsV2"
                    },
                    "description": "Execution conditions (operator + values) gating whether this runs.\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Fault template identity\n"
                },
                "infraId": {
                    "type": "string",
                    "description": "Infrastructure identifier for this fault\n"
                },
                "isEnterprise": {
                    "type": "boolean",
                    "description": "Whether this is an enterprise fault\n"
                },
                "name": {
                    "type": "string",
                    "description": "Fault name\n"
                },
                "revision": {
                    "type": "string",
                    "description": "Fault template revision\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecFaultValue:getExperimentTemplateSpecFaultValue"
                    },
                    "description": "Variable values for the fault\n"
                }
            },
            "type": "object",
            "required": [
                "authEnabled",
                "conditionsV2s",
                "identity",
                "infraId",
                "isEnterprise",
                "name",
                "revision",
                "values"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecFaultConditionsV2:getExperimentTemplateSpecFaultConditionsV2": {
            "properties": {
                "operator": {
                    "type": "string",
                    "description": "Logical operator combining values (AND/OR).\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Boolean-parseable condition values (may include \u003c+input\u003e).\n"
                }
            },
            "type": "object",
            "required": [
                "operator",
                "values"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecFaultValue:getExperimentTemplateSpecFaultValue": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Variable name\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecProbe:getExperimentTemplateSpecProbe": {
            "properties": {
                "conditions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecProbeCondition:getExperimentTemplateSpecProbeCondition"
                    },
                    "description": "Deprecated: not part of the experiment template API; use conditions_v2.\n",
                    "deprecationMessage": "conditions (execute_upon) is not supported by the experiment template API. Use\u003cspan pulumi-lang-nodejs=\" conditionsV2 \" pulumi-lang-dotnet=\" ConditionsV2 \" pulumi-lang-go=\" conditionsV2 \" pulumi-lang-python=\" conditions_v2 \" pulumi-lang-yaml=\" conditionsV2 \" pulumi-lang-java=\" conditionsV2 \" pulumi-lang-hcl=\" conditions_v2 \"\u003e conditionsV2 \u003c/span\u003einstead."
                },
                "conditionsV2s": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecProbeConditionsV2:getExperimentTemplateSpecProbeConditionsV2"
                    },
                    "description": "Execution conditions (operator + values) gating whether this runs.\n"
                },
                "duration": {
                    "type": "string",
                    "description": "Probe duration\n"
                },
                "enableDataCollection": {
                    "type": "boolean",
                    "description": "Whether to enable data collection\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Probe template identity\n"
                },
                "infraId": {
                    "type": "string",
                    "description": "Infrastructure identifier for this probe\n"
                },
                "isEnterprise": {
                    "type": "boolean",
                    "description": "Whether this is an enterprise probe\n"
                },
                "name": {
                    "type": "string",
                    "description": "Probe name\n"
                },
                "revision": {
                    "type": "integer",
                    "description": "Probe template revision\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecProbeValue:getExperimentTemplateSpecProbeValue"
                    },
                    "description": "Variable values for the probe\n"
                },
                "weightage": {
                    "type": "integer",
                    "description": "Probe weightage for resilience score calculation\n"
                }
            },
            "type": "object",
            "required": [
                "conditions",
                "conditionsV2s",
                "duration",
                "enableDataCollection",
                "identity",
                "infraId",
                "isEnterprise",
                "name",
                "revision",
                "values",
                "weightage"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecProbeCondition:getExperimentTemplateSpecProbeCondition": {
            "properties": {
                "executeUpon": {
                    "type": "string",
                    "description": "When to execute the probe\n"
                }
            },
            "type": "object",
            "required": [
                "executeUpon"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecProbeConditionsV2:getExperimentTemplateSpecProbeConditionsV2": {
            "properties": {
                "operator": {
                    "type": "string",
                    "description": "Logical operator combining values (AND/OR).\n"
                },
                "values": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Boolean-parseable condition values (may include \u003c+input\u003e).\n"
                }
            },
            "type": "object",
            "required": [
                "operator",
                "values"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecProbeValue:getExperimentTemplateSpecProbeValue": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Variable name\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecStatusCheckTimeout:getExperimentTemplateSpecStatusCheckTimeout": {
            "properties": {
                "delay": {
                    "type": "integer",
                    "description": "Delay before status check (in seconds)\n"
                },
                "timeout": {
                    "type": "integer",
                    "description": "Timeout for status check (in seconds)\n"
                }
            },
            "type": "object",
            "required": [
                "delay",
                "timeout"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecVertex:getExperimentTemplateSpecVertex": {
            "properties": {
                "ends": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecVertexEnd:getExperimentTemplateSpecVertexEnd"
                    },
                    "description": "End configuration for the vertex\n"
                },
                "name": {
                    "type": "string",
                    "description": "Vertex name\n"
                },
                "starts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecVertexStart:getExperimentTemplateSpecVertexStart"
                    },
                    "description": "Start configuration for the vertex\n"
                }
            },
            "type": "object",
            "required": [
                "ends",
                "name",
                "starts"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecVertexEnd:getExperimentTemplateSpecVertexEnd": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecVertexEndAction:getExperimentTemplateSpecVertexEndAction"
                    },
                    "description": "Actions to execute at end\n"
                },
                "faults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecVertexEndFault:getExperimentTemplateSpecVertexEndFault"
                    },
                    "description": "Faults to execute at end\n"
                },
                "probes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecVertexEndProbe:getExperimentTemplateSpecVertexEndProbe"
                    },
                    "description": "Probes to execute at end\n"
                }
            },
            "type": "object",
            "required": [
                "actions",
                "faults",
                "probes"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecVertexEndAction:getExperimentTemplateSpecVertexEndAction": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Action name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecVertexEndFault:getExperimentTemplateSpecVertexEndFault": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Fault name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecVertexEndProbe:getExperimentTemplateSpecVertexEndProbe": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Probe name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecVertexStart:getExperimentTemplateSpecVertexStart": {
            "properties": {
                "actions": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecVertexStartAction:getExperimentTemplateSpecVertexStartAction"
                    },
                    "description": "Actions to execute at start\n"
                },
                "faults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecVertexStartFault:getExperimentTemplateSpecVertexStartFault"
                    },
                    "description": "Faults to execute at start\n"
                },
                "probes": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getExperimentTemplateSpecVertexStartProbe:getExperimentTemplateSpecVertexStartProbe"
                    },
                    "description": "Probes to execute at start\n"
                }
            },
            "type": "object",
            "required": [
                "actions",
                "faults",
                "probes"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecVertexStartAction:getExperimentTemplateSpecVertexStartAction": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Action name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecVertexStartFault:getExperimentTemplateSpecVertexStartFault": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Fault name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getExperimentTemplateSpecVertexStartProbe:getExperimentTemplateSpecVertexStartProbe": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Probe name\n"
                }
            },
            "type": "object",
            "required": [
                "name"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getFaultTemplateVariable:getFaultTemplateVariable": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Variable description\n"
                },
                "name": {
                    "type": "string",
                    "description": "Variable name\n"
                },
                "required": {
                    "type": "boolean",
                    "description": "Whether the variable is required\n"
                },
                "type": {
                    "type": "string",
                    "description": "Variable type\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value\n"
                }
            },
            "type": "object",
            "required": [
                "description",
                "name",
                "required",
                "type",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "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/getInfrastructureV2Resources:getInfrastructureV2Resources": {
            "properties": {
                "limits": {
                    "$ref": "#/types/harness:chaos/getInfrastructureV2ResourcesLimits:getInfrastructureV2ResourcesLimits",
                    "description": "Maximum compute resources allowed for the infrastructure pods.\n"
                },
                "requests": {
                    "$ref": "#/types/harness:chaos/getInfrastructureV2ResourcesRequests:getInfrastructureV2ResourcesRequests",
                    "description": "Minimum compute resources requested for the infrastructure pods.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getInfrastructureV2ResourcesLimits:getInfrastructureV2ResourcesLimits": {
            "properties": {
                "cpu": {
                    "type": "string",
                    "description": "CPU quantity as a Kubernetes resource string. Example: '250m', '1'.\n"
                },
                "memory": {
                    "type": "string",
                    "description": "Memory quantity as a Kubernetes resource string. Example: '256Mi', '1Gi'.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getInfrastructureV2ResourcesRequests:getInfrastructureV2ResourcesRequests": {
            "properties": {
                "cpu": {
                    "type": "string",
                    "description": "CPU quantity as a Kubernetes resource string. Example: '250m', '1'.\n"
                },
                "memory": {
                    "type": "string",
                    "description": "Memory quantity as a Kubernetes resource string. Example: '256Mi', '1Gi'.\n"
                }
            },
            "type": "object"
        },
        "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/getProbeTemplateApmProbe:getProbeTemplateApmProbe": {
            "properties": {
                "apmType": {
                    "type": "string",
                    "description": "APM provider type. Valid values: Prometheus, AppDynamics, SplunkObservability, Dynatrace, NewRelic, Datadog, GCPCloudMonitoring.\n"
                },
                "appDynamicsInputs": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeAppDynamicsInputs:getProbeTemplateApmProbeAppDynamicsInputs",
                    "description": "AppDynamics-specific inputs. Required when apm*type is 'AppDynamics'.\n"
                },
                "comparator": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeComparator:getProbeTemplateApmProbeComparator",
                    "description": "Comparator for APM metric validation.\n"
                },
                "datadogInputs": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeDatadogInputs:getProbeTemplateApmProbeDatadogInputs",
                    "description": "Datadog-specific inputs. Required when apm*type is 'Datadog'.\n"
                },
                "dynatraceInputs": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeDynatraceInputs:getProbeTemplateApmProbeDynatraceInputs",
                    "description": "Dynatrace-specific inputs. Required when apm*type is 'Dynatrace'.\n"
                },
                "gcpCloudMonitoringInputs": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeGcpCloudMonitoringInputs:getProbeTemplateApmProbeGcpCloudMonitoringInputs",
                    "description": "GCP Cloud Monitoring-specific inputs. Required when apm*type is 'GCPCloudMonitoring'.\n"
                },
                "newRelicInputs": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeNewRelicInputs:getProbeTemplateApmProbeNewRelicInputs",
                    "description": "NewRelic-specific inputs. Required when apm*type is 'NewRelic'.\n"
                },
                "prometheusInputs": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbePrometheusInputs:getProbeTemplateApmProbePrometheusInputs",
                    "description": "Prometheus-specific inputs. Required when apm*type is 'Prometheus'.\n"
                },
                "splunkObservabilityInputs": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeSplunkObservabilityInputs:getProbeTemplateApmProbeSplunkObservabilityInputs",
                    "description": "SplunkObservability-specific inputs. Required when apm*type is 'SplunkObservability'.\n"
                }
            },
            "type": "object",
            "required": [
                "apmType"
            ]
        },
        "harness:chaos/getProbeTemplateApmProbeAppDynamicsInputs:getProbeTemplateApmProbeAppDynamicsInputs": {
            "properties": {
                "appdMetrics": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeAppDynamicsInputsAppdMetrics:getProbeTemplateApmProbeAppDynamicsInputsAppdMetrics",
                    "description": "AppDynamics metrics configuration.\n"
                },
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for AppDynamics.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId"
            ]
        },
        "harness:chaos/getProbeTemplateApmProbeAppDynamicsInputsAppdMetrics:getProbeTemplateApmProbeAppDynamicsInputsAppdMetrics": {
            "properties": {
                "applicationName": {
                    "type": "string",
                    "description": "AppDynamics application name.\n"
                },
                "durationInMin": {
                    "type": "integer",
                    "description": "Duration in minutes for the AppDynamics query.\n"
                },
                "metricsFullPath": {
                    "type": "string",
                    "description": "Full path to the AppDynamics metric.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getProbeTemplateApmProbeComparator:getProbeTemplateApmProbeComparator": {
            "properties": {
                "criteria": {
                    "type": "string",
                    "description": "Comparison criteria (==, !=, \u003c, \u003e, \u003c=, \u003e=, contains, matches, notMatches, oneOf).\n"
                },
                "type": {
                    "type": "string",
                    "description": "Comparator type (string, int, float).\n"
                },
                "value": {
                    "type": "string",
                    "description": "Expected value.\n"
                }
            },
            "type": "object",
            "required": [
                "criteria",
                "type",
                "value"
            ]
        },
        "harness:chaos/getProbeTemplateApmProbeDatadogInputs:getProbeTemplateApmProbeDatadogInputs": {
            "properties": {
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for Datadog.\n"
                },
                "durationInMin": {
                    "type": "integer",
                    "description": "Duration in minutes for the Datadog query.\n"
                },
                "query": {
                    "type": "string",
                    "description": "Datadog query string.\n"
                },
                "syntheticsTest": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeDatadogInputsSyntheticsTest:getProbeTemplateApmProbeDatadogInputsSyntheticsTest",
                    "description": "Datadog Synthetics test configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId"
            ]
        },
        "harness:chaos/getProbeTemplateApmProbeDatadogInputsSyntheticsTest:getProbeTemplateApmProbeDatadogInputsSyntheticsTest": {
            "properties": {
                "publicId": {
                    "type": "string",
                    "description": "Public ID of the Datadog Synthetics test.\n"
                },
                "testType": {
                    "type": "string",
                    "description": "Type of Synthetics test (api, browser).\n"
                }
            },
            "type": "object",
            "required": [
                "publicId"
            ]
        },
        "harness:chaos/getProbeTemplateApmProbeDynatraceInputs:getProbeTemplateApmProbeDynatraceInputs": {
            "properties": {
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for Dynatrace.\n"
                },
                "durationInMin": {
                    "type": "integer",
                    "description": "Duration in minutes for the Dynatrace query.\n"
                },
                "metrics": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeDynatraceInputsMetrics:getProbeTemplateApmProbeDynatraceInputsMetrics",
                    "description": "Dynatrace metrics configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId"
            ]
        },
        "harness:chaos/getProbeTemplateApmProbeDynatraceInputsMetrics:getProbeTemplateApmProbeDynatraceInputsMetrics": {
            "properties": {
                "entitySelector": {
                    "type": "string",
                    "description": "Dynatrace entity selector.\n"
                },
                "metricsSelector": {
                    "type": "string",
                    "description": "Dynatrace metrics selector.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getProbeTemplateApmProbeGcpCloudMonitoringInputs:getProbeTemplateApmProbeGcpCloudMonitoringInputs": {
            "properties": {
                "projectId": {
                    "type": "string",
                    "description": "GCP project ID.\n"
                },
                "query": {
                    "type": "string",
                    "description": "GCP monitoring query string.\n"
                },
                "serviceAccountKey": {
                    "type": "string",
                    "description": "GCP service account key (JSON).\n",
                    "secret": true
                }
            },
            "type": "object",
            "required": [
                "projectId",
                "query",
                "serviceAccountKey"
            ]
        },
        "harness:chaos/getProbeTemplateApmProbeNewRelicInputs:getProbeTemplateApmProbeNewRelicInputs": {
            "properties": {
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for NewRelic.\n"
                },
                "newRelicMetric": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeNewRelicInputsNewRelicMetric:getProbeTemplateApmProbeNewRelicInputsNewRelicMetric",
                    "description": "NewRelic metric configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId"
            ]
        },
        "harness:chaos/getProbeTemplateApmProbeNewRelicInputsNewRelicMetric:getProbeTemplateApmProbeNewRelicInputsNewRelicMetric": {
            "properties": {
                "query": {
                    "type": "string",
                    "description": "NRQL query string.\n"
                },
                "queryMetric": {
                    "type": "string",
                    "description": "NewRelic query metric name.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getProbeTemplateApmProbePrometheusInputs:getProbeTemplateApmProbePrometheusInputs": {
            "properties": {
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for Prometheus.\n"
                },
                "query": {
                    "type": "string",
                    "description": "PromQL query string.\n"
                },
                "tlsConfig": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbePrometheusInputsTlsConfig:getProbeTemplateApmProbePrometheusInputsTlsConfig",
                    "description": "TLS configuration for Prometheus connection.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId",
                "query"
            ]
        },
        "harness:chaos/getProbeTemplateApmProbePrometheusInputsTlsConfig:getProbeTemplateApmProbePrometheusInputsTlsConfig": {
            "properties": {
                "caCertSecret": {
                    "type": "string",
                    "description": "Harness secret identifier for CA certificate.\n"
                },
                "clientCertSecret": {
                    "type": "string",
                    "description": "Harness secret identifier for client certificate.\n"
                },
                "clientKeySecret": {
                    "type": "string",
                    "description": "Harness secret identifier for client key.\n"
                },
                "insecureSkipVerify": {
                    "type": "boolean",
                    "description": "Skip TLS certificate verification.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getProbeTemplateApmProbeSplunkObservabilityInputs:getProbeTemplateApmProbeSplunkObservabilityInputs": {
            "properties": {
                "connectorId": {
                    "type": "string",
                    "description": "Harness connector ID for Splunk Observability.\n"
                },
                "splunkObservabilityMetrics": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateApmProbeSplunkObservabilityInputsSplunkObservabilityMetrics:getProbeTemplateApmProbeSplunkObservabilityInputsSplunkObservabilityMetrics",
                    "description": "Splunk Observability metrics configuration.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorId"
            ]
        },
        "harness:chaos/getProbeTemplateApmProbeSplunkObservabilityInputsSplunkObservabilityMetrics:getProbeTemplateApmProbeSplunkObservabilityInputsSplunkObservabilityMetrics": {
            "properties": {
                "durationInMin": {
                    "type": "integer",
                    "description": "Duration in minutes for the Splunk query.\n"
                },
                "query": {
                    "type": "string",
                    "description": "Splunk Observability query string.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getProbeTemplateCmdProbe:getProbeTemplateCmdProbe": {
            "properties": {
                "command": {
                    "type": "string",
                    "description": "Command to execute.\n"
                },
                "comparators": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getProbeTemplateCmdProbeComparator:getProbeTemplateCmdProbeComparator"
                    },
                    "description": "Comparator for command output validation.\n"
                },
                "envs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getProbeTemplateCmdProbeEnv:getProbeTemplateCmdProbeEnv"
                    },
                    "description": "Environment variables for the command.\n"
                },
                "source": {
                    "type": "string",
                    "description": "Optional source for the command probe. Leave UNSET for inline execution (the command runs inside the experiment pod). If set, it must be a YAML/JSON-encoded SourceDetails object describing an external source pod (e.g. \u003cspan pulumi-lang-nodejs=\"`image`\" pulumi-lang-dotnet=\"`Image`\" pulumi-lang-go=\"`image`\" pulumi-lang-python=\"`image`\" pulumi-lang-yaml=\"`image`\" pulumi-lang-java=\"`image`\" pulumi-lang-hcl=\"`image`\"\u003e`image`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`command`\" pulumi-lang-dotnet=\"`Command`\" pulumi-lang-go=\"`command`\" pulumi-lang-python=\"`command`\" pulumi-lang-yaml=\"`command`\" pulumi-lang-java=\"`command`\" pulumi-lang-hcl=\"`command`\"\u003e`command`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`args`\" pulumi-lang-dotnet=\"`Args`\" pulumi-lang-go=\"`args`\" pulumi-lang-python=\"`args`\" pulumi-lang-yaml=\"`args`\" pulumi-lang-java=\"`args`\" pulumi-lang-hcl=\"`args`\"\u003e`args`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\" pulumi-lang-hcl=\"`env`\"\u003e`env`\u003c/span\u003e, `imagePullPolicy`, `nodeSelector`). At experiment execution the backend unmarshals this string into a SourceDetails object, so a bare keyword such as \"inline\", \"configMap\", or \"secret\" is INVALID and fails with \"cannot unmarshal string into Go value of type v1.SourceDetails\". To run inline, omit this field entirely.\n"
                }
            },
            "type": "object",
            "required": [
                "command"
            ]
        },
        "harness:chaos/getProbeTemplateCmdProbeComparator:getProbeTemplateCmdProbeComparator": {
            "properties": {
                "criteria": {
                    "type": "string",
                    "description": "Comparison criteria (==, !=, \u003c, \u003e, \u003c=, \u003e=, contains, matches, notMatches, oneOf).\n"
                },
                "type": {
                    "type": "string",
                    "description": "Comparator type (string, int, float).\n"
                },
                "value": {
                    "type": "string",
                    "description": "Expected value.\n"
                }
            },
            "type": "object",
            "required": [
                "criteria",
                "type",
                "value"
            ]
        },
        "harness:chaos/getProbeTemplateCmdProbeEnv:getProbeTemplateCmdProbeEnv": {
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Environment variable name.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Environment variable value.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "harness:chaos/getProbeTemplateHttpProbe:getProbeTemplateHttpProbe": {
            "properties": {
                "auth": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateHttpProbeAuth:getProbeTemplateHttpProbeAuth",
                    "description": "Authentication configuration.\n"
                },
                "headers": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "HTTP headers.\n"
                },
                "methods": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getProbeTemplateHttpProbeMethod:getProbeTemplateHttpProbeMethod"
                    },
                    "description": "HTTP method configuration with GET or POST.\n"
                },
                "tlsConfig": {
                    "$ref": "#/types/harness:chaos/getProbeTemplateHttpProbeTlsConfig:getProbeTemplateHttpProbeTlsConfig",
                    "description": "TLS configuration.\n"
                },
                "url": {
                    "type": "string",
                    "description": "URL to probe.\n"
                }
            },
            "type": "object",
            "required": [
                "url"
            ]
        },
        "harness:chaos/getProbeTemplateHttpProbeAuth:getProbeTemplateHttpProbeAuth": {
            "properties": {
                "password": {
                    "type": "string",
                    "description": "Password for basic auth.\n",
                    "secret": true
                },
                "token": {
                    "type": "string",
                    "description": "Token for bearer auth.\n",
                    "secret": true
                },
                "type": {
                    "type": "string",
                    "description": "Auth type (basic, bearer, etc.).\n"
                },
                "username": {
                    "type": "string",
                    "description": "Username for basic auth.\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "harness:chaos/getProbeTemplateHttpProbeMethod:getProbeTemplateHttpProbeMethod": {
            "properties": {
                "gets": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getProbeTemplateHttpProbeMethodGet:getProbeTemplateHttpProbeMethodGet"
                    },
                    "description": "GET method configuration.\n"
                },
                "posts": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getProbeTemplateHttpProbeMethodPost:getProbeTemplateHttpProbeMethodPost"
                    },
                    "description": "POST method configuration.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getProbeTemplateHttpProbeMethodGet:getProbeTemplateHttpProbeMethodGet": {
            "properties": {
                "criteria": {
                    "type": "string",
                    "description": "Response criteria (e.g., '==', '!=', 'contains').\n"
                },
                "responseBody": {
                    "type": "string",
                    "description": "Expected response body.\n"
                },
                "responseCode": {
                    "type": "string",
                    "description": "Expected HTTP response code (e.g., '200', '404').\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getProbeTemplateHttpProbeMethodPost:getProbeTemplateHttpProbeMethodPost": {
            "properties": {
                "body": {
                    "type": "string",
                    "description": "POST request body.\n"
                },
                "bodyPath": {
                    "type": "string",
                    "description": "Path to file containing POST body.\n"
                },
                "contentType": {
                    "type": "string",
                    "description": "Content-Type header for POST request.\n"
                },
                "criteria": {
                    "type": "string",
                    "description": "Response criteria (e.g., '==', '!=', 'contains').\n"
                },
                "responseBody": {
                    "type": "string",
                    "description": "Expected response body.\n"
                },
                "responseCode": {
                    "type": "string",
                    "description": "Expected HTTP response code (e.g., '200', '404').\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getProbeTemplateHttpProbeTlsConfig:getProbeTemplateHttpProbeTlsConfig": {
            "properties": {
                "caCert": {
                    "type": "string",
                    "description": "CA certificate.\n"
                },
                "clientCert": {
                    "type": "string",
                    "description": "Client certificate.\n"
                },
                "clientKey": {
                    "type": "string",
                    "description": "Client key.\n",
                    "secret": true
                },
                "insecureSkipVerify": {
                    "type": "boolean",
                    "description": "Skip TLS certificate verification.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getProbeTemplateK8sProbe:getProbeTemplateK8sProbe": {
            "properties": {
                "fieldSelector": {
                    "type": "string",
                    "description": "Field selector for filtering resources.\n"
                },
                "group": {
                    "type": "string",
                    "description": "API group (e.g., 'apps', 'batch').\n"
                },
                "labelSelector": {
                    "type": "string",
                    "description": "Label selector for filtering resources.\n"
                },
                "namespace": {
                    "type": "string",
                    "description": "Kubernetes namespace.\n"
                },
                "operation": {
                    "type": "string",
                    "description": "Operation to perform (create, delete, present, absent, etc.).\n"
                },
                "resource": {
                    "type": "string",
                    "description": "Resource type (e.g., 'pods', 'deployments').\n"
                },
                "resourceNames": {
                    "type": "string",
                    "description": "Comma-separated list of resource names.\n"
                },
                "version": {
                    "type": "string",
                    "description": "API version (e.g., 'v1', 'v1beta1').\n"
                }
            },
            "type": "object",
            "required": [
                "resource",
                "version"
            ]
        },
        "harness:chaos/getProbeTemplateRunProperty:getProbeTemplateRunProperty": {
            "properties": {
                "attempt": {
                    "type": "integer",
                    "description": "Number of attempts.\n"
                },
                "initialDelay": {
                    "type": "string",
                    "description": "Initial delay before probe execution (e.g., '5s', '1m').\n"
                },
                "interval": {
                    "type": "string",
                    "description": "Interval between probe executions (e.g., '10s', '30s').\n"
                },
                "pollingInterval": {
                    "type": "string",
                    "description": "Polling interval for continuous probes (e.g., '2s', '5s').\n"
                },
                "retry": {
                    "type": "integer",
                    "description": "Number of retries.\n"
                },
                "stopOnFailure": {
                    "type": "boolean",
                    "description": "Whether to stop on failure.\n"
                },
                "timeout": {
                    "type": "string",
                    "description": "Timeout for probe execution (e.g., '30s', '5m').\n"
                },
                "verbosity": {
                    "type": "string",
                    "description": "Verbosity level for logging.\n"
                }
            },
            "type": "object"
        },
        "harness:chaos/getProbeTemplateVariable:getProbeTemplateVariable": {
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Variable description.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Variable name.\n"
                },
                "required": {
                    "type": "boolean",
                    "description": "Whether the variable is required.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Variable type (e.g., 'string', 'number', 'boolean').\n"
                },
                "value": {
                    "type": "string",
                    "description": "Variable value.\n"
                }
            },
            "type": "object",
            "required": [
                "name",
                "value"
            ]
        },
        "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/getSecurityGovernanceConditionV3FaultSpec:getSecurityGovernanceConditionV3FaultSpec": {
            "properties": {
                "faults": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getSecurityGovernanceConditionV3FaultSpecFault:getSecurityGovernanceConditionV3FaultSpecFault"
                    },
                    "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"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getSecurityGovernanceConditionV3FaultSpecFault:getSecurityGovernanceConditionV3FaultSpecFault": {
            "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"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getSecurityGovernanceConditionV3K8sSpec:getSecurityGovernanceConditionV3K8sSpec": {
            "properties": {
                "applicationSpecs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getSecurityGovernanceConditionV3K8sSpecApplicationSpec:getSecurityGovernanceConditionV3K8sSpecApplicationSpec"
                    },
                    "description": "Application specification\n"
                },
                "chaosServiceAccountSpecs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getSecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpec:getSecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpec"
                    },
                    "description": "Chaos service account specification\n"
                },
                "infraSpecs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getSecurityGovernanceConditionV3K8sSpecInfraSpec:getSecurityGovernanceConditionV3K8sSpecInfraSpec"
                    },
                    "description": "Infrastructure specification\n"
                }
            },
            "type": "object",
            "required": [
                "applicationSpecs",
                "chaosServiceAccountSpecs",
                "infraSpecs"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getSecurityGovernanceConditionV3K8sSpecApplicationSpec:getSecurityGovernanceConditionV3K8sSpecApplicationSpec": {
            "properties": {
                "operator": {
                    "type": "string",
                    "description": "Operator for application matching (EQUAL_TO or NOT_EQUAL_TO)\n"
                },
                "workloads": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getSecurityGovernanceConditionV3K8sSpecApplicationSpecWorkload:getSecurityGovernanceConditionV3K8sSpecApplicationSpecWorkload"
                    },
                    "description": "List of workloads to include/exclude\n"
                }
            },
            "type": "object",
            "required": [
                "operator",
                "workloads"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getSecurityGovernanceConditionV3K8sSpecApplicationSpecWorkload:getSecurityGovernanceConditionV3K8sSpecApplicationSpecWorkload": {
            "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"
                },
                "namespaceLabels": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Namespace labels to match against, as key-value pairs\n"
                },
                "services": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of services associated with the workload\n"
                }
            },
            "type": "object",
            "required": [
                "applicationMapId",
                "kind",
                "label",
                "namespace",
                "namespaceLabels",
                "services"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getSecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpec:getSecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpec": {
            "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"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getSecurityGovernanceConditionV3K8sSpecInfraSpec:getSecurityGovernanceConditionV3K8sSpecInfraSpec": {
            "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"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getSecurityGovernanceConditionV3MachineSpec:getSecurityGovernanceConditionV3MachineSpec": {
            "properties": {
                "infraSpecs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getSecurityGovernanceConditionV3MachineSpecInfraSpec:getSecurityGovernanceConditionV3MachineSpecInfraSpec"
                    },
                    "description": "Infrastructure specification\n"
                }
            },
            "type": "object",
            "required": [
                "infraSpecs"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getSecurityGovernanceConditionV3MachineSpecInfraSpec:getSecurityGovernanceConditionV3MachineSpecInfraSpec": {
            "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"
            ],
            "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:chaos/getSecurityGovernanceRuleV3TimeWindow:getSecurityGovernanceRuleV3TimeWindow": {
            "properties": {
                "duration": {
                    "type": "string",
                    "description": "Duration of the window (e.g., 30m, 1h). Computed from\u003cspan pulumi-lang-nodejs=\" endTime \" pulumi-lang-dotnet=\" EndTime \" pulumi-lang-go=\" endTime \" pulumi-lang-python=\" end_time \" pulumi-lang-yaml=\" endTime \" pulumi-lang-java=\" endTime \" pulumi-lang-hcl=\" end_time \"\u003e endTime \u003c/span\u003ewhen not set.\n"
                },
                "endTime": {
                    "type": "integer",
                    "description": "End of the window as a Unix epoch timestamp in milliseconds. Computed from duration when not set.\n"
                },
                "recurrences": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/getSecurityGovernanceRuleV3TimeWindowRecurrence:getSecurityGovernanceRuleV3TimeWindowRecurrence"
                    },
                    "description": "Recurrence specification for the time window.\n"
                },
                "startTime": {
                    "type": "integer",
                    "description": "Start of the window as a Unix epoch timestamp in milliseconds.\n"
                },
                "timeZone": {
                    "type": "string",
                    "description": "IANA time zone for the window (e.g., UTC, America/New_York).\n"
                }
            },
            "type": "object",
            "required": [
                "duration",
                "endTime",
                "recurrences",
                "startTime",
                "timeZone"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:chaos/getSecurityGovernanceRuleV3TimeWindowRecurrence:getSecurityGovernanceRuleV3TimeWindowRecurrence": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Recurrence type (None, Daily, Weekly, Monthly, Yearly).\n"
                },
                "until": {
                    "type": "integer",
                    "description": "End of the recurrence as a Unix epoch timestamp in milliseconds. Use -1 for no end.\n"
                },
                "value": {
                    "type": "integer",
                    "description": "Day of month for Monthly recurrence. Only used when type is Monthly.\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`\" pulumi-lang-hcl=\"`environment_id`\"\u003e`environmentId`\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`\" pulumi-lang-hcl=\"`environment_filter_type`\"\u003e`environmentFilterType`\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`\" pulumi-lang-hcl=\"`environment_id`\"\u003e`environmentId`\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`\" pulumi-lang-hcl=\"`environment_filter_type`\"\u003e`environmentFilterType`\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`\" pulumi-lang-hcl=\"`environment_id`\"\u003e`environmentId`\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`\" pulumi-lang-hcl=\"`environment_filter_type`\"\u003e`environmentFilterType`\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`\" pulumi-lang-hcl=\"`environment_id`\"\u003e`environmentId`\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`\" pulumi-lang-hcl=\"`environment_filter_type`\"\u003e`environmentFilterType`\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:fmeEnvironment/FmeEnvironmentChangePermissions:FmeEnvironmentChangePermissions": {
            "properties": {
                "allowKills": {
                    "type": "boolean",
                    "description": "Whether kill operations are allowed in this environment.\n"
                },
                "approvalSkippableBies": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:fmeEnvironment/FmeEnvironmentChangePermissionsApprovalSkippableBy:FmeEnvironmentChangePermissionsApprovalSkippableBy"
                    },
                    "description": "Users, groups, or API keys that can skip the approval requirement.\n"
                },
                "approvers": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:fmeEnvironment/FmeEnvironmentChangePermissionsApprover:FmeEnvironmentChangePermissionsApprover"
                    },
                    "description": "Users, groups, or API keys that can approve changes.\n"
                },
                "areApprovalsRequired": {
                    "type": "boolean",
                    "description": "Whether approvals are required before changes take effect.\n"
                },
                "areApproversRestricted": {
                    "type": "boolean",
                    "description": "Whether only specific users/groups/API keys can approve changes.\n"
                }
            },
            "type": "object"
        },
        "harness:fmeEnvironment/FmeEnvironmentChangePermissionsApprovalSkippableBy:FmeEnvironmentChangePermissionsApprovalSkippableBy": {
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Identifier of the user, group, or API key.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name (resolved by the API; may differ from the value provided at creation).\n"
                },
                "type": {
                    "type": "string",
                    "description": "Entity type: \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\" pulumi-lang-hcl=\"`group`\"\u003e`group`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`apiKey`\" pulumi-lang-dotnet=\"`ApiKey`\" pulumi-lang-go=\"`apiKey`\" pulumi-lang-python=\"`api_key`\" pulumi-lang-yaml=\"`apiKey`\" pulumi-lang-java=\"`apiKey`\" pulumi-lang-hcl=\"`api_key`\"\u003e`apiKey`\u003c/span\u003e (a Harness service account).\n"
                }
            },
            "type": "object",
            "required": [
                "id",
                "type"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "id",
                        "name",
                        "type"
                    ]
                }
            }
        },
        "harness:fmeEnvironment/FmeEnvironmentChangePermissionsApprover:FmeEnvironmentChangePermissionsApprover": {
            "properties": {
                "id": {
                    "type": "string",
                    "description": "Identifier of the user, group, or API key.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Display name (resolved by the API; may differ from the value provided at creation).\n"
                },
                "type": {
                    "type": "string",
                    "description": "Entity type: \u003cspan pulumi-lang-nodejs=\"`user`\" pulumi-lang-dotnet=\"`User`\" pulumi-lang-go=\"`user`\" pulumi-lang-python=\"`user`\" pulumi-lang-yaml=\"`user`\" pulumi-lang-java=\"`user`\" pulumi-lang-hcl=\"`user`\"\u003e`user`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`group`\" pulumi-lang-dotnet=\"`Group`\" pulumi-lang-go=\"`group`\" pulumi-lang-python=\"`group`\" pulumi-lang-yaml=\"`group`\" pulumi-lang-java=\"`group`\" pulumi-lang-hcl=\"`group`\"\u003e`group`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`apiKey`\" pulumi-lang-dotnet=\"`ApiKey`\" pulumi-lang-go=\"`apiKey`\" pulumi-lang-python=\"`api_key`\" pulumi-lang-yaml=\"`apiKey`\" pulumi-lang-java=\"`apiKey`\" pulumi-lang-hcl=\"`api_key`\"\u003e`apiKey`\u003c/span\u003e (a Harness service account).\n"
                }
            },
            "type": "object",
            "required": [
                "id",
                "type"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "id",
                        "name",
                        "type"
                    ]
                }
            }
        },
        "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`\" pulumi-lang-hcl=\"`environment_id`\"\u003e`environmentId`\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`\" pulumi-lang-hcl=\"`environment_filter_type`\"\u003e`environmentFilterType`\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`\" pulumi-lang-hcl=\"`environment_id`\"\u003e`environmentId`\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`\" pulumi-lang-hcl=\"`environment_filter_type`\"\u003e`environmentFilterType`\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`\" pulumi-lang-hcl=\"`passphrase_secret_id`\"\u003e`passphraseSecretId`\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`\" pulumi-lang-hcl=\"`ssh_key_file_id`\"\u003e`sshKeyFileId`\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`\" pulumi-lang-hcl=\"`environment_id`\"\u003e`environmentId`\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`\" pulumi-lang-hcl=\"`environment_filter_type`\"\u003e`environmentFilterType`\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`\" pulumi-lang-hcl=\"`environment_id`\"\u003e`environmentId`\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`\" pulumi-lang-hcl=\"`environment_filter_type`\"\u003e`environmentFilterType`\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`\" pulumi-lang-hcl=\"`environment_id`\"\u003e`environmentId`\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`\" pulumi-lang-hcl=\"`environment_filter_type`\"\u003e`environmentFilterType`\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`\" pulumi-lang-hcl=\"`environment_id`\"\u003e`environmentId`\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`\" pulumi-lang-hcl=\"`environment_filter_type`\"\u003e`environmentFilterType`\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": {
                "authType": {
                    "type": "string",
                    "description": "Type of API authentication. Valid values are UsernameToken, AccessToken, EmailAndApiToken. Defaults to `UsernameToken` for backward compatibility.\n"
                },
                "email": {
                    "type": "string",
                    "description": "The email used for connecting to the api. Applicable when \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e is `EmailAndApiToken`.\n"
                },
                "emailRef": {
                    "type": "string",
                    "description": "The name of the Harness secret containing the email. Applicable when \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e is `EmailAndApiToken`. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}.\n"
                },
                "tokenRef": {
                    "type": "string",
                    "description": "Reference to a Harness secret containing the personal access token (or API token for `EmailAndApiToken`/`AccessToken`) for interacting with the BitBucket api. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}.\n"
                },
                "username": {
                    "type": "string",
                    "description": "The username used for connecting to the api. Applicable when \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e is `UsernameToken`.\n"
                },
                "usernameRef": {
                    "type": "string",
                    "description": "The name of the Harness secret containing the username. Applicable when \u003cspan pulumi-lang-nodejs=\"`authType`\" pulumi-lang-dotnet=\"`AuthType`\" pulumi-lang-go=\"`authType`\" pulumi-lang-python=\"`auth_type`\" pulumi-lang-yaml=\"`authType`\" pulumi-lang-java=\"`authType`\" pulumi-lang-hcl=\"`auth_type`\"\u003e`authType`\u003c/span\u003e is `UsernameToken`. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}.\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"
                },
                "inheritFromDelegate": {
                    "$ref": "#/types/harness:platform/ConnectorJdbcCredentialsInheritFromDelegate:ConnectorJdbcCredentialsInheritFromDelegate",
                    "description": "Authenticate using credentials inherited from the Harness delegate runtime identity (e.g. GCP ADC, AWS IAM).\n"
                },
                "keyPair": {
                    "$ref": "#/types/harness:platform/ConnectorJdbcCredentialsKeyPair:ConnectorJdbcCredentialsKeyPair",
                    "description": "Authenticate using key pair.\n"
                },
                "oidc": {
                    "$ref": "#/types/harness:platform/ConnectorJdbcCredentialsOidc:ConnectorJdbcCredentialsOidc",
                    "description": "Authenticate using OIDC.\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/ConnectorJdbcCredentialsInheritFromDelegate:ConnectorJdbcCredentialsInheritFromDelegate": {
            "properties": {
                "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/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/ConnectorJdbcCredentialsOidc:ConnectorJdbcCredentialsOidc": {
            "properties": {
                "gcpOidc": {
                    "$ref": "#/types/harness:platform/ConnectorJdbcCredentialsOidcGcpOidc:ConnectorJdbcCredentialsOidcGcpOidc",
                    "description": "GCP OIDC configuration. Required when provider*type is Gcp.\n"
                },
                "providerType": {
                    "type": "string",
                    "description": "The OIDC provider type. Currently supported: Gcp.\n"
                }
            },
            "type": "object",
            "required": [
                "providerType"
            ]
        },
        "harness:platform/ConnectorJdbcCredentialsOidcGcpOidc:ConnectorJdbcCredentialsOidcGcpOidc": {
            "properties": {
                "projectNumber": {
                    "type": "string",
                    "description": "The GCP project number (numeric).\n"
                },
                "providerId": {
                    "type": "string",
                    "description": "The OIDC Provider ID within the pool.\n"
                },
                "serviceAccountEmail": {
                    "type": "string",
                    "description": "The GCP Service Account email for impersonation.\n"
                },
                "workloadPoolId": {
                    "type": "string",
                    "description": "The Workload Identity Pool ID.\n"
                }
            },
            "type": "object",
            "required": [
                "projectNumber",
                "providerId",
                "serviceAccountEmail",
                "workloadPoolId"
            ]
        },
        "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. Not supported with Harness Code Repository.\n"
                },
                "connector": {
                    "type": "string",
                    "description": "Connector to repository at which to find details about the database schema. Leave empty when using Harness Code Repository.\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": "Repository name. Required for Harness Code Repository or when connector connection type is Account.\n"
                },
                "toml": {
                    "type": "string",
                    "description": "Config file, to define various settings and properties for managing database schema change\n"
                }
            },
            "type": "object",
            "required": [
                "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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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"
                },
                "secretExpressions": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "string"
                    },
                    "description": "Maps credential field names to Harness secret expressions. Keys are credential field names (e.g. \"username\", \"password\", \"bearerToken\", \"certData\", \"keyData\", \"caData\") and values are Harness expressions referencing secrets (e.g. \"\u003c+secrets.getValue(\\\"account.my_secret\\\")\u003e\").\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"
        },
        "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. Use\u003cspan pulumi-lang-nodejs=\" bearerTokenWo \" pulumi-lang-dotnet=\" BearerTokenWo \" pulumi-lang-go=\" bearerTokenWo \" pulumi-lang-python=\" bearer_token_wo \" pulumi-lang-yaml=\" bearerTokenWo \" pulumi-lang-java=\" bearerTokenWo \" pulumi-lang-hcl=\" bearer_token_wo \"\u003e bearerTokenWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "bearerTokenWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nBearer authentication token for the cluster. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "bearerTokenWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using bearer_token_wo.\n"
                },
                "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. Use\u003cspan pulumi-lang-nodejs=\" passwordWo \" pulumi-lang-dotnet=\" PasswordWo \" pulumi-lang-go=\" passwordWo \" pulumi-lang-python=\" password_wo \" pulumi-lang-yaml=\" passwordWo \" pulumi-lang-java=\" passwordWo \" pulumi-lang-hcl=\" password_wo \"\u003e passwordWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "passwordWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword of the server of the cluster. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "passwordWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using password_wo.\n"
                },
                "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",
                        "password"
                    ]
                }
            }
        },
        "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. Use\u003cspan pulumi-lang-nodejs=\" caDataWo \" pulumi-lang-dotnet=\" CaDataWo \" pulumi-lang-go=\" caDataWo \" pulumi-lang-python=\" ca_data_wo \" pulumi-lang-yaml=\" caDataWo \" pulumi-lang-java=\" caDataWo \" pulumi-lang-hcl=\" ca_data_wo \"\u003e caDataWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n"
                },
                "caDataWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCA data holds PEM-encoded bytes. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "caDataWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using ca_data_wo.\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. Use\u003cspan pulumi-lang-nodejs=\" certDataWo \" pulumi-lang-dotnet=\" CertDataWo \" pulumi-lang-go=\" certDataWo \" pulumi-lang-python=\" cert_data_wo \" pulumi-lang-yaml=\" certDataWo \" pulumi-lang-java=\" certDataWo \" pulumi-lang-hcl=\" cert_data_wo \"\u003e certDataWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "certDataWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCertificate data for mTLS authentication. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "certDataWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using cert_data_wo.\n"
                },
                "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. Use\u003cspan pulumi-lang-nodejs=\" keyDataWo \" pulumi-lang-dotnet=\" KeyDataWo \" pulumi-lang-go=\" keyDataWo \" pulumi-lang-python=\" key_data_wo \" pulumi-lang-yaml=\" keyDataWo \" pulumi-lang-java=\" keyDataWo \" pulumi-lang-hcl=\" key_data_wo \"\u003e keyDataWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "keyDataWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nKey data for mTLS authentication. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "keyDataWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using key_data_wo.\n"
                },
                "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. Use\u003cspan pulumi-lang-nodejs=\" githubAppPrivateKeyWo \" pulumi-lang-dotnet=\" GithubAppPrivateKeyWo \" pulumi-lang-go=\" githubAppPrivateKeyWo \" pulumi-lang-python=\" github_app_private_key_wo \" pulumi-lang-yaml=\" githubAppPrivateKeyWo \" pulumi-lang-java=\" githubAppPrivateKeyWo \" pulumi-lang-hcl=\" github_app_private_key_wo \"\u003e githubAppPrivateKeyWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "githubAppPrivateKeyWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGitHub app private key PEM data. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "githubAppPrivateKeyWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using github_app_private_key_wo.\n"
                },
                "password": {
                    "type": "string",
                    "description": "Password or PAT to be used for authenticating the remote repository. Use\u003cspan pulumi-lang-nodejs=\" passwordWo \" pulumi-lang-dotnet=\" PasswordWo \" pulumi-lang-go=\" passwordWo \" pulumi-lang-python=\" password_wo \" pulumi-lang-yaml=\" passwordWo \" pulumi-lang-java=\" passwordWo \" pulumi-lang-hcl=\" password_wo \"\u003e passwordWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "passwordWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword or PAT for authenticating the remote repository. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "passwordWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using password_wo.\n"
                },
                "sshPrivateKey": {
                    "type": "string",
                    "description": "SSH Key in PEM format for authenticating the repository. Used only for Git repository. Use\u003cspan pulumi-lang-nodejs=\" sshPrivateKeyWo \" pulumi-lang-dotnet=\" SshPrivateKeyWo \" pulumi-lang-go=\" sshPrivateKeyWo \" pulumi-lang-python=\" ssh_private_key_wo \" pulumi-lang-yaml=\" sshPrivateKeyWo \" pulumi-lang-java=\" sshPrivateKeyWo \" pulumi-lang-hcl=\" ssh_private_key_wo \"\u003e sshPrivateKeyWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "sshPrivateKeyWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSSH Key in PEM format for authenticating the repository. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "sshPrivateKeyWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using ssh_private_key_wo.\n"
                },
                "tlsClientCertData": {
                    "type": "string",
                    "description": "Certificate in PEM format for authenticating at the repo server. This is used for mTLS. Use\u003cspan pulumi-lang-nodejs=\" tlsClientCertDataWo \" pulumi-lang-dotnet=\" TlsClientCertDataWo \" pulumi-lang-go=\" tlsClientCertDataWo \" pulumi-lang-python=\" tls_client_cert_data_wo \" pulumi-lang-yaml=\" tlsClientCertDataWo \" pulumi-lang-java=\" tlsClientCertDataWo \" pulumi-lang-hcl=\" tls_client_cert_data_wo \"\u003e tlsClientCertDataWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "tlsClientCertDataWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCertificate in PEM format for authenticating at the repo server (mTLS). Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "tlsClientCertDataWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using tls_client_cert_data_wo.\n"
                },
                "tlsClientCertKey": {
                    "type": "string",
                    "description": "Private key in PEM format for authenticating at the repo server. This is used for mTLS. Use\u003cspan pulumi-lang-nodejs=\" tlsClientCertKeyWo \" pulumi-lang-dotnet=\" TlsClientCertKeyWo \" pulumi-lang-go=\" tlsClientCertKeyWo \" pulumi-lang-python=\" tls_client_cert_key_wo \" pulumi-lang-yaml=\" tlsClientCertKeyWo \" pulumi-lang-java=\" tlsClientCertKeyWo \" pulumi-lang-hcl=\" tls_client_cert_key_wo \"\u003e tlsClientCertKeyWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "tlsClientCertKeyWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPrivate key in PEM format for authenticating at the repo server (mTLS). Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "tlsClientCertKeyWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using tls_client_cert_key_wo.\n"
                },
                "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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Use\u003cspan pulumi-lang-nodejs=\" githubAppPrivateKeyWo \" pulumi-lang-dotnet=\" GithubAppPrivateKeyWo \" pulumi-lang-go=\" githubAppPrivateKeyWo \" pulumi-lang-python=\" github_app_private_key_wo \" pulumi-lang-yaml=\" githubAppPrivateKeyWo \" pulumi-lang-java=\" githubAppPrivateKeyWo \" pulumi-lang-hcl=\" github_app_private_key_wo \"\u003e githubAppPrivateKeyWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "githubAppPrivateKeyWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nGitHub app private key PEM data. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "githubAppPrivateKeyWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using github_app_private_key_wo.\n"
                },
                "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. Use\u003cspan pulumi-lang-nodejs=\" passwordWo \" pulumi-lang-dotnet=\" PasswordWo \" pulumi-lang-go=\" passwordWo \" pulumi-lang-python=\" password_wo \" pulumi-lang-yaml=\" passwordWo \" pulumi-lang-java=\" passwordWo \" pulumi-lang-hcl=\" password_wo \"\u003e passwordWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "passwordWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPassword or PAT for authenticating the remote repository. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "passwordWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using password_wo.\n"
                },
                "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. Use\u003cspan pulumi-lang-nodejs=\" sshPrivateKeyWo \" pulumi-lang-dotnet=\" SshPrivateKeyWo \" pulumi-lang-go=\" sshPrivateKeyWo \" pulumi-lang-python=\" ssh_private_key_wo \" pulumi-lang-yaml=\" sshPrivateKeyWo \" pulumi-lang-java=\" sshPrivateKeyWo \" pulumi-lang-hcl=\" ssh_private_key_wo \"\u003e sshPrivateKeyWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "sshPrivateKeyWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nSSH Key in PEM format for authenticating the repository. Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "sshPrivateKeyWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using ssh_private_key_wo.\n"
                },
                "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. Use\u003cspan pulumi-lang-nodejs=\" tlsClientCertDataWo \" pulumi-lang-dotnet=\" TlsClientCertDataWo \" pulumi-lang-go=\" tlsClientCertDataWo \" pulumi-lang-python=\" tls_client_cert_data_wo \" pulumi-lang-yaml=\" tlsClientCertDataWo \" pulumi-lang-java=\" tlsClientCertDataWo \" pulumi-lang-hcl=\" tls_client_cert_data_wo \"\u003e tlsClientCertDataWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "tlsClientCertDataWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nCertificate in PEM format for authenticating at the repo server (mTLS). Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "tlsClientCertDataWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using tls_client_cert_data_wo.\n"
                },
                "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. Use\u003cspan pulumi-lang-nodejs=\" tlsClientCertKeyWo \" pulumi-lang-dotnet=\" TlsClientCertKeyWo \" pulumi-lang-go=\" tlsClientCertKeyWo \" pulumi-lang-python=\" tls_client_cert_key_wo \" pulumi-lang-yaml=\" tlsClientCertKeyWo \" pulumi-lang-java=\" tlsClientCertKeyWo \" pulumi-lang-hcl=\" tls_client_cert_key_wo \"\u003e tlsClientCertKeyWo \u003c/span\u003efor write-only support (Terraform \u003e= 1.11).\n",
                    "secret": true
                },
                "tlsClientCertKeyWo": {
                    "type": "string",
                    "description": "**NOTE:** This field is write-only and its value will not be updated in state as part of read operations.\nPrivate key in PEM format for authenticating at the repo server (mTLS). Write-only: never stored in state. Requires Terraform \u003e= 1.11.\n",
                    "secret": true
                },
                "tlsClientCertKeyWoVersion": {
                    "type": "integer",
                    "description": "Increment to rotate the credential when using tls_client_cert_key_wo.\n"
                },
                "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": "Sync policy configures how generated Applications will relate to their ApplicationSet.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorClusterDecisionResourceTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorClusterTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorGitTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorListTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorClusterTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorGitTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorListTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorClusterTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorGitTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorListTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorPullRequestTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixGeneratorScmProviderTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMatrixTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorClusterTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorGitTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorListTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorPullRequestTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeGeneratorScmProviderTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorMergeTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorPullRequestTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixGeneratorScmProviderTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMatrixTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorClusterTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorGitTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorListTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterDecisionResourceTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorClusterTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorGitTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorListTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorPullRequestTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixGeneratorScmProviderTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMatrixTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`config_map_ref`\"\u003e`configMapRef`\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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterDecisionResourceTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorClusterTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorGitTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorListTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorPullRequestTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeGeneratorScmProviderTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorMergeTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorPullRequestTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeGeneratorScmProviderTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorMergeTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorPullRequestTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSource:GitopsApplicationsetApplicationsetSpecGeneratorScmProviderTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`match_expressions`\"\u003e`matchExpressions`\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": "If true, prevents an Application's child resources from being deleted when the parent Application is deleted.\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. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "sources": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSource:GitopsApplicationsetApplicationsetSpecTemplateSpecSource"
                    },
                    "description": "List of sources for the application, used to specify multiple sources for a multi-source application. Mutually exclusive with \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e; specify exactly one of \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`\" pulumi-lang-hcl=\"`source`\"\u003e`source`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`sources`\" pulumi-lang-dotnet=\"`Sources`\" pulumi-lang-go=\"`sources`\" pulumi-lang-python=\"`sources`\" pulumi-lang-yaml=\"`sources`\" pulumi-lang-java=\"`sources`\" pulumi-lang-hcl=\"`sources`\"\u003e`sources`\u003c/span\u003e.\n"
                },
                "syncPolicy": {
                    "$ref": "#/types/harness:platform/GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicy:GitopsApplicationsetApplicationsetSpecTemplateSpecSyncPolicy",
                    "description": "Controls when and how a sync will be performed.\n"
                }
            },
            "type": "object",
            "required": [
                "destination"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "destination",
                        "revisionHistoryLimit"
                    ]
                }
            }
        },
        "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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`value_files`\"\u003e`valueFiles`\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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`1h`\"\u003e`1h`\u003c/span\u003e), as a string.\n"
                }
            },
            "type": "object"
        },
        "harness:platform/HarLifecycleRuleApplyTo:HarLifecycleRuleApplyTo": {
            "properties": {
                "mode": {
                    "type": "string",
                    "description": "Mode: ALL*IN*SCOPE or EXPLICIT.\n"
                },
                "registries": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of registry identifiers (required when mode=EXPLICIT).\n"
                }
            },
            "type": "object",
            "required": [
                "mode"
            ]
        },
        "harness:platform/HarLifecycleRuleCriteria:HarLifecycleRuleCriteria": {
            "properties": {
                "match": {
                    "type": "string",
                    "description": "How criteria rules are combined: ALL or ANY.\n"
                },
                "rules": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/HarLifecycleRuleCriteriaRule:HarLifecycleRuleCriteriaRule"
                    },
                    "description": "List of individual criteria rules.\n"
                }
            },
            "type": "object",
            "required": [
                "match",
                "rules"
            ]
        },
        "harness:platform/HarLifecycleRuleCriteriaRule:HarLifecycleRuleCriteriaRule": {
            "properties": {
                "type": {
                    "type": "string",
                    "description": "Criteria type: KEEP*LAST*N, AGE*BASED, or UNUSED*FOR.\n"
                },
                "unit": {
                    "type": "string",
                    "description": "Time unit for age/unused-for criteria: DAYS, MONTHS, or YEARS.\n"
                },
                "value": {
                    "type": "integer",
                    "description": "Numeric value for the criteria (e.g. number of versions, number of days).\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ]
        },
        "harness:platform/HarLifecycleRuleFilterConfig:HarLifecycleRuleFilterConfig": {
            "properties": {
                "datasetAllowedPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Glob patterns for HuggingFace dataset names to include (HUGGINGFACE only).\n"
                },
                "groupIdAllowedPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Glob patterns for Maven group IDs to include (MAVEN only).\n"
                },
                "modelAllowedPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Glob patterns for HuggingFace model names to include (HUGGINGFACE only).\n"
                },
                "packageNameAllowedPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Glob patterns for package/image names to include.\n"
                },
                "packageType": {
                    "type": "string",
                    "description": "Package type this filter applies to (e.g. DOCKER, MAVEN, HUGGINGFACE).\n"
                },
                "tagNameAllowedPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Glob patterns for Docker tag names to include (DOCKER only).\n"
                },
                "versionNameAllowedPatterns": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Glob patterns for version/tag names to include.\n"
                }
            },
            "type": "object",
            "required": [
                "packageType"
            ]
        },
        "harness:platform/HarLifecycleRuleSchedule:HarLifecycleRuleSchedule": {
            "properties": {
                "expression": {
                    "type": "string",
                    "description": "Cron expression (e.g. '0 2 * * *').\n"
                },
                "timezone": {
                    "type": "string",
                    "description": "Timezone for the cron schedule (e.g. 'UTC', 'America/New_York').\n"
                }
            },
            "type": "object",
            "required": [
                "expression",
                "timezone"
            ]
        },
        "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"
                },
                "firewallMode": {
                    "type": "string",
                    "description": "Dependency firewall mode for UPSTREAM registry type. Valid values: `ALLOW` (default - no policy evaluation), `ENABLED` (firewall active, artifacts scanned against policies), `QUARANTINE` (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types.\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"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "firewallMode",
                        "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/IacmAnsibleInventoryDynamicGroup:IacmAnsibleInventoryDynamicGroup": {
            "properties": {
                "configuration": {
                    "$ref": "#/types/harness:platform/IacmAnsibleInventoryDynamicGroupConfiguration:IacmAnsibleInventoryDynamicGroupConfiguration",
                    "description": "Configuration for the dynamic group.\n"
                },
                "connectorIdentifier": {
                    "type": "string",
                    "description": "Connector identifier used by the dynamic group.\n"
                },
                "connectorType": {
                    "type": "string",
                    "description": "Connector type (e.g. workspace, aws, gcp, azure, vault).\n"
                },
                "dynamicVars": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/IacmAnsibleInventoryDynamicGroupDynamicVar:IacmAnsibleInventoryDynamicGroupDynamicVar"
                    },
                    "description": "Dynamic variables for the dynamic group.\n"
                },
                "identifier": {
                    "type": "string",
                    "description": "Identifier of the dynamic group.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the dynamic group.\n"
                },
                "vars": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/IacmAnsibleInventoryDynamicGroupVar:IacmAnsibleInventoryDynamicGroupVar"
                    },
                    "description": "Variables for the dynamic group.\n"
                }
            },
            "type": "object",
            "required": [
                "connectorIdentifier",
                "connectorType",
                "identifier",
                "name"
            ]
        },
        "harness:platform/IacmAnsibleInventoryDynamicGroupConfiguration:IacmAnsibleInventoryDynamicGroupConfiguration": {
            "properties": {
                "hostAddressAttribute": {
                    "type": "string",
                    "description": "Host address attribute.\n"
                },
                "resourceType": {
                    "type": "string",
                    "description": "Resource type to select.\n"
                },
                "selectors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/IacmAnsibleInventoryDynamicGroupConfigurationSelector:IacmAnsibleInventoryDynamicGroupConfigurationSelector"
                    },
                    "description": "Resource selectors.\n"
                }
            },
            "type": "object"
        },
        "harness:platform/IacmAnsibleInventoryDynamicGroupConfigurationSelector:IacmAnsibleInventoryDynamicGroupConfigurationSelector": {
            "properties": {
                "attribute": {
                    "type": "string",
                    "description": "Attribute to filter on.\n"
                },
                "operator": {
                    "type": "string",
                    "description": "Operator for the filter.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value for the filter.\n"
                }
            },
            "type": "object",
            "required": [
                "attribute",
                "operator",
                "value"
            ]
        },
        "harness:platform/IacmAnsibleInventoryDynamicGroupDynamicVar:IacmAnsibleInventoryDynamicGroupDynamicVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "key",
                "value",
                "valueType"
            ]
        },
        "harness:platform/IacmAnsibleInventoryDynamicGroupVar:IacmAnsibleInventoryDynamicGroupVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "key",
                "value",
                "valueType"
            ]
        },
        "harness:platform/IacmAnsibleInventoryGroup:IacmAnsibleInventoryGroup": {
            "properties": {
                "hosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of hosts in the group.\n"
                },
                "identifier": {
                    "type": "string",
                    "description": "Identifier of the group.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the group.\n"
                },
                "vars": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/IacmAnsibleInventoryGroupVar:IacmAnsibleInventoryGroupVar"
                    },
                    "description": "Variables for the group.\n"
                }
            },
            "type": "object",
            "required": [
                "identifier",
                "name"
            ]
        },
        "harness:platform/IacmAnsibleInventoryGroupVar:IacmAnsibleInventoryGroupVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "key",
                "value",
                "valueType"
            ]
        },
        "harness:platform/IacmAnsibleInventoryPluginOptions:IacmAnsibleInventoryPluginOptions": {
            "properties": {
                "inlineYaml": {
                    "type": "string",
                    "description": "Inline plugin inventory YAML content (when\u003cspan pulumi-lang-nodejs=\" sourceType \" pulumi-lang-dotnet=\" SourceType \" pulumi-lang-go=\" sourceType \" pulumi-lang-python=\" source_type \" pulumi-lang-yaml=\" sourceType \" pulumi-lang-java=\" sourceType \" pulumi-lang-hcl=\" source_type \"\u003e sourceType \u003c/span\u003eis inline).\n"
                },
                "providerConnectorIdentifier": {
                    "type": "string",
                    "description": "Provider connector identifier for plugin inventory execution.\n"
                },
                "providerConnectorType": {
                    "type": "string",
                    "description": "Provider connector type.\n"
                },
                "repository": {
                    "type": "string",
                    "description": "Git repository name (when\u003cspan pulumi-lang-nodejs=\" sourceType \" pulumi-lang-dotnet=\" SourceType \" pulumi-lang-go=\" sourceType \" pulumi-lang-python=\" source_type \" pulumi-lang-yaml=\" sourceType \" pulumi-lang-java=\" sourceType \" pulumi-lang-hcl=\" source_type \"\u003e sourceType \u003c/span\u003eis git).\n"
                },
                "repositoryBranch": {
                    "type": "string",
                    "description": "Git branch.\n"
                },
                "repositoryCommit": {
                    "type": "string",
                    "description": "Git commit or tag.\n"
                },
                "repositoryConnector": {
                    "type": "string",
                    "description": "Repository connector reference (when\u003cspan pulumi-lang-nodejs=\" sourceType \" pulumi-lang-dotnet=\" SourceType \" pulumi-lang-go=\" sourceType \" pulumi-lang-python=\" source_type \" pulumi-lang-yaml=\" sourceType \" pulumi-lang-java=\" sourceType \" pulumi-lang-hcl=\" source_type \"\u003e sourceType \u003c/span\u003eis git).\n"
                },
                "repositoryPath": {
                    "type": "string",
                    "description": "Path within the repository to the plugin inventory YAML.\n"
                },
                "sourceType": {
                    "type": "string",
                    "description": "Source type for plugin inventory. One of: git, inline.\n"
                }
            },
            "type": "object"
        },
        "harness:platform/IacmAnsibleInventoryVar:IacmAnsibleInventoryVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "key",
                "value",
                "valueType"
            ]
        },
        "harness:platform/IacmAnsiblePlaybookEnvVar:IacmAnsiblePlaybookEnvVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "key",
                "value",
                "valueType"
            ]
        },
        "harness:platform/IacmAnsiblePlaybookVar:IacmAnsiblePlaybookVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "key",
                "value",
                "valueType"
            ]
        },
        "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"
                },
                "isForceImport": {
                    "type": "boolean",
                    "description": "Force import from Git even if the file path is already imported.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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. Valid values are 'account', 'organization', or 'project'.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Type.\n"
                }
            },
            "type": "object",
            "required": [
                "type"
            ],
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "scopeLevel",
                        "type"
                    ]
                }
            }
        },
        "harness:platform/RoleAssignmentsRoleReference:RoleAssignmentsRoleReference": {
            "properties": {
                "identifier": {
                    "type": "string",
                    "description": "Identifier.\n"
                },
                "scopeLevel": {
                    "type": "string",
                    "description": "Scope level. Valid values are 'account', 'organization', or 'project'.\n"
                }
            },
            "type": "object",
            "language": {
                "nodejs": {
                    "requiredOutputs": [
                        "scopeLevel"
                    ]
                }
            }
        },
        "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/SplunkConnectorBearerToken:SplunkConnectorBearerToken": {
            "properties": {
                "bearerTokenRef": {
                    "type": "string",
                    "description": "Reference to the Harness secret containing the Splunk bearer token. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}.\n"
                }
            },
            "type": "object",
            "required": [
                "bearerTokenRef"
            ]
        },
        "harness:platform/SplunkConnectorHecToken:SplunkConnectorHecToken": {
            "properties": {
                "hecTokenRef": {
                    "type": "string",
                    "description": "Reference to the Harness secret containing the Splunk HEC token. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}.\n"
                }
            },
            "type": "object",
            "required": [
                "hecTokenRef"
            ]
        },
        "harness:platform/SplunkConnectorNoAuthentication:SplunkConnectorNoAuthentication": {
            "type": "object"
        },
        "harness:platform/SplunkConnectorUsernamePassword:SplunkConnectorUsernamePassword": {
            "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/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. Important: If your Harness account has the default store type configured as REMOTE (via account-level Git Experience settings), you must explicitly set this field to INLINE within a git*details block to create inline templates. Omitting git*details or this field will cause the server to apply the account default (REMOTE), which will fail unless all required remote Git fields are also provided.\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/WorkspaceAssociatedTemplate:WorkspaceAssociatedTemplate": {
            "properties": {
                "templateId": {
                    "type": "string",
                    "description": "Template identifier. Changing this forces a new resource.\n",
                    "willReplaceOnChanges": true
                },
                "version": {
                    "type": "string",
                    "description": "Template version. Can be updated in place.\n"
                }
            },
            "type": "object",
            "required": [
                "templateId"
            ]
        },
        "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, vault\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/WorkspaceProvisionerConfig:WorkspaceProvisionerConfig": {
            "properties": {
                "language": {
                    "type": "string",
                    "description": "Programming language for AWS CDK (e.g., python, typescript)\n"
                },
                "languageVersion": {
                    "type": "string",
                    "description": "Version of the programming language (e.g., 3.12 for Python)\n"
                },
                "packageManager": {
                    "type": "string",
                    "description": "Package manager to use (e.g., pip, npm)\n"
                },
                "packageManagerVersion": {
                    "type": "string",
                    "description": "Version of the package manager (e.g., 25.3 for pip)\n"
                }
            },
            "type": "object",
            "required": [
                "language",
                "languageVersion",
                "packageManager",
                "packageManagerVersion"
            ]
        },
        "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": {
                "authType": {
                    "type": "string",
                    "description": "Type of API authentication. Valid values are UsernameToken, AccessToken, EmailAndApiToken.\n"
                },
                "email": {
                    "type": "string",
                    "description": "The email used for connecting to the api (EmailAndApiToken auth).\n"
                },
                "emailRef": {
                    "type": "string",
                    "description": "The name of the Harness secret containing the email (EmailAndApiToken auth). To reference a secret at the organization 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 Harness secret containing the 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": [
                "authType",
                "email",
                "emailRef",
                "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"
                },
                "inheritFromDelegates": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/getConnectorJdbcCredentialInheritFromDelegate:getConnectorJdbcCredentialInheritFromDelegate"
                    },
                    "description": "Authenticate using credentials inherited from the Harness delegate runtime identity.\n"
                },
                "keyPairs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/getConnectorJdbcCredentialKeyPair:getConnectorJdbcCredentialKeyPair"
                    },
                    "description": "Authenticate using key pair.\n"
                },
                "oidcs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/getConnectorJdbcCredentialOidc:getConnectorJdbcCredentialOidc"
                    },
                    "description": "Authenticate using OIDC.\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",
                "inheritFromDelegates",
                "keyPairs",
                "oidcs",
                "passwordRef",
                "serviceAccounts",
                "username",
                "usernamePasswords",
                "usernameRef"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getConnectorJdbcCredentialInheritFromDelegate:getConnectorJdbcCredentialInheritFromDelegate": {
            "properties": {
                "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": [
                "username",
                "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/getConnectorJdbcCredentialOidc:getConnectorJdbcCredentialOidc": {
            "properties": {
                "gcpOidcs": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/getConnectorJdbcCredentialOidcGcpOidc:getConnectorJdbcCredentialOidcGcpOidc"
                    },
                    "description": "GCP OIDC configuration.\n"
                },
                "providerType": {
                    "type": "string",
                    "description": "The OIDC provider type.\n"
                }
            },
            "type": "object",
            "required": [
                "gcpOidcs",
                "providerType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getConnectorJdbcCredentialOidcGcpOidc:getConnectorJdbcCredentialOidcGcpOidc": {
            "properties": {
                "projectNumber": {
                    "type": "string",
                    "description": "The GCP project number (numeric).\n"
                },
                "providerId": {
                    "type": "string",
                    "description": "The OIDC Provider ID within the pool.\n"
                },
                "serviceAccountEmail": {
                    "type": "string",
                    "description": "The GCP Service Account email for impersonation.\n"
                },
                "workloadPoolId": {
                    "type": "string",
                    "description": "The Workload Identity Pool ID.\n"
                }
            },
            "type": "object",
            "required": [
                "projectNumber",
                "providerId",
                "serviceAccountEmail",
                "workloadPoolId"
            ],
            "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. Empty when using Harness Code Repository.\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": {
                "applicationNamespaces": {
                    "type": "string",
                    "description": "Comma-separated list of namespaces where Application CRs are permitted to reside. Use \"*\" for all namespaces.\n"
                },
                "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 \" pulumi-lang-hcl=\" value_files \"\u003e valueFiles \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"
                },
                "namespace": {
                    "type": "string",
                    "description": "Override the namespace of the Kustomize application.\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"
                },
                "firewallMode": {
                    "type": "string",
                    "description": "Dependency firewall mode for UPSTREAM registry type. Valid values: `ALLOW` (default - no policy evaluation), `ENABLED` (firewall active, artifacts scanned against policies), `QUARANTINE` (artifacts that fail policy evaluation are blocked). Not supported for DOCKER or HELM package types.\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": [
                "firewallMode",
                "type"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": [
                        "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/getIacmAnsibleInventoryDynamicGroup:getIacmAnsibleInventoryDynamicGroup": {
            "properties": {
                "configurations": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/getIacmAnsibleInventoryDynamicGroupConfiguration:getIacmAnsibleInventoryDynamicGroupConfiguration"
                    },
                    "description": "Configuration for the dynamic group.\n"
                },
                "connectorIdentifier": {
                    "type": "string",
                    "description": "Connector identifier used by the dynamic group.\n"
                },
                "connectorType": {
                    "type": "string",
                    "description": "Connector type (e.g. workspace, aws, gcp, azure, vault).\n"
                },
                "dynamicVars": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/getIacmAnsibleInventoryDynamicGroupDynamicVar:getIacmAnsibleInventoryDynamicGroupDynamicVar"
                    },
                    "description": "Dynamic variables for the dynamic group.\n"
                },
                "identifier": {
                    "type": "string",
                    "description": "Identifier of the dynamic group.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the dynamic group.\n"
                },
                "vars": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/getIacmAnsibleInventoryDynamicGroupVar:getIacmAnsibleInventoryDynamicGroupVar"
                    },
                    "description": "Variables for the dynamic group.\n"
                }
            },
            "type": "object",
            "required": [
                "configurations",
                "connectorIdentifier",
                "connectorType",
                "dynamicVars",
                "identifier",
                "name",
                "vars"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getIacmAnsibleInventoryDynamicGroupConfiguration:getIacmAnsibleInventoryDynamicGroupConfiguration": {
            "properties": {
                "hostAddressAttribute": {
                    "type": "string",
                    "description": "Host address attribute.\n"
                },
                "resourceType": {
                    "type": "string",
                    "description": "Resource type to select.\n"
                },
                "selectors": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/getIacmAnsibleInventoryDynamicGroupConfigurationSelector:getIacmAnsibleInventoryDynamicGroupConfigurationSelector"
                    },
                    "description": "Resource selectors.\n"
                }
            },
            "type": "object",
            "required": [
                "hostAddressAttribute",
                "resourceType",
                "selectors"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getIacmAnsibleInventoryDynamicGroupConfigurationSelector:getIacmAnsibleInventoryDynamicGroupConfigurationSelector": {
            "properties": {
                "attribute": {
                    "type": "string",
                    "description": "Attribute to filter on.\n"
                },
                "operator": {
                    "type": "string",
                    "description": "Operator for the filter.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value for the filter.\n"
                }
            },
            "type": "object",
            "required": [
                "attribute",
                "operator",
                "value"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getIacmAnsibleInventoryDynamicGroupDynamicVar:getIacmAnsibleInventoryDynamicGroupDynamicVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "fileName",
                "key",
                "value",
                "valueType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getIacmAnsibleInventoryDynamicGroupVar:getIacmAnsibleInventoryDynamicGroupVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "fileName",
                "key",
                "value",
                "valueType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getIacmAnsibleInventoryGroup:getIacmAnsibleInventoryGroup": {
            "properties": {
                "hosts": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of hosts in the group.\n"
                },
                "identifier": {
                    "type": "string",
                    "description": "Identifier of the group.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the group.\n"
                },
                "vars": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:platform/getIacmAnsibleInventoryGroupVar:getIacmAnsibleInventoryGroupVar"
                    },
                    "description": "Variables for the group.\n"
                }
            },
            "type": "object",
            "required": [
                "hosts",
                "identifier",
                "name",
                "vars"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getIacmAnsibleInventoryGroupVar:getIacmAnsibleInventoryGroupVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "fileName",
                "key",
                "value",
                "valueType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getIacmAnsibleInventoryPluginOption:getIacmAnsibleInventoryPluginOption": {
            "properties": {
                "inlineYaml": {
                    "type": "string",
                    "description": "Inline plugin inventory YAML content (when\u003cspan pulumi-lang-nodejs=\" sourceType \" pulumi-lang-dotnet=\" SourceType \" pulumi-lang-go=\" sourceType \" pulumi-lang-python=\" source_type \" pulumi-lang-yaml=\" sourceType \" pulumi-lang-java=\" sourceType \" pulumi-lang-hcl=\" source_type \"\u003e sourceType \u003c/span\u003eis inline).\n"
                },
                "providerConnectorIdentifier": {
                    "type": "string",
                    "description": "Provider connector identifier for plugin inventory execution.\n"
                },
                "providerConnectorType": {
                    "type": "string",
                    "description": "Provider connector type.\n"
                },
                "repository": {
                    "type": "string",
                    "description": "Git repository name (when\u003cspan pulumi-lang-nodejs=\" sourceType \" pulumi-lang-dotnet=\" SourceType \" pulumi-lang-go=\" sourceType \" pulumi-lang-python=\" source_type \" pulumi-lang-yaml=\" sourceType \" pulumi-lang-java=\" sourceType \" pulumi-lang-hcl=\" source_type \"\u003e sourceType \u003c/span\u003eis git).\n"
                },
                "repositoryBranch": {
                    "type": "string",
                    "description": "Git branch.\n"
                },
                "repositoryCommit": {
                    "type": "string",
                    "description": "Git commit or tag.\n"
                },
                "repositoryConnector": {
                    "type": "string",
                    "description": "Repository connector reference (when\u003cspan pulumi-lang-nodejs=\" sourceType \" pulumi-lang-dotnet=\" SourceType \" pulumi-lang-go=\" sourceType \" pulumi-lang-python=\" source_type \" pulumi-lang-yaml=\" sourceType \" pulumi-lang-java=\" sourceType \" pulumi-lang-hcl=\" source_type \"\u003e sourceType \u003c/span\u003eis git).\n"
                },
                "repositoryPath": {
                    "type": "string",
                    "description": "Path within the repository to the plugin inventory YAML.\n"
                },
                "sourceType": {
                    "type": "string",
                    "description": "Source type for plugin inventory. One of: git, inline.\n"
                }
            },
            "type": "object",
            "required": [
                "inlineYaml",
                "providerConnectorIdentifier",
                "providerConnectorType",
                "repository",
                "repositoryBranch",
                "repositoryCommit",
                "repositoryConnector",
                "repositoryPath",
                "sourceType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getIacmAnsibleInventoryVar:getIacmAnsibleInventoryVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "fileName",
                "key",
                "value",
                "valueType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getIacmAnsiblePlaybookEnvVar:getIacmAnsiblePlaybookEnvVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "fileName",
                "key",
                "value",
                "valueType"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getIacmAnsiblePlaybookVar:getIacmAnsiblePlaybookVar": {
            "properties": {
                "fileName": {
                    "type": "string",
                    "description": "Filename to store the value in (used for file-backed variables).\n"
                },
                "key": {
                    "type": "string",
                    "description": "Key is the identifier for the variable.\n"
                },
                "value": {
                    "type": "string",
                    "description": "Value of the variable. For secret value types this must be a Harness secret reference.\n"
                },
                "valueType": {
                    "type": "string",
                    "description": "Value type. One of: string, secret.\n"
                }
            },
            "type": "object",
            "required": [
                "fileName",
                "key",
                "value",
                "valueType"
            ],
            "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"
                },
                "pipelines": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Pipelines where the testing is enabled\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",
                "pipelines",
                "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"
                },
                "repository": {
                    "type": "string",
                    "description": "Repository name 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",
                "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/getRoleAssignmentsRoleReference:getRoleAssignmentsRoleReference": {
            "properties": {
                "identifier": {
                    "type": "string",
                    "description": "Identifier.\n"
                },
                "scopeLevel": {
                    "type": "string",
                    "description": "Scope level.\n"
                }
            },
            "type": "object",
            "required": [
                "identifier",
                "scopeLevel"
            ],
            "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/getSplunkConnectorBearerToken:getSplunkConnectorBearerToken": {
            "properties": {
                "bearerTokenRef": {
                    "type": "string",
                    "description": "Reference to the Harness secret containing the Splunk bearer token. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}.\n"
                }
            },
            "type": "object",
            "required": [
                "bearerTokenRef"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getSplunkConnectorHecToken:getSplunkConnectorHecToken": {
            "properties": {
                "hecTokenRef": {
                    "type": "string",
                    "description": "Reference to the Harness secret containing the Splunk HEC token. To reference a secret at the organization scope, prefix 'org' to the expression: org.{identifier}. To reference a secret at the account scope, prefix 'account` to the expression: account.{identifier}.\n"
                }
            },
            "type": "object",
            "required": [
                "hecTokenRef"
            ],
            "language": {
                "nodejs": {
                    "requiredInputs": []
                }
            }
        },
        "harness:platform/getSplunkConnectorNoAuthentication:getSplunkConnectorNoAuthentication": {
            "type": "object"
        },
        "harness:platform/getSplunkConnectorUsernamePassword:getSplunkConnectorUsernamePassword": {
            "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/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:platform/getWorkspacesWorkspace:getWorkspacesWorkspace": {
            "properties": {
                "accountId": {
                    "type": "string"
                },
                "created": {
                    "type": "integer"
                },
                "description": {
                    "type": "string"
                },
                "identifier": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                },
                "orgId": {
                    "type": "string"
                },
                "projectId": {
                    "type": "string"
                },
                "status": {
                    "type": "string"
                },
                "updated": {
                    "type": "integer"
                }
            },
            "type": "object",
            "required": [
                "accountId",
                "created",
                "description",
                "identifier",
                "name",
                "orgId",
                "projectId",
                "status",
                "updated"
            ],
            "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/alert:Alert": {
            "description": "Resource for creating and managing Harness AutoStopping alerts. Alerts notify users via email or Slack when events such as warmup failures, cooldown failures, or rule lifecycle changes occur.\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 specific_rule_alert = new harness.autostopping.Alert(\"specific-rule-alert\", {\n    name: \"demo-alert\",\n    recipients: {\n        emails: [\n            \"user1@example.com\",\n            \"user2@example.com\",\n        ],\n        slacks: [\n            \"slack-web-hook-1\",\n            \"slack-web-hook-2\",\n        ],\n    },\n    events: [\n        \"autostopping_rule_created\",\n        \"autostopping_rule_updated\",\n        \"autostopping_rule_deleted\",\n        \"autostopping_warmup_failed\",\n        \"autostopping_cooldown_failed\",\n    ],\n    ruleIdLists: [1234],\n});\nconst all_rule_alert = new harness.autostopping.Alert(\"all-rule-alert\", {\n    name: \"demo-alert\",\n    recipients: {\n        emails: [\n            \"user1@example.com\",\n            \"user2@example.com\",\n        ],\n        slacks: [\n            \"slack-web-hook-1\",\n            \"slack-web-hook-2\",\n        ],\n    },\n    events: [\n        \"autostopping_rule_created\",\n        \"autostopping_rule_updated\",\n        \"autostopping_rule_deleted\",\n        \"autostopping_warmup_failed\",\n        \"autostopping_cooldown_failed\",\n    ],\n    applicableToAllRules: true,\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nspecific_rule_alert = harness.autostopping.Alert(\"specific-rule-alert\",\n    name=\"demo-alert\",\n    recipients={\n        \"emails\": [\n            \"user1@example.com\",\n            \"user2@example.com\",\n        ],\n        \"slacks\": [\n            \"slack-web-hook-1\",\n            \"slack-web-hook-2\",\n        ],\n    },\n    events=[\n        \"autostopping_rule_created\",\n        \"autostopping_rule_updated\",\n        \"autostopping_rule_deleted\",\n        \"autostopping_warmup_failed\",\n        \"autostopping_cooldown_failed\",\n    ],\n    rule_id_lists=[1234])\nall_rule_alert = harness.autostopping.Alert(\"all-rule-alert\",\n    name=\"demo-alert\",\n    recipients={\n        \"emails\": [\n            \"user1@example.com\",\n            \"user2@example.com\",\n        ],\n        \"slacks\": [\n            \"slack-web-hook-1\",\n            \"slack-web-hook-2\",\n        ],\n    },\n    events=[\n        \"autostopping_rule_created\",\n        \"autostopping_rule_updated\",\n        \"autostopping_rule_deleted\",\n        \"autostopping_warmup_failed\",\n        \"autostopping_cooldown_failed\",\n    ],\n    applicable_to_all_rules=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 specific_rule_alert = new Harness.Autostopping.Alert(\"specific-rule-alert\", new()\n    {\n        Name = \"demo-alert\",\n        Recipients = new Harness.Autostopping.Inputs.AlertRecipientsArgs\n        {\n            Emails = new[]\n            {\n                \"user1@example.com\",\n                \"user2@example.com\",\n            },\n            Slacks = new[]\n            {\n                \"slack-web-hook-1\",\n                \"slack-web-hook-2\",\n            },\n        },\n        Events = new[]\n        {\n            \"autostopping_rule_created\",\n            \"autostopping_rule_updated\",\n            \"autostopping_rule_deleted\",\n            \"autostopping_warmup_failed\",\n            \"autostopping_cooldown_failed\",\n        },\n        RuleIdLists = new[]\n        {\n            1234,\n        },\n    });\n\n    var all_rule_alert = new Harness.Autostopping.Alert(\"all-rule-alert\", new()\n    {\n        Name = \"demo-alert\",\n        Recipients = new Harness.Autostopping.Inputs.AlertRecipientsArgs\n        {\n            Emails = new[]\n            {\n                \"user1@example.com\",\n                \"user2@example.com\",\n            },\n            Slacks = new[]\n            {\n                \"slack-web-hook-1\",\n                \"slack-web-hook-2\",\n            },\n        },\n        Events = new[]\n        {\n            \"autostopping_rule_created\",\n            \"autostopping_rule_updated\",\n            \"autostopping_rule_deleted\",\n            \"autostopping_warmup_failed\",\n            \"autostopping_cooldown_failed\",\n        },\n        ApplicableToAllRules = 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.NewAlert(ctx, \"specific-rule-alert\", \u0026autostopping.AlertArgs{\n\t\t\tName: pulumi.String(\"demo-alert\"),\n\t\t\tRecipients: \u0026autostopping.AlertRecipientsArgs{\n\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"user1@example.com\"),\n\t\t\t\t\tpulumi.String(\"user2@example.com\"),\n\t\t\t\t},\n\t\t\t\tSlacks: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"slack-web-hook-1\"),\n\t\t\t\t\tpulumi.String(\"slack-web-hook-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEvents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"autostopping_rule_created\"),\n\t\t\t\tpulumi.String(\"autostopping_rule_updated\"),\n\t\t\t\tpulumi.String(\"autostopping_rule_deleted\"),\n\t\t\t\tpulumi.String(\"autostopping_warmup_failed\"),\n\t\t\t\tpulumi.String(\"autostopping_cooldown_failed\"),\n\t\t\t},\n\t\t\tRuleIdLists: pulumi.IntArray{\n\t\t\t\tpulumi.Int(1234),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t_, err = autostopping.NewAlert(ctx, \"all-rule-alert\", \u0026autostopping.AlertArgs{\n\t\t\tName: pulumi.String(\"demo-alert\"),\n\t\t\tRecipients: \u0026autostopping.AlertRecipientsArgs{\n\t\t\t\tEmails: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"user1@example.com\"),\n\t\t\t\t\tpulumi.String(\"user2@example.com\"),\n\t\t\t\t},\n\t\t\t\tSlacks: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"slack-web-hook-1\"),\n\t\t\t\t\tpulumi.String(\"slack-web-hook-2\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tEvents: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"autostopping_rule_created\"),\n\t\t\t\tpulumi.String(\"autostopping_rule_updated\"),\n\t\t\t\tpulumi.String(\"autostopping_rule_deleted\"),\n\t\t\t\tpulumi.String(\"autostopping_warmup_failed\"),\n\t\t\t\tpulumi.String(\"autostopping_cooldown_failed\"),\n\t\t\t},\n\t\t\tApplicableToAllRules: 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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_autostopping_alert\" \"specific-rule-alert\" {\n  name = \"demo-alert\"\n  recipients = {\n    emails = [\"user1@example.com\", \"user2@example.com\"]\n    slacks = [\"slack-web-hook-1\", \"slack-web-hook-2\"]\n  }\n  events        = [\"autostopping_rule_created\", \"autostopping_rule_updated\", \"autostopping_rule_deleted\", \"autostopping_warmup_failed\", \"autostopping_cooldown_failed\"]\n  rule_id_lists = [1234]\n}\nresource \"harness_autostopping_alert\" \"all-rule-alert\" {\n  name = \"demo-alert\"\n  recipients = {\n    emails = [\"user1@example.com\", \"user2@example.com\"]\n    slacks = [\"slack-web-hook-1\", \"slack-web-hook-2\"]\n  }\n  events                  = [\"autostopping_rule_created\", \"autostopping_rule_updated\", \"autostopping_rule_deleted\", \"autostopping_warmup_failed\", \"autostopping_cooldown_failed\"]\n  applicable_to_all_rules = true\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.Alert;\nimport com.pulumi.harness.autostopping.AlertArgs;\nimport com.pulumi.harness.autostopping.inputs.AlertRecipientsArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 specific_rule_alert = new Alert(\"specific-rule-alert\", AlertArgs.builder()\n            .name(\"demo-alert\")\n            .recipients(AlertRecipientsArgs.builder()\n                .emails(                \n                    \"user1@example.com\",\n                    \"user2@example.com\")\n                .slacks(                \n                    \"slack-web-hook-1\",\n                    \"slack-web-hook-2\")\n                .build())\n            .events(            \n                \"autostopping_rule_created\",\n                \"autostopping_rule_updated\",\n                \"autostopping_rule_deleted\",\n                \"autostopping_warmup_failed\",\n                \"autostopping_cooldown_failed\")\n            .ruleIdLists(1234)\n            .build());\n\n        var all_rule_alert = new Alert(\"all-rule-alert\", AlertArgs.builder()\n            .name(\"demo-alert\")\n            .recipients(AlertRecipientsArgs.builder()\n                .emails(                \n                    \"user1@example.com\",\n                    \"user2@example.com\")\n                .slacks(                \n                    \"slack-web-hook-1\",\n                    \"slack-web-hook-2\")\n                .build())\n            .events(            \n                \"autostopping_rule_created\",\n                \"autostopping_rule_updated\",\n                \"autostopping_rule_deleted\",\n                \"autostopping_warmup_failed\",\n                \"autostopping_cooldown_failed\")\n            .applicableToAllRules(true)\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  specific-rule-alert:\n    type: harness:autostopping:Alert\n    properties:\n      name: demo-alert\n      recipients:\n        emails:\n          - user1@example.com\n          - user2@example.com\n        slacks:\n          - slack-web-hook-1\n          - slack-web-hook-2\n      events:\n        - autostopping_rule_created\n        - autostopping_rule_updated\n        - autostopping_rule_deleted\n        - autostopping_warmup_failed\n        - autostopping_cooldown_failed\n      ruleIdLists:\n        - 1234\n  all-rule-alert:\n    type: harness:autostopping:Alert\n    properties:\n      name: demo-alert\n      recipients:\n        emails:\n          - user1@example.com\n          - user2@example.com\n        slacks:\n          - slack-web-hook-1\n          - slack-web-hook-2\n      events:\n        - autostopping_rule_created\n        - autostopping_rule_updated\n        - autostopping_rule_deleted\n        - autostopping_warmup_failed\n        - autostopping_cooldown_failed\n      applicableToAllRules: true\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "applicableToAllRules": {
                    "type": "boolean",
                    "description": "When true, the alert applies to all AutoStopping rules in the account (leave \u003cspan pulumi-lang-nodejs=\"`ruleIdList`\" pulumi-lang-dotnet=\"`RuleIdList`\" pulumi-lang-go=\"`ruleIdList`\" pulumi-lang-python=\"`rule_id_list`\" pulumi-lang-yaml=\"`ruleIdList`\" pulumi-lang-java=\"`ruleIdList`\" pulumi-lang-hcl=\"`rule_id_list`\"\u003e`ruleIdList`\u003c/span\u003e empty). Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`ruleIdList`\" pulumi-lang-dotnet=\"`RuleIdList`\" pulumi-lang-go=\"`ruleIdList`\" pulumi-lang-python=\"`rule_id_list`\" pulumi-lang-yaml=\"`ruleIdList`\" pulumi-lang-java=\"`ruleIdList`\" pulumi-lang-hcl=\"`rule_id_list`\"\u003e`ruleIdList`\u003c/span\u003e.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the alert is enabled.\n"
                },
                "events": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of event types that trigger the alert (e.g. autostopping*rule*created, autostopping*warmup*failed, autostopping*cooldown*failed).\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the alert.\n"
                },
                "recipients": {
                    "$ref": "#/types/harness:autostopping/AlertRecipients:AlertRecipients",
                    "description": "Notification recipients. At least one of \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`slack`\" pulumi-lang-dotnet=\"`Slack`\" pulumi-lang-go=\"`slack`\" pulumi-lang-python=\"`slack`\" pulumi-lang-yaml=\"`slack`\" pulumi-lang-java=\"`slack`\" pulumi-lang-hcl=\"`slack`\"\u003e`slack`\u003c/span\u003e is required (with at least one value).\n"
                },
                "ruleIdLists": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "List of AutoStopping rule IDs to apply the alert to. Required when \u003cspan pulumi-lang-nodejs=\"`applicableToAllRules`\" pulumi-lang-dotnet=\"`ApplicableToAllRules`\" pulumi-lang-go=\"`applicableToAllRules`\" pulumi-lang-python=\"`applicable_to_all_rules`\" pulumi-lang-yaml=\"`applicableToAllRules`\" pulumi-lang-java=\"`applicableToAllRules`\" pulumi-lang-hcl=\"`applicable_to_all_rules`\"\u003e`applicableToAllRules`\u003c/span\u003e is false. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`applicableToAllRules`\" pulumi-lang-dotnet=\"`ApplicableToAllRules`\" pulumi-lang-go=\"`applicableToAllRules`\" pulumi-lang-python=\"`applicable_to_all_rules`\" pulumi-lang-yaml=\"`applicableToAllRules`\" pulumi-lang-java=\"`applicableToAllRules`\" pulumi-lang-hcl=\"`applicable_to_all_rules`\"\u003e`applicableToAllRules`\u003c/span\u003e = true.\n"
                }
            },
            "required": [
                "events",
                "name",
                "recipients"
            ],
            "inputProperties": {
                "applicableToAllRules": {
                    "type": "boolean",
                    "description": "When true, the alert applies to all AutoStopping rules in the account (leave \u003cspan pulumi-lang-nodejs=\"`ruleIdList`\" pulumi-lang-dotnet=\"`RuleIdList`\" pulumi-lang-go=\"`ruleIdList`\" pulumi-lang-python=\"`rule_id_list`\" pulumi-lang-yaml=\"`ruleIdList`\" pulumi-lang-java=\"`ruleIdList`\" pulumi-lang-hcl=\"`rule_id_list`\"\u003e`ruleIdList`\u003c/span\u003e empty). Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`ruleIdList`\" pulumi-lang-dotnet=\"`RuleIdList`\" pulumi-lang-go=\"`ruleIdList`\" pulumi-lang-python=\"`rule_id_list`\" pulumi-lang-yaml=\"`ruleIdList`\" pulumi-lang-java=\"`ruleIdList`\" pulumi-lang-hcl=\"`rule_id_list`\"\u003e`ruleIdList`\u003c/span\u003e.\n"
                },
                "enabled": {
                    "type": "boolean",
                    "description": "Whether the alert is enabled.\n"
                },
                "events": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of event types that trigger the alert (e.g. autostopping*rule*created, autostopping*warmup*failed, autostopping*cooldown*failed).\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the alert.\n"
                },
                "recipients": {
                    "$ref": "#/types/harness:autostopping/AlertRecipients:AlertRecipients",
                    "description": "Notification recipients. At least one of \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`slack`\" pulumi-lang-dotnet=\"`Slack`\" pulumi-lang-go=\"`slack`\" pulumi-lang-python=\"`slack`\" pulumi-lang-yaml=\"`slack`\" pulumi-lang-java=\"`slack`\" pulumi-lang-hcl=\"`slack`\"\u003e`slack`\u003c/span\u003e is required (with at least one value).\n"
                },
                "ruleIdLists": {
                    "type": "array",
                    "items": {
                        "type": "integer"
                    },
                    "description": "List of AutoStopping rule IDs to apply the alert to. Required when \u003cspan pulumi-lang-nodejs=\"`applicableToAllRules`\" pulumi-lang-dotnet=\"`ApplicableToAllRules`\" pulumi-lang-go=\"`applicableToAllRules`\" pulumi-lang-python=\"`applicable_to_all_rules`\" pulumi-lang-yaml=\"`applicableToAllRules`\" pulumi-lang-java=\"`applicableToAllRules`\" pulumi-lang-hcl=\"`applicable_to_all_rules`\"\u003e`applicableToAllRules`\u003c/span\u003e is false. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`applicableToAllRules`\" pulumi-lang-dotnet=\"`ApplicableToAllRules`\" pulumi-lang-go=\"`applicableToAllRules`\" pulumi-lang-python=\"`applicable_to_all_rules`\" pulumi-lang-yaml=\"`applicableToAllRules`\" pulumi-lang-java=\"`applicableToAllRules`\" pulumi-lang-hcl=\"`applicable_to_all_rules`\"\u003e`applicableToAllRules`\u003c/span\u003e = true.\n"
                }
            },
            "requiredInputs": [
                "events",
                "recipients"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Alert resources.\n",
                "properties": {
                    "applicableToAllRules": {
                        "type": "boolean",
                        "description": "When true, the alert applies to all AutoStopping rules in the account (leave \u003cspan pulumi-lang-nodejs=\"`ruleIdList`\" pulumi-lang-dotnet=\"`RuleIdList`\" pulumi-lang-go=\"`ruleIdList`\" pulumi-lang-python=\"`rule_id_list`\" pulumi-lang-yaml=\"`ruleIdList`\" pulumi-lang-java=\"`ruleIdList`\" pulumi-lang-hcl=\"`rule_id_list`\"\u003e`ruleIdList`\u003c/span\u003e empty). Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`ruleIdList`\" pulumi-lang-dotnet=\"`RuleIdList`\" pulumi-lang-go=\"`ruleIdList`\" pulumi-lang-python=\"`rule_id_list`\" pulumi-lang-yaml=\"`ruleIdList`\" pulumi-lang-java=\"`ruleIdList`\" pulumi-lang-hcl=\"`rule_id_list`\"\u003e`ruleIdList`\u003c/span\u003e.\n"
                    },
                    "enabled": {
                        "type": "boolean",
                        "description": "Whether the alert is enabled.\n"
                    },
                    "events": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of event types that trigger the alert (e.g. autostopping*rule*created, autostopping*warmup*failed, autostopping*cooldown*failed).\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the alert.\n"
                    },
                    "recipients": {
                        "$ref": "#/types/harness:autostopping/AlertRecipients:AlertRecipients",
                        "description": "Notification recipients. At least one of \u003cspan pulumi-lang-nodejs=\"`email`\" pulumi-lang-dotnet=\"`Email`\" pulumi-lang-go=\"`email`\" pulumi-lang-python=\"`email`\" pulumi-lang-yaml=\"`email`\" pulumi-lang-java=\"`email`\" pulumi-lang-hcl=\"`email`\"\u003e`email`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`slack`\" pulumi-lang-dotnet=\"`Slack`\" pulumi-lang-go=\"`slack`\" pulumi-lang-python=\"`slack`\" pulumi-lang-yaml=\"`slack`\" pulumi-lang-java=\"`slack`\" pulumi-lang-hcl=\"`slack`\"\u003e`slack`\u003c/span\u003e is required (with at least one value).\n"
                    },
                    "ruleIdLists": {
                        "type": "array",
                        "items": {
                            "type": "integer"
                        },
                        "description": "List of AutoStopping rule IDs to apply the alert to. Required when \u003cspan pulumi-lang-nodejs=\"`applicableToAllRules`\" pulumi-lang-dotnet=\"`ApplicableToAllRules`\" pulumi-lang-go=\"`applicableToAllRules`\" pulumi-lang-python=\"`applicable_to_all_rules`\" pulumi-lang-yaml=\"`applicableToAllRules`\" pulumi-lang-java=\"`applicableToAllRules`\" pulumi-lang-hcl=\"`applicable_to_all_rules`\"\u003e`applicableToAllRules`\u003c/span\u003e is false. Mutually exclusive with \u003cspan pulumi-lang-nodejs=\"`applicableToAllRules`\" pulumi-lang-dotnet=\"`ApplicableToAllRules`\" pulumi-lang-go=\"`applicableToAllRules`\" pulumi-lang-python=\"`applicable_to_all_rules`\" pulumi-lang-yaml=\"`applicableToAllRules`\" pulumi-lang-java=\"`applicableToAllRules`\" pulumi-lang-hcl=\"`applicable_to_all_rules`\"\u003e`applicableToAllRules`\u003c/span\u003e = true.\n"
                    }
                },
                "type": "object"
            }
        },
        "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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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                   = [\"sg1\", \"sg2\"]\n  delete_cloud_resources_on_destroy = true\n}\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_autostopping_awsproxy\" \"test\" {\n  name                              = \"name\"\n  cloud_connector_id                = \"cloud_connector_id\"\n  region                            = \"region\"\n  vpc                               = \"vpc\"\n  security_groups                   = [\"sg1\", \"sg2\"]\n  machine_type                      = \"t2.medium\"\n  api_key                           = \"\"\n  allocate_static_ip                = true\n  delete_cloud_resources_on_destroy = true\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.ArrayList;\nimport java.util.Arrays;\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"
                },
                "privateIp": {
                    "type": "string",
                    "description": "Private IP address of the proxy\n"
                },
                "publicIp": {
                    "type": "string",
                    "description": "Public IP address 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",
                "privateIp",
                "publicIp",
                "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"
                    },
                    "privateIp": {
                        "type": "string",
                        "description": "Private IP address of the proxy\n"
                    },
                    "publicIp": {
                        "type": "string",
                        "description": "Public IP address 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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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\n}\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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"
                },
                "privateIp": {
                    "type": "string",
                    "description": "Private IP address of the proxy\n"
                },
                "publicIp": {
                    "type": "string",
                    "description": "Public IP address 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",
                "privateIp",
                "publicIp",
                "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"
                    },
                    "privateIp": {
                        "type": "string",
                        "description": "Private IP address of the proxy\n"
                    },
                    "publicIp": {
                        "type": "string",
                        "description": "Public IP address 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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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"
                },
                "privateIp": {
                    "type": "string",
                    "description": "Private IP address of the proxy\n"
                },
                "publicIp": {
                    "type": "string",
                    "description": "Public IP address 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",
                "privateIp",
                "publicIp",
                "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"
                    },
                    "privateIp": {
                        "type": "string",
                        "description": "Private IP address of the proxy\n"
                    },
                    "publicIp": {
                        "type": "string",
                        "description": "Public IP address 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    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    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        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\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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  depends {\n    rule_id      = 24576\n    delay_in_sec = 5\n  }\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.ArrayList;\nimport java.util.Arrays;\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            .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      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": "string",
                    "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": "string",
                        "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/ruleK8s:RuleK8s": {
            "description": "Data source for retrieving a Harness AutoStopping rule for K8s services.\n\n",
            "properties": {
                "cloudConnectorId": {
                    "type": "string",
                    "description": "Id of the cloud connector\n"
                },
                "depends": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:autostopping/RuleK8sDepend:RuleK8sDepend"
                    },
                    "description": "Dependent rules\n"
                },
                "dryRun": {
                    "type": "boolean",
                    "description": "Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"
                },
                "identifier": {
                    "type": "string",
                    "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"
                },
                "k8sConnectorId": {
                    "type": "string",
                    "description": "Id of the K8s connector\n"
                },
                "k8sNamespace": {
                    "type": "string",
                    "description": "Namespace of the cluster\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the rule\n"
                },
                "ruleYaml": {
                    "type": "string",
                    "description": "YAML definition of the K8s AutoStopping rule (workload selector, ingress, etc.).\n"
                }
            },
            "required": [
                "cloudConnectorId",
                "identifier",
                "k8sConnectorId",
                "k8sNamespace",
                "name",
                "ruleYaml"
            ],
            "inputProperties": {
                "cloudConnectorId": {
                    "type": "string",
                    "description": "Id of the cloud connector\n"
                },
                "depends": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:autostopping/RuleK8sDepend:RuleK8sDepend"
                    },
                    "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"
                },
                "k8sConnectorId": {
                    "type": "string",
                    "description": "Id of the K8s connector\n"
                },
                "k8sNamespace": {
                    "type": "string",
                    "description": "Namespace of the cluster\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the rule\n"
                },
                "ruleYaml": {
                    "type": "string",
                    "description": "YAML definition of the K8s AutoStopping rule (workload selector, ingress, etc.).\n"
                }
            },
            "requiredInputs": [
                "cloudConnectorId",
                "k8sConnectorId",
                "k8sNamespace",
                "ruleYaml"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering RuleK8s resources.\n",
                "properties": {
                    "cloudConnectorId": {
                        "type": "string",
                        "description": "Id of the cloud connector\n"
                    },
                    "depends": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/harness:autostopping/RuleK8sDepend:RuleK8sDepend"
                        },
                        "description": "Dependent rules\n"
                    },
                    "dryRun": {
                        "type": "boolean",
                        "description": "Boolean that indicates whether the AutoStopping rule should be created in DryRun mode\n"
                    },
                    "identifier": {
                        "type": "string",
                        "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"
                    },
                    "k8sConnectorId": {
                        "type": "string",
                        "description": "Id of the K8s connector\n"
                    },
                    "k8sNamespace": {
                        "type": "string",
                        "description": "Namespace of the cluster\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the rule\n"
                    },
                    "ruleYaml": {
                        "type": "string",
                        "description": "YAML definition of the K8s AutoStopping rule (workload selector, ingress, etc.).\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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 com.pulumi.harness.autostopping.inputs.RuleRdsTcpForwardRuleArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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": "string",
                    "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": "string",
                        "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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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 com.pulumi.harness.autostopping.inputs.RuleScaleGroupHttpRoutingArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleScaleGroupHttpHealthArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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": "string",
                    "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": "string",
                        "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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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      source_protocol = \"https\"\n      target_protocol = \"https\"\n      source_port     = 443\n      target_port     = 443\n      action          = \"forward\"\n    }\n    routings {\n      source_protocol = \"http\"\n      target_protocol = \"http\"\n      source_port     = 80\n      target_port     = 80\n      action          = \"forward\"\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```\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.RuleVmHttpRoutingArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleVmHttpHealthArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleVmTcpArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleVmTcpSshArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleVmTcpRdpArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleVmTcpForwardRuleArgs;\nimport com.pulumi.harness.autostopping.inputs.RuleVmDependArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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"
                },
                "connect": {
                    "type": "object",
                    "additionalProperties": {
                        "type": "integer"
                    },
                    "description": "Connection information (source ports on the proxy). Keys: \"ssh\" and \"rdp\" for SSH/RDP; other keys are target port as string (e.g. \"80\") for forward_rule, value is the proxy source port.\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": "string",
                    "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",
                "connect",
                "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"
                    },
                    "connect": {
                        "type": "object",
                        "additionalProperties": {
                            "type": "integer"
                        },
                        "description": "Connection information (source ports on the proxy). Keys: \"ssh\" and \"rdp\" for SSH/RDP; other keys are target port as string (e.g. \"80\") for forward_rule, value is the proxy source port.\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": "string",
                        "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"
                },
                "priority": {
                    "type": "integer",
                    "description": "Priority when multiple schedules apply to the same AutoStopping rules. 1 is the highest priority; 2 is next, and larger numbers indicate lower priority.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\" starting_from \"\u003e startingFrom \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"
                },
                "priority": {
                    "type": "integer",
                    "description": "Priority when multiple schedules apply to the same AutoStopping rules. 1 is the highest priority; 2 is next, and larger numbers indicate lower priority.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\" starting_from \"\u003e startingFrom \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"
                    },
                    "priority": {
                        "type": "integer",
                        "description": "Priority when multiple schedules apply to the same AutoStopping rules. 1 is the highest priority; 2 is next, and larger numbers indicate lower priority.\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\" starting_from \"\u003e startingFrom \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/actionTemplate:ActionTemplate": {
            "description": "Resource for managing Harness Chaos Action Templates. Action templates define reusable actions that can be used in chaos experiments.\n\n## Supported action types\n\nThe \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`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e attribute accepts the following values, each configured via its matching block:\n\n- \u003cspan pulumi-lang-nodejs=\"`delay`\" pulumi-lang-dotnet=\"`Delay`\" pulumi-lang-go=\"`delay`\" pulumi-lang-python=\"`delay`\" pulumi-lang-yaml=\"`delay`\" pulumi-lang-java=\"`delay`\" pulumi-lang-hcl=\"`delay`\"\u003e`delay`\u003c/span\u003e (\u003cspan pulumi-lang-nodejs=\"`delayAction`\" pulumi-lang-dotnet=\"`DelayAction`\" pulumi-lang-go=\"`delayAction`\" pulumi-lang-python=\"`delay_action`\" pulumi-lang-yaml=\"`delayAction`\" pulumi-lang-java=\"`delayAction`\" pulumi-lang-hcl=\"`delay_action`\"\u003e`delayAction`\u003c/span\u003e) - wait for a configured duration.\n- `customScript` (\u003cspan pulumi-lang-nodejs=\"`customScriptAction`\" pulumi-lang-dotnet=\"`CustomScriptAction`\" pulumi-lang-go=\"`customScriptAction`\" pulumi-lang-python=\"`custom_script_action`\" pulumi-lang-yaml=\"`customScriptAction`\" pulumi-lang-java=\"`customScriptAction`\" pulumi-lang-hcl=\"`custom_script_action`\"\u003e`customScriptAction`\u003c/span\u003e) - run a custom script.\n- \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\" pulumi-lang-hcl=\"`container`\"\u003e`container`\u003c/span\u003e (\u003cspan pulumi-lang-nodejs=\"`containerAction`\" pulumi-lang-dotnet=\"`ContainerAction`\" pulumi-lang-go=\"`containerAction`\" pulumi-lang-python=\"`container_action`\" pulumi-lang-yaml=\"`containerAction`\" pulumi-lang-java=\"`containerAction`\" pulumi-lang-hcl=\"`container_action`\"\u003e`containerAction`\u003c/span\u003e) - run a container.\n\n## Not currently supported\n\n- Action types other than \u003cspan pulumi-lang-nodejs=\"`delay`\" pulumi-lang-dotnet=\"`Delay`\" pulumi-lang-go=\"`delay`\" pulumi-lang-python=\"`delay`\" pulumi-lang-yaml=\"`delay`\" pulumi-lang-java=\"`delay`\" pulumi-lang-hcl=\"`delay`\"\u003e`delay`\u003c/span\u003e, `customScript`, and \u003cspan pulumi-lang-nodejs=\"`container`\" pulumi-lang-dotnet=\"`Container`\" pulumi-lang-go=\"`container`\" pulumi-lang-python=\"`container`\" pulumi-lang-yaml=\"`container`\" pulumi-lang-java=\"`container`\" pulumi-lang-hcl=\"`container`\"\u003e`container`\u003c/span\u003e.\n- Runtime input (`\u003c+input\u003e`) is not supported for container \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\" pulumi-lang-hcl=\"`resources`\"\u003e`resources`\u003c/span\u003e limits/requests due to API validation; use concrete values or template \u003cspan pulumi-lang-nodejs=\"`variables`\" pulumi-lang-dotnet=\"`Variables`\" pulumi-lang-go=\"`variables`\" pulumi-lang-python=\"`variables`\" pulumi-lang-yaml=\"`variables`\" pulumi-lang-java=\"`variables`\" pulumi-lang-hcl=\"`variables`\"\u003e`variables`\u003c/span\u003e.\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// Harness Chaos Action Template Resource Examples\n// ============================================================================\n//\n// Action templates define reusable actions for chaos experiments.\n// These examples are based on TESTED configurations from the e2e-test suite.\n//\n// Key Points:\n// - Actions can be delay, script, or container type\n// - Runtime inputs with defaults: \"\u003c+input\u003e.default('value')\"\n// - Container actions support full Kubernetes pod configuration\n// ============================================================================\n// ----------------------------------------------------------------------------\n// Example 1: Container Action with Runtime Inputs (TESTED ✅)\n// ----------------------------------------------------------------------------\n// Most common pattern: container action with runtime inputs and defaults\nconst containerWithRuntimeInputs = new harness.chaos.ActionTemplate(\"container_with_runtime_inputs\", {\n    orgId: _this.id,\n    projectId: thisHarnessPlatformProject.id,\n    hubIdentity: projectLevel.identity,\n    identity: \"container-action-template\",\n    name: \"Container Action Template\",\n    description: \"Container action with runtime inputs and defaults\",\n    type: \"container\",\n    infrastructureType: \"\u003c+input\u003e.default('Kubernetes')\",\n    tags: [\n        \"container\",\n        \"kubernetes\",\n        \"runtime-inputs\",\n    ],\n    containerAction: {\n        image: \"\u003c+input\u003e.default('busybox:latest')\",\n        commands: [\"\u003c+input\u003e.default('sh')\"],\n        args: \"echo 'Running container action'; sleep 15\",\n        namespace: \"\u003c+input\u003e.default('default')\",\n        nodeSelector: {\n            disktype: \"ssd\",\n            zone: \"us-west-1a\",\n        },\n        labels: {\n            app: \"chaos-action\",\n            environment: \"production\",\n            \"managed-by\": \"terraform\",\n        },\n        annotations: {\n            description: \"Chaos container action\",\n            owner: \"chaos-team\",\n        },\n        envs: [\n            {\n                name: \"TEST_VAR\",\n                value: \"\u003c+input\u003e.default('test_value')\",\n            },\n            {\n                name: \"ANOTHER_VAR\",\n                value: \"\u003c+input\u003e.default('another_value')\",\n            },\n        ],\n        resources: {\n            limits: {\n                cpu: \"500m\",\n                memory: \"512Mi\",\n            },\n            requests: {\n                cpu: \"250m\",\n                memory: \"256Mi\",\n            },\n        },\n    },\n    runProperties: {\n        timeout: \"\u003c+input\u003e.default('60s')\",\n        interval: \"\u003c+input\u003e.default('15s')\",\n    },\n    variables: [\n        {\n            name: \"container_image\",\n            value: \"\u003c+input\u003e\",\n            type: \"string\",\n            required: true,\n            description: \"Container image to use (runtime input)\",\n        },\n        {\n            name: \"namespace\",\n            value: \"\u003c+input\u003e\",\n            type: \"string\",\n            required: false,\n            description: \"Kubernetes namespace (runtime input)\",\n        },\n    ],\n}, {\n    dependsOn: [projectLevel],\n});\n// ----------------------------------------------------------------------------\n// Example 2: Simple Delay Action (TESTED ✅)\n// ----------------------------------------------------------------------------\n// Delay action for adding wait time in experiments\nconst delayAction = new harness.chaos.ActionTemplate(\"delay_action\", {\n    orgId: _this.id,\n    projectId: thisHarnessPlatformProject.id,\n    hubIdentity: projectLevel.identity,\n    identity: \"delay-action-template\",\n    name: \"Delay Action Template\",\n    description: \"Simple delay action for wait time\",\n    type: \"delay\",\n    infrastructureType: \"Kubernetes\",\n    tags: [\n        \"delay\",\n        \"wait\",\n    ],\n    delayAction: {\n        duration: \"\u003c+input\u003e.default('30s')\",\n    },\n    runProperties: {\n        timeout: \"60s\",\n    },\n}, {\n    dependsOn: [projectLevel],\n});\n// ----------------------------------------------------------------------------\n// Example 3: Script Action (TESTED ✅)\n// ----------------------------------------------------------------------------\n// Custom script action for flexible operations\nconst scriptAction = new harness.chaos.ActionTemplate(\"script_action\", {\n    orgId: _this.id,\n    projectId: thisHarnessPlatformProject.id,\n    hubIdentity: projectLevel.identity,\n    identity: \"script-action-template\",\n    name: \"Script Action Template\",\n    description: \"Custom script action for chaos operations\",\n    type: \"script\",\n    infrastructureType: \"\u003c+input\u003e.default('Kubernetes')\",\n    tags: [\n        \"script\",\n        \"custom\",\n    ],\n    customScriptAction: {\n        script: `#!/bin/bash\necho \\\\\"Running custom chaos script\\\\\"\necho \\\\\"Target: \u003c+input\u003e\\\\\"\nsleep 10\necho \\\\\"Script completed\\\\\"\n`,\n        shell: \"bash\",\n        envs: [{\n            name: \"TARGET\",\n            value: \"\u003c+input\u003e.default('default-target')\",\n        }],\n    },\n    runProperties: {\n        timeout: \"\u003c+input\u003e.default('120s')\",\n        interval: \"30s\",\n    },\n    variables: [{\n        name: \"target_resource\",\n        value: \"\u003c+input\u003e\",\n        type: \"string\",\n        required: true,\n        description: \"Target resource for the script\",\n    }],\n}, {\n    dependsOn: [projectLevel],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# ============================================================================\n# Harness Chaos Action Template Resource Examples\n# ============================================================================\n#\n# Action templates define reusable actions for chaos experiments.\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Actions can be delay, script, or container type\n# - Runtime inputs with defaults: \"\u003c+input\u003e.default('value')\"\n# - Container actions support full Kubernetes pod configuration\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: Container Action with Runtime Inputs (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Most common pattern: container action with runtime inputs and defaults\ncontainer_with_runtime_inputs = harness.chaos.ActionTemplate(\"container_with_runtime_inputs\",\n    org_id=this[\"id\"],\n    project_id=this_harness_platform_project[\"id\"],\n    hub_identity=project_level[\"identity\"],\n    identity=\"container-action-template\",\n    name=\"Container Action Template\",\n    description=\"Container action with runtime inputs and defaults\",\n    type=\"container\",\n    infrastructure_type=\"\u003c+input\u003e.default('Kubernetes')\",\n    tags=[\n        \"container\",\n        \"kubernetes\",\n        \"runtime-inputs\",\n    ],\n    container_action={\n        \"image\": \"\u003c+input\u003e.default('busybox:latest')\",\n        \"commands\": [\"\u003c+input\u003e.default('sh')\"],\n        \"args\": \"echo 'Running container action'; sleep 15\",\n        \"namespace\": \"\u003c+input\u003e.default('default')\",\n        \"node_selector\": {\n            \"disktype\": \"ssd\",\n            \"zone\": \"us-west-1a\",\n        },\n        \"labels\": {\n            \"app\": \"chaos-action\",\n            \"environment\": \"production\",\n            \"managed-by\": \"terraform\",\n        },\n        \"annotations\": {\n            \"description\": \"Chaos container action\",\n            \"owner\": \"chaos-team\",\n        },\n        \"envs\": [\n            {\n                \"name\": \"TEST_VAR\",\n                \"value\": \"\u003c+input\u003e.default('test_value')\",\n            },\n            {\n                \"name\": \"ANOTHER_VAR\",\n                \"value\": \"\u003c+input\u003e.default('another_value')\",\n            },\n        ],\n        \"resources\": {\n            \"limits\": {\n                \"cpu\": \"500m\",\n                \"memory\": \"512Mi\",\n            },\n            \"requests\": {\n                \"cpu\": \"250m\",\n                \"memory\": \"256Mi\",\n            },\n        },\n    },\n    run_properties={\n        \"timeout\": \"\u003c+input\u003e.default('60s')\",\n        \"interval\": \"\u003c+input\u003e.default('15s')\",\n    },\n    variables=[\n        {\n            \"name\": \"container_image\",\n            \"value\": \"\u003c+input\u003e\",\n            \"type\": \"string\",\n            \"required\": True,\n            \"description\": \"Container image to use (runtime input)\",\n        },\n        {\n            \"name\": \"namespace\",\n            \"value\": \"\u003c+input\u003e\",\n            \"type\": \"string\",\n            \"required\": False,\n            \"description\": \"Kubernetes namespace (runtime input)\",\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[project_level]))\n# ----------------------------------------------------------------------------\n# Example 2: Simple Delay Action (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Delay action for adding wait time in experiments\ndelay_action = harness.chaos.ActionTemplate(\"delay_action\",\n    org_id=this[\"id\"],\n    project_id=this_harness_platform_project[\"id\"],\n    hub_identity=project_level[\"identity\"],\n    identity=\"delay-action-template\",\n    name=\"Delay Action Template\",\n    description=\"Simple delay action for wait time\",\n    type=\"delay\",\n    infrastructure_type=\"Kubernetes\",\n    tags=[\n        \"delay\",\n        \"wait\",\n    ],\n    delay_action={\n        \"duration\": \"\u003c+input\u003e.default('30s')\",\n    },\n    run_properties={\n        \"timeout\": \"60s\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[project_level]))\n# ----------------------------------------------------------------------------\n# Example 3: Script Action (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Custom script action for flexible operations\nscript_action = harness.chaos.ActionTemplate(\"script_action\",\n    org_id=this[\"id\"],\n    project_id=this_harness_platform_project[\"id\"],\n    hub_identity=project_level[\"identity\"],\n    identity=\"script-action-template\",\n    name=\"Script Action Template\",\n    description=\"Custom script action for chaos operations\",\n    type=\"script\",\n    infrastructure_type=\"\u003c+input\u003e.default('Kubernetes')\",\n    tags=[\n        \"script\",\n        \"custom\",\n    ],\n    custom_script_action={\n        \"script\": \"\"\"#!/bin/bash\necho \\\"Running custom chaos script\\\"\necho \\\"Target: \u003c+input\u003e\\\"\nsleep 10\necho \\\"Script completed\\\"\n\"\"\",\n        \"shell\": \"bash\",\n        \"envs\": [{\n            \"name\": \"TARGET\",\n            \"value\": \"\u003c+input\u003e.default('default-target')\",\n        }],\n    },\n    run_properties={\n        \"timeout\": \"\u003c+input\u003e.default('120s')\",\n        \"interval\": \"30s\",\n    },\n    variables=[{\n        \"name\": \"target_resource\",\n        \"value\": \"\u003c+input\u003e\",\n        \"type\": \"string\",\n        \"required\": True,\n        \"description\": \"Target resource for the script\",\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[project_level]))\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    // Harness Chaos Action Template Resource Examples\n    // ============================================================================\n    //\n    // Action templates define reusable actions for chaos experiments.\n    // These examples are based on TESTED configurations from the e2e-test suite.\n    //\n    // Key Points:\n    // - Actions can be delay, script, or container type\n    // - Runtime inputs with defaults: \"\u003c+input\u003e.default('value')\"\n    // - Container actions support full Kubernetes pod configuration\n    // ============================================================================\n    // ----------------------------------------------------------------------------\n    // Example 1: Container Action with Runtime Inputs (TESTED ✅)\n    // ----------------------------------------------------------------------------\n    // Most common pattern: container action with runtime inputs and defaults\n    var containerWithRuntimeInputs = new Harness.Chaos.ActionTemplate(\"container_with_runtime_inputs\", new()\n    {\n        OrgId = @this.Id,\n        ProjectId = thisHarnessPlatformProject.Id,\n        HubIdentity = projectLevel.Identity,\n        Identity = \"container-action-template\",\n        Name = \"Container Action Template\",\n        Description = \"Container action with runtime inputs and defaults\",\n        Type = \"container\",\n        InfrastructureType = \"\u003c+input\u003e.default('Kubernetes')\",\n        Tags = new[]\n        {\n            \"container\",\n            \"kubernetes\",\n            \"runtime-inputs\",\n        },\n        ContainerAction = new Harness.Chaos.Inputs.ActionTemplateContainerActionArgs\n        {\n            Image = \"\u003c+input\u003e.default('busybox:latest')\",\n            Commands = new[]\n            {\n                \"\u003c+input\u003e.default('sh')\",\n            },\n            Args = \"echo 'Running container action'; sleep 15\",\n            Namespace = \"\u003c+input\u003e.default('default')\",\n            NodeSelector = \n            {\n                { \"disktype\", \"ssd\" },\n                { \"zone\", \"us-west-1a\" },\n            },\n            Labels = \n            {\n                { \"app\", \"chaos-action\" },\n                { \"environment\", \"production\" },\n                { \"managed-by\", \"terraform\" },\n            },\n            Annotations = \n            {\n                { \"description\", \"Chaos container action\" },\n                { \"owner\", \"chaos-team\" },\n            },\n            Envs = new[]\n            {\n                new Harness.Chaos.Inputs.ActionTemplateContainerActionEnvArgs\n                {\n                    Name = \"TEST_VAR\",\n                    Value = \"\u003c+input\u003e.default('test_value')\",\n                },\n                new Harness.Chaos.Inputs.ActionTemplateContainerActionEnvArgs\n                {\n                    Name = \"ANOTHER_VAR\",\n                    Value = \"\u003c+input\u003e.default('another_value')\",\n                },\n            },\n            Resources = new Harness.Chaos.Inputs.ActionTemplateContainerActionResourcesArgs\n            {\n                Limits = \n                {\n                    { \"cpu\", \"500m\" },\n                    { \"memory\", \"512Mi\" },\n                },\n                Requests = \n                {\n                    { \"cpu\", \"250m\" },\n                    { \"memory\", \"256Mi\" },\n                },\n            },\n        },\n        RunProperties = new Harness.Chaos.Inputs.ActionTemplateRunPropertiesArgs\n        {\n            Timeout = \"\u003c+input\u003e.default('60s')\",\n            Interval = \"\u003c+input\u003e.default('15s')\",\n        },\n        Variables = new[]\n        {\n            new Harness.Chaos.Inputs.ActionTemplateVariableArgs\n            {\n                Name = \"container_image\",\n                Value = \"\u003c+input\u003e\",\n                Type = \"string\",\n                Required = true,\n                Description = \"Container image to use (runtime input)\",\n            },\n            new Harness.Chaos.Inputs.ActionTemplateVariableArgs\n            {\n                Name = \"namespace\",\n                Value = \"\u003c+input\u003e\",\n                Type = \"string\",\n                Required = false,\n                Description = \"Kubernetes namespace (runtime input)\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            projectLevel,\n        },\n    });\n\n    // ----------------------------------------------------------------------------\n    // Example 2: Simple Delay Action (TESTED ✅)\n    // ----------------------------------------------------------------------------\n    // Delay action for adding wait time in experiments\n    var delayAction = new Harness.Chaos.ActionTemplate(\"delay_action\", new()\n    {\n        OrgId = @this.Id,\n        ProjectId = thisHarnessPlatformProject.Id,\n        HubIdentity = projectLevel.Identity,\n        Identity = \"delay-action-template\",\n        Name = \"Delay Action Template\",\n        Description = \"Simple delay action for wait time\",\n        Type = \"delay\",\n        InfrastructureType = \"Kubernetes\",\n        Tags = new[]\n        {\n            \"delay\",\n            \"wait\",\n        },\n        DelayAction = new Harness.Chaos.Inputs.ActionTemplateDelayActionArgs\n        {\n            Duration = \"\u003c+input\u003e.default('30s')\",\n        },\n        RunProperties = new Harness.Chaos.Inputs.ActionTemplateRunPropertiesArgs\n        {\n            Timeout = \"60s\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            projectLevel,\n        },\n    });\n\n    // ----------------------------------------------------------------------------\n    // Example 3: Script Action (TESTED ✅)\n    // ----------------------------------------------------------------------------\n    // Custom script action for flexible operations\n    var scriptAction = new Harness.Chaos.ActionTemplate(\"script_action\", new()\n    {\n        OrgId = @this.Id,\n        ProjectId = thisHarnessPlatformProject.Id,\n        HubIdentity = projectLevel.Identity,\n        Identity = \"script-action-template\",\n        Name = \"Script Action Template\",\n        Description = \"Custom script action for chaos operations\",\n        Type = \"script\",\n        InfrastructureType = \"\u003c+input\u003e.default('Kubernetes')\",\n        Tags = new[]\n        {\n            \"script\",\n            \"custom\",\n        },\n        CustomScriptAction = new Harness.Chaos.Inputs.ActionTemplateCustomScriptActionArgs\n        {\n            Script = @\"#!/bin/bash\necho \\\"\"Running custom chaos script\\\"\"\necho \\\"\"Target: \u003c+input\u003e\\\"\"\nsleep 10\necho \\\"\"Script completed\\\"\"\n\",\n            Shell = \"bash\",\n            Envs = new[]\n            {\n                new Harness.Chaos.Inputs.ActionTemplateCustomScriptActionEnvArgs\n                {\n                    Name = \"TARGET\",\n                    Value = \"\u003c+input\u003e.default('default-target')\",\n                },\n            },\n        },\n        RunProperties = new Harness.Chaos.Inputs.ActionTemplateRunPropertiesArgs\n        {\n            Timeout = \"\u003c+input\u003e.default('120s')\",\n            Interval = \"30s\",\n        },\n        Variables = new[]\n        {\n            new Harness.Chaos.Inputs.ActionTemplateVariableArgs\n            {\n                Name = \"target_resource\",\n                Value = \"\u003c+input\u003e\",\n                Type = \"string\",\n                Required = true,\n                Description = \"Target resource for the script\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            projectLevel,\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// ============================================================================\n\t\t// Harness Chaos Action Template Resource Examples\n\t\t// ============================================================================\n\t\t//\n\t\t// Action templates define reusable actions for chaos experiments.\n\t\t// These examples are based on TESTED configurations from the e2e-test suite.\n\t\t//\n\t\t// Key Points:\n\t\t// - Actions can be delay, script, or container type\n\t\t// - Runtime inputs with defaults: \"\u003c+input\u003e.default('value')\"\n\t\t// - Container actions support full Kubernetes pod configuration\n\t\t// ============================================================================\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 1: Container Action with Runtime Inputs (TESTED ✅)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Most common pattern: container action with runtime inputs and defaults\n\t\t_, err := chaos.NewActionTemplate(ctx, \"container_with_runtime_inputs\", \u0026chaos.ActionTemplateArgs{\n\t\t\tOrgId:              pulumi.Any(this.Id),\n\t\t\tProjectId:          pulumi.Any(thisHarnessPlatformProject.Id),\n\t\t\tHubIdentity:        pulumi.Any(projectLevel.Identity),\n\t\t\tIdentity:           pulumi.String(\"container-action-template\"),\n\t\t\tName:               pulumi.String(\"Container Action Template\"),\n\t\t\tDescription:        pulumi.String(\"Container action with runtime inputs and defaults\"),\n\t\t\tType:               pulumi.String(\"container\"),\n\t\t\tInfrastructureType: pulumi.String(\"\u003c+input\u003e.default('Kubernetes')\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"container\"),\n\t\t\t\tpulumi.String(\"kubernetes\"),\n\t\t\t\tpulumi.String(\"runtime-inputs\"),\n\t\t\t},\n\t\t\tContainerAction: \u0026chaos.ActionTemplateContainerActionArgs{\n\t\t\t\tImage: pulumi.String(\"\u003c+input\u003e.default('busybox:latest')\"),\n\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\tpulumi.String(\"\u003c+input\u003e.default('sh')\"),\n\t\t\t\t},\n\t\t\t\tArgs:      pulumi.String(\"echo 'Running container action'; sleep 15\"),\n\t\t\t\tNamespace: pulumi.String(\"\u003c+input\u003e.default('default')\"),\n\t\t\t\tNodeSelector: pulumi.StringMap{\n\t\t\t\t\t\"disktype\": pulumi.String(\"ssd\"),\n\t\t\t\t\t\"zone\":     pulumi.String(\"us-west-1a\"),\n\t\t\t\t},\n\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\"app\":         pulumi.String(\"chaos-action\"),\n\t\t\t\t\t\"environment\": pulumi.String(\"production\"),\n\t\t\t\t\t\"managed-by\":  pulumi.String(\"terraform\"),\n\t\t\t\t},\n\t\t\t\tAnnotations: pulumi.StringMap{\n\t\t\t\t\t\"description\": pulumi.String(\"Chaos container action\"),\n\t\t\t\t\t\"owner\":       pulumi.String(\"chaos-team\"),\n\t\t\t\t},\n\t\t\t\tEnvs: chaos.ActionTemplateContainerActionEnvArray{\n\t\t\t\t\t\u0026chaos.ActionTemplateContainerActionEnvArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"TEST_VAR\"),\n\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('test_value')\"),\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chaos.ActionTemplateContainerActionEnvArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"ANOTHER_VAR\"),\n\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('another_value')\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tResources: \u0026chaos.ActionTemplateContainerActionResourcesArgs{\n\t\t\t\t\tLimits: pulumi.StringMap{\n\t\t\t\t\t\t\"cpu\":    pulumi.String(\"500m\"),\n\t\t\t\t\t\t\"memory\": pulumi.String(\"512Mi\"),\n\t\t\t\t\t},\n\t\t\t\t\tRequests: pulumi.StringMap{\n\t\t\t\t\t\t\"cpu\":    pulumi.String(\"250m\"),\n\t\t\t\t\t\t\"memory\": pulumi.String(\"256Mi\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRunProperties: \u0026chaos.ActionTemplateRunPropertiesArgs{\n\t\t\t\tTimeout:  pulumi.String(\"\u003c+input\u003e.default('60s')\"),\n\t\t\t\tInterval: pulumi.String(\"\u003c+input\u003e.default('15s')\"),\n\t\t\t},\n\t\t\tVariables: chaos.ActionTemplateVariableArray{\n\t\t\t\t\u0026chaos.ActionTemplateVariableArgs{\n\t\t\t\t\tName:        pulumi.String(\"container_image\"),\n\t\t\t\t\tValue:       pulumi.String(\"\u003c+input\u003e\"),\n\t\t\t\t\tType:        pulumi.String(\"string\"),\n\t\t\t\t\tRequired:    pulumi.Bool(true),\n\t\t\t\t\tDescription: pulumi.String(\"Container image to use (runtime input)\"),\n\t\t\t\t},\n\t\t\t\t\u0026chaos.ActionTemplateVariableArgs{\n\t\t\t\t\tName:        pulumi.String(\"namespace\"),\n\t\t\t\t\tValue:       pulumi.String(\"\u003c+input\u003e\"),\n\t\t\t\t\tType:        pulumi.String(\"string\"),\n\t\t\t\t\tRequired:    pulumi.Bool(false),\n\t\t\t\t\tDescription: pulumi.String(\"Kubernetes namespace (runtime input)\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprojectLevel,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 2: Simple Delay Action (TESTED ✅)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Delay action for adding wait time in experiments\n\t\t_, err = chaos.NewActionTemplate(ctx, \"delay_action\", \u0026chaos.ActionTemplateArgs{\n\t\t\tOrgId:              pulumi.Any(this.Id),\n\t\t\tProjectId:          pulumi.Any(thisHarnessPlatformProject.Id),\n\t\t\tHubIdentity:        pulumi.Any(projectLevel.Identity),\n\t\t\tIdentity:           pulumi.String(\"delay-action-template\"),\n\t\t\tName:               pulumi.String(\"Delay Action Template\"),\n\t\t\tDescription:        pulumi.String(\"Simple delay action for wait time\"),\n\t\t\tType:               pulumi.String(\"delay\"),\n\t\t\tInfrastructureType: pulumi.String(\"Kubernetes\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"delay\"),\n\t\t\t\tpulumi.String(\"wait\"),\n\t\t\t},\n\t\t\tDelayAction: \u0026chaos.ActionTemplateDelayActionArgs{\n\t\t\t\tDuration: pulumi.String(\"\u003c+input\u003e.default('30s')\"),\n\t\t\t},\n\t\t\tRunProperties: \u0026chaos.ActionTemplateRunPropertiesArgs{\n\t\t\t\tTimeout: pulumi.String(\"60s\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprojectLevel,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 3: Script Action (TESTED ✅)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Custom script action for flexible operations\n\t\t_, err = chaos.NewActionTemplate(ctx, \"script_action\", \u0026chaos.ActionTemplateArgs{\n\t\t\tOrgId:              pulumi.Any(this.Id),\n\t\t\tProjectId:          pulumi.Any(thisHarnessPlatformProject.Id),\n\t\t\tHubIdentity:        pulumi.Any(projectLevel.Identity),\n\t\t\tIdentity:           pulumi.String(\"script-action-template\"),\n\t\t\tName:               pulumi.String(\"Script Action Template\"),\n\t\t\tDescription:        pulumi.String(\"Custom script action for chaos operations\"),\n\t\t\tType:               pulumi.String(\"script\"),\n\t\t\tInfrastructureType: pulumi.String(\"\u003c+input\u003e.default('Kubernetes')\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"script\"),\n\t\t\t\tpulumi.String(\"custom\"),\n\t\t\t},\n\t\t\tCustomScriptAction: \u0026chaos.ActionTemplateCustomScriptActionArgs{\n\t\t\t\tScript: `#!/bin/bash\necho \\\"Running custom chaos script\\\"\necho \\\"Target: \u003c+input\u003e\\\"\nsleep 10\necho \\\"Script completed\\\"\n`,\n\t\t\t\tShell: \"bash\",\n\t\t\t\tEnvs: chaos.ActionTemplateCustomScriptActionEnvArray{\n\t\t\t\t\t\u0026chaos.ActionTemplateCustomScriptActionEnvArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"TARGET\"),\n\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('default-target')\"),\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t},\n\t\t\tRunProperties: \u0026chaos.ActionTemplateRunPropertiesArgs{\n\t\t\t\tTimeout:  pulumi.String(\"\u003c+input\u003e.default('120s')\"),\n\t\t\t\tInterval: pulumi.String(\"30s\"),\n\t\t\t},\n\t\t\tVariables: chaos.ActionTemplateVariableArray{\n\t\t\t\t\u0026chaos.ActionTemplateVariableArgs{\n\t\t\t\t\tName:        pulumi.String(\"target_resource\"),\n\t\t\t\t\tValue:       pulumi.String(\"\u003c+input\u003e\"),\n\t\t\t\t\tType:        pulumi.String(\"string\"),\n\t\t\t\t\tRequired:    pulumi.Bool(true),\n\t\t\t\t\tDescription: pulumi.String(\"Target resource for the script\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprojectLevel,\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# ============================================================================\n# Harness Chaos Action Template Resource Examples\n# ============================================================================\n#\n# Action templates define reusable actions for chaos experiments.\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Actions can be delay, script, or container type\n# - Runtime inputs with defaults: \"\u003c+input\u003e.default('value')\"\n# - Container actions support full Kubernetes pod configuration\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: Container Action with Runtime Inputs (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Most common pattern: container action with runtime inputs and defaults\nresource \"harness_chaos_actiontemplate\" \"container_with_runtime_inputs\" {\n  depends_on          = [projectLevel]\n  org_id              = this.id\n  project_id          = thisHarnessPlatformProject.id\n  hub_identity        = projectLevel.identity\n  identity            = \"container-action-template\"\n  name                = \"Container Action Template\"\n  description         = \"Container action with runtime inputs and defaults\"\n  type                = \"container\"\n  infrastructure_type = \"\u003c+input\u003e.default('Kubernetes')\"\n  tags                = [\"container\", \"kubernetes\", \"runtime-inputs\"]\n  container_action = {\n    image     = \"\u003c+input\u003e.default('busybox:latest')\"\n    commands  = [\"\u003c+input\u003e.default('sh')\"]\n    args      = \"echo 'Running container action'; sleep 15\"\n    namespace = \"\u003c+input\u003e.default('default')\"\n    node_selector = {\n      \"disktype\" = \"ssd\"\n      \"zone\"     = \"us-west-1a\"\n    }\n    labels = {\n      \"app\"         = \"chaos-action\"\n      \"environment\" = \"production\"\n      \"managed-by\"  = \"terraform\"\n    }\n    annotations = {\n      \"description\" = \"Chaos container action\"\n      \"owner\"       = \"chaos-team\"\n    }\n    envs = [{\n      \"name\"  = \"TEST_VAR\"\n      \"value\" = \"\u003c+input\u003e.default('test_value')\"\n      }, {\n      \"name\"  = \"ANOTHER_VAR\"\n      \"value\" = \"\u003c+input\u003e.default('another_value')\"\n    }]\n    resources = {\n      limits = {\n        \"cpu\"    = \"500m\"\n        \"memory\" = \"512Mi\"\n      }\n      requests = {\n        \"cpu\"    = \"250m\"\n        \"memory\" = \"256Mi\"\n      }\n    }\n  }\n  run_properties = {\n    timeout  = \"\u003c+input\u003e.default('60s')\"\n    interval = \"\u003c+input\u003e.default('15s')\"\n  }\n  variables {\n    name        = \"container_image\"\n    value       = \"\u003c+input\u003e\"\n    type        = \"string\"\n    required    = true\n    description = \"Container image to use (runtime input)\"\n  }\n  variables {\n    name        = \"namespace\"\n    value       = \"\u003c+input\u003e\"\n    type        = \"string\"\n    required    = false\n    description = \"Kubernetes namespace (runtime input)\"\n  }\n}\n# ----------------------------------------------------------------------------\n# Example 2: Simple Delay Action (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Delay action for adding wait time in experiments\nresource \"harness_chaos_actiontemplate\" \"delay_action\" {\n  depends_on          = [projectLevel]\n  org_id              = this.id\n  project_id          = thisHarnessPlatformProject.id\n  hub_identity        = projectLevel.identity\n  identity            = \"delay-action-template\"\n  name                = \"Delay Action Template\"\n  description         = \"Simple delay action for wait time\"\n  type                = \"delay\"\n  infrastructure_type = \"Kubernetes\"\n  tags                = [\"delay\", \"wait\"]\n  delay_action = {\n    duration = \"\u003c+input\u003e.default('30s')\"\n  }\n  run_properties = {\n    timeout = \"60s\"\n  }\n}\n# ----------------------------------------------------------------------------\n# Example 3: Script Action (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Custom script action for flexible operations\nresource \"harness_chaos_actiontemplate\" \"script_action\" {\n  depends_on          = [projectLevel]\n  org_id              = this.id\n  project_id          = thisHarnessPlatformProject.id\n  hub_identity        = projectLevel.identity\n  identity            = \"script-action-template\"\n  name                = \"Script Action Template\"\n  description         = \"Custom script action for chaos operations\"\n  type                = \"script\"\n  infrastructure_type = \"\u003c+input\u003e.default('Kubernetes')\"\n  tags                = [\"script\", \"custom\"]\n  custom_script_action = {\n    script = \"#!/bin/bash\\necho \\\\\\\"Running custom chaos script\\\\\\\"\\necho \\\\\\\"Target: \u003c+input\u003e\\\\\\\"\\nsleep 10\\necho \\\\\\\"Script completed\\\\\\\"\\n\"\n    shell  = \"bash\"\n    envs = [{\n      \"name\"  = \"TARGET\"\n      \"value\" = \"\u003c+input\u003e.default('default-target')\"\n    }]\n  }\n  run_properties = {\n    timeout  = \"\u003c+input\u003e.default('120s')\"\n    interval = \"30s\"\n  }\n  variables {\n    name        = \"target_resource\"\n    value       = \"\u003c+input\u003e\"\n    type        = \"string\"\n    required    = true\n    description = \"Target resource for the script\"\n  }\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.ActionTemplate;\nimport com.pulumi.harness.chaos.ActionTemplateArgs;\nimport com.pulumi.harness.chaos.inputs.ActionTemplateContainerActionArgs;\nimport com.pulumi.harness.chaos.inputs.ActionTemplateContainerActionEnvArgs;\nimport com.pulumi.harness.chaos.inputs.ActionTemplateContainerActionResourcesArgs;\nimport com.pulumi.harness.chaos.inputs.ActionTemplateRunPropertiesArgs;\nimport com.pulumi.harness.chaos.inputs.ActionTemplateVariableArgs;\nimport com.pulumi.harness.chaos.inputs.ActionTemplateDelayActionArgs;\nimport com.pulumi.harness.chaos.inputs.ActionTemplateCustomScriptActionArgs;\nimport com.pulumi.harness.chaos.inputs.ActionTemplateCustomScriptActionEnvArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Harness Chaos Action Template Resource Examples\n        // ============================================================================\n        //\n        // Action templates define reusable actions for chaos experiments.\n        // These examples are based on TESTED configurations from the e2e-test suite.\n        //\n        // Key Points:\n        // - Actions can be delay, script, or container type\n        // - Runtime inputs with defaults: \"\u003c+input\u003e.default('value')\"\n        // - Container actions support full Kubernetes pod configuration\n        // ============================================================================\n        // ----------------------------------------------------------------------------\n        // Example 1: Container Action with Runtime Inputs (TESTED ✅)\n        // ----------------------------------------------------------------------------\n        // Most common pattern: container action with runtime inputs and defaults\n        var containerWithRuntimeInputs = new ActionTemplate(\"containerWithRuntimeInputs\", ActionTemplateArgs.builder()\n            .orgId(this_.id())\n            .projectId(thisHarnessPlatformProject.id())\n            .hubIdentity(projectLevel.identity())\n            .identity(\"container-action-template\")\n            .name(\"Container Action Template\")\n            .description(\"Container action with runtime inputs and defaults\")\n            .type(\"container\")\n            .infrastructureType(\"\u003c+input\u003e.default('Kubernetes')\")\n            .tags(            \n                \"container\",\n                \"kubernetes\",\n                \"runtime-inputs\")\n            .containerAction(ActionTemplateContainerActionArgs.builder()\n                .image(\"\u003c+input\u003e.default('busybox:latest')\")\n                .commands(\"\u003c+input\u003e.default('sh')\")\n                .args(\"echo 'Running container action'; sleep 15\")\n                .namespace(\"\u003c+input\u003e.default('default')\")\n                .nodeSelector(Map.ofEntries(\n                    Map.entry(\"disktype\", \"ssd\"),\n                    Map.entry(\"zone\", \"us-west-1a\")\n                ))\n                .labels(Map.ofEntries(\n                    Map.entry(\"app\", \"chaos-action\"),\n                    Map.entry(\"environment\", \"production\"),\n                    Map.entry(\"managed-by\", \"terraform\")\n                ))\n                .annotations(Map.ofEntries(\n                    Map.entry(\"description\", \"Chaos container action\"),\n                    Map.entry(\"owner\", \"chaos-team\")\n                ))\n                .envs(                \n                    ActionTemplateContainerActionEnvArgs.builder()\n                        .name(\"TEST_VAR\")\n                        .value(\"\u003c+input\u003e.default('test_value')\")\n                        .build(),\n                    ActionTemplateContainerActionEnvArgs.builder()\n                        .name(\"ANOTHER_VAR\")\n                        .value(\"\u003c+input\u003e.default('another_value')\")\n                        .build())\n                .resources(ActionTemplateContainerActionResourcesArgs.builder()\n                    .limits(Map.ofEntries(\n                        Map.entry(\"cpu\", \"500m\"),\n                        Map.entry(\"memory\", \"512Mi\")\n                    ))\n                    .requests(Map.ofEntries(\n                        Map.entry(\"cpu\", \"250m\"),\n                        Map.entry(\"memory\", \"256Mi\")\n                    ))\n                    .build())\n                .build())\n            .runProperties(ActionTemplateRunPropertiesArgs.builder()\n                .timeout(\"\u003c+input\u003e.default('60s')\")\n                .interval(\"\u003c+input\u003e.default('15s')\")\n                .build())\n            .variables(            \n                ActionTemplateVariableArgs.builder()\n                    .name(\"container_image\")\n                    .value(\"\u003c+input\u003e\")\n                    .type(\"string\")\n                    .required(true)\n                    .description(\"Container image to use (runtime input)\")\n                    .build(),\n                ActionTemplateVariableArgs.builder()\n                    .name(\"namespace\")\n                    .value(\"\u003c+input\u003e\")\n                    .type(\"string\")\n                    .required(false)\n                    .description(\"Kubernetes namespace (runtime input)\")\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(projectLevel)\n                .build());\n\n        // ----------------------------------------------------------------------------\n        // Example 2: Simple Delay Action (TESTED ✅)\n        // ----------------------------------------------------------------------------\n        // Delay action for adding wait time in experiments\n        var delayAction = new ActionTemplate(\"delayAction\", ActionTemplateArgs.builder()\n            .orgId(this_.id())\n            .projectId(thisHarnessPlatformProject.id())\n            .hubIdentity(projectLevel.identity())\n            .identity(\"delay-action-template\")\n            .name(\"Delay Action Template\")\n            .description(\"Simple delay action for wait time\")\n            .type(\"delay\")\n            .infrastructureType(\"Kubernetes\")\n            .tags(            \n                \"delay\",\n                \"wait\")\n            .delayAction(ActionTemplateDelayActionArgs.builder()\n                .duration(\"\u003c+input\u003e.default('30s')\")\n                .build())\n            .runProperties(ActionTemplateRunPropertiesArgs.builder()\n                .timeout(\"60s\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(projectLevel)\n                .build());\n\n        // ----------------------------------------------------------------------------\n        // Example 3: Script Action (TESTED ✅)\n        // ----------------------------------------------------------------------------\n        // Custom script action for flexible operations\n        var scriptAction = new ActionTemplate(\"scriptAction\", ActionTemplateArgs.builder()\n            .orgId(this_.id())\n            .projectId(thisHarnessPlatformProject.id())\n            .hubIdentity(projectLevel.identity())\n            .identity(\"script-action-template\")\n            .name(\"Script Action Template\")\n            .description(\"Custom script action for chaos operations\")\n            .type(\"script\")\n            .infrastructureType(\"\u003c+input\u003e.default('Kubernetes')\")\n            .tags(            \n                \"script\",\n                \"custom\")\n            .customScriptAction(ActionTemplateCustomScriptActionArgs.builder()\n                .script(\"\"\"\n#!/bin/bash\necho \\\"Running custom chaos script\\\"\necho \\\"Target: \u003c+input\u003e\\\"\nsleep 10\necho \\\"Script completed\\\"\n                \"\"\")\n                .shell(\"bash\")\n                .envs(ActionTemplateCustomScriptActionEnvArgs.builder()\n                    .name(\"TARGET\")\n                    .value(\"\u003c+input\u003e.default('default-target')\")\n                    .build())\n                .build())\n            .runProperties(ActionTemplateRunPropertiesArgs.builder()\n                .timeout(\"\u003c+input\u003e.default('120s')\")\n                .interval(\"30s\")\n                .build())\n            .variables(ActionTemplateVariableArgs.builder()\n                .name(\"target_resource\")\n                .value(\"\u003c+input\u003e\")\n                .type(\"string\")\n                .required(true)\n                .description(\"Target resource for the script\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(projectLevel)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ============================================================================\n  # Harness Chaos Action Template Resource Examples\n  # ============================================================================\n  #\n  # Action templates define reusable actions for chaos experiments.\n  # These examples are based on TESTED configurations from the e2e-test suite.\n  #\n  # Key Points:\n  # - Actions can be delay, script, or container type\n  # - Runtime inputs with defaults: \"\u003c+input\u003e.default('value')\"\n  # - Container actions support full Kubernetes pod configuration\n  # ============================================================================\n\n  # ----------------------------------------------------------------------------\n  # Example 1: Container Action with Runtime Inputs (TESTED ✅)\n  # ----------------------------------------------------------------------------\n  # Most common pattern: container action with runtime inputs and defaults\n  containerWithRuntimeInputs:\n    type: harness:chaos:ActionTemplate\n    name: container_with_runtime_inputs\n    properties:\n      orgId: ${this.id}\n      projectId: ${thisHarnessPlatformProject.id}\n      hubIdentity: ${projectLevel.identity}\n      identity: container-action-template\n      name: Container Action Template\n      description: Container action with runtime inputs and defaults\n      type: container\n      infrastructureType: \u003c+input\u003e.default('Kubernetes')\n      tags:\n        - container\n        - kubernetes\n        - runtime-inputs\n      containerAction:\n        image: \u003c+input\u003e.default('busybox:latest')\n        commands:\n          - \u003c+input\u003e.default('sh')\n        args: echo 'Running container action'; sleep 15\n        namespace: \u003c+input\u003e.default('default')\n        nodeSelector:\n          disktype: ssd\n          zone: us-west-1a\n        labels:\n          app: chaos-action\n          environment: production\n          managed-by: terraform\n        annotations:\n          description: Chaos container action\n          owner: chaos-team\n        envs:\n          - name: TEST_VAR\n            value: \u003c+input\u003e.default('test_value')\n          - name: ANOTHER_VAR\n            value: \u003c+input\u003e.default('another_value')\n        resources:\n          limits:\n            cpu: 500m\n            memory: 512Mi\n          requests:\n            cpu: 250m\n            memory: 256Mi\n      runProperties:\n        timeout: \u003c+input\u003e.default('60s')\n        interval: \u003c+input\u003e.default('15s')\n      variables:\n        - name: container_image\n          value: \u003c+input\u003e\n          type: string\n          required: true\n          description: Container image to use (runtime input)\n        - name: namespace\n          value: \u003c+input\u003e\n          type: string\n          required: false\n          description: Kubernetes namespace (runtime input)\n    options:\n      dependsOn:\n        - ${projectLevel}\n  # ----------------------------------------------------------------------------\n  # Example 2: Simple Delay Action (TESTED ✅)\n  # ----------------------------------------------------------------------------\n  # Delay action for adding wait time in experiments\n  delayAction:\n    type: harness:chaos:ActionTemplate\n    name: delay_action\n    properties:\n      orgId: ${this.id}\n      projectId: ${thisHarnessPlatformProject.id}\n      hubIdentity: ${projectLevel.identity}\n      identity: delay-action-template\n      name: Delay Action Template\n      description: Simple delay action for wait time\n      type: delay\n      infrastructureType: Kubernetes\n      tags:\n        - delay\n        - wait\n      delayAction:\n        duration: \u003c+input\u003e.default('30s')\n      runProperties:\n        timeout: 60s\n    options:\n      dependsOn:\n        - ${projectLevel}\n  # ----------------------------------------------------------------------------\n  # Example 3: Script Action (TESTED ✅)\n  # ----------------------------------------------------------------------------\n  # Custom script action for flexible operations\n  scriptAction:\n    type: harness:chaos:ActionTemplate\n    name: script_action\n    properties:\n      orgId: ${this.id}\n      projectId: ${thisHarnessPlatformProject.id}\n      hubIdentity: ${projectLevel.identity}\n      identity: script-action-template\n      name: Script Action Template\n      description: Custom script action for chaos operations\n      type: script\n      infrastructureType: \u003c+input\u003e.default('Kubernetes')\n      tags:\n        - script\n        - custom\n      customScriptAction:\n        script: |\n          #!/bin/bash\n          echo \\\"Running custom chaos script\\\"\n          echo \\\"Target: \u003c+input\u003e\\\"\n          sleep 10\n          echo \\\"Script completed\\\"\n        shell: bash\n        envs:\n          - name: TARGET\n            value: \u003c+input\u003e.default('default-target')\n      runProperties:\n        timeout: \u003c+input\u003e.default('120s')\n        interval: 30s\n      variables:\n        - name: target_resource\n          value: \u003c+input\u003e\n          type: string\n          required: true\n          description: Target resource for the script\n    options:\n      dependsOn:\n        - ${projectLevel}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nExample 1: Import Project-level Action Template\nFormat: org_id/project_id/hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/actionTemplate:ActionTemplate example my_org/my_project/my-chaos-hub/delay-action-template\n```\n\nExample 2: Import Org-level Action Template\nFormat: org_id/hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/actionTemplate:ActionTemplate org_example my_org/org-chaos-hub/org-script-action\n```\n\nExample 3: Import Account-level Action Template\nFormat: hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/actionTemplate:ActionTemplate account_example account-chaos-hub/account-delay-action\n```\n\n",
            "properties": {
                "accountId": {
                    "type": "string",
                    "description": "Account identifier.\n"
                },
                "containerAction": {
                    "$ref": "#/types/harness:chaos/ActionTemplateContainerAction:ActionTemplateContainerAction",
                    "description": "Container action configuration. Required when type is 'container'.\n"
                },
                "createdAt": {
                    "type": "integer",
                    "description": "Creation timestamp (Unix epoch).\n"
                },
                "createdBy": {
                    "type": "string",
                    "description": "User who created the action template.\n"
                },
                "customScriptAction": {
                    "$ref": "#/types/harness:chaos/ActionTemplateCustomScriptAction:ActionTemplateCustomScriptAction",
                    "description": "Custom script action configuration. Required when type is 'customScript'.\n"
                },
                "delayAction": {
                    "$ref": "#/types/harness:chaos/ActionTemplateDelayAction:ActionTemplateDelayAction",
                    "description": "Delay action configuration. Required when type is 'delay'.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the action template.\n"
                },
                "hubIdentity": {
                    "type": "string",
                    "description": "Identity of the chaos hub this action template belongs to.\n"
                },
                "idInternal": {
                    "type": "string",
                    "description": "Internal ID of the action template.\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the action template (immutable).\n"
                },
                "infrastructureType": {
                    "type": "string",
                    "description": "Infrastructure type for the action template. Valid values: Kubernetes, KubernetesV2, Windows, Linux, CloudFoundry, Container. Supports runtime inputs like \u003c+input\u003e.\n"
                },
                "isDefault": {
                    "type": "boolean",
                    "description": "Whether this is the default version for predefined actions.\n"
                },
                "isEnterprise": {
                    "type": "boolean",
                    "description": "Whether this is an enterprise action template.\n"
                },
                "isRemoved": {
                    "type": "boolean",
                    "description": "Whether the action template has been removed.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the action template.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Project identifier.\n"
                },
                "revision": {
                    "type": "integer",
                    "description": "Revision number of the action template.\n"
                },
                "runProperties": {
                    "$ref": "#/types/harness:chaos/ActionTemplateRunProperties:ActionTemplateRunProperties",
                    "description": "Run properties for the action template execution.\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags to associate with the action template.\n"
                },
                "template": {
                    "type": "string",
                    "description": "Template content/definition.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Type of the action template. Valid values: delay, customScript, container.\n"
                },
                "updatedAt": {
                    "type": "integer",
                    "description": "Last update timestamp (Unix epoch).\n"
                },
                "updatedBy": {
                    "type": "string",
                    "description": "User who last updated the action template.\n"
                },
                "variables": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ActionTemplateVariable:ActionTemplateVariable"
                    },
                    "description": "Template variables that can be used in the action.\n"
                }
            },
            "required": [
                "accountId",
                "createdAt",
                "createdBy",
                "hubIdentity",
                "idInternal",
                "identity",
                "isDefault",
                "isEnterprise",
                "isRemoved",
                "name",
                "revision",
                "template",
                "type",
                "updatedAt",
                "updatedBy"
            ],
            "inputProperties": {
                "containerAction": {
                    "$ref": "#/types/harness:chaos/ActionTemplateContainerAction:ActionTemplateContainerAction",
                    "description": "Container action configuration. Required when type is 'container'.\n"
                },
                "customScriptAction": {
                    "$ref": "#/types/harness:chaos/ActionTemplateCustomScriptAction:ActionTemplateCustomScriptAction",
                    "description": "Custom script action configuration. Required when type is 'customScript'.\n"
                },
                "delayAction": {
                    "$ref": "#/types/harness:chaos/ActionTemplateDelayAction:ActionTemplateDelayAction",
                    "description": "Delay action configuration. Required when type is 'delay'.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the action template.\n"
                },
                "hubIdentity": {
                    "type": "string",
                    "description": "Identity of the chaos hub this action template belongs to.\n",
                    "willReplaceOnChanges": true
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the action template (immutable).\n",
                    "willReplaceOnChanges": true
                },
                "infrastructureType": {
                    "type": "string",
                    "description": "Infrastructure type for the action template. Valid values: Kubernetes, KubernetesV2, Windows, Linux, CloudFoundry, Container. Supports runtime inputs like \u003c+input\u003e.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the action template.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "runProperties": {
                    "$ref": "#/types/harness:chaos/ActionTemplateRunProperties:ActionTemplateRunProperties",
                    "description": "Run properties for the action template execution.\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags to associate with the action template.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Type of the action template. Valid values: delay, customScript, container.\n"
                },
                "variables": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ActionTemplateVariable:ActionTemplateVariable"
                    },
                    "description": "Template variables that can be used in the action.\n"
                }
            },
            "requiredInputs": [
                "hubIdentity",
                "identity",
                "type"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ActionTemplate resources.\n",
                "properties": {
                    "accountId": {
                        "type": "string",
                        "description": "Account identifier.\n"
                    },
                    "containerAction": {
                        "$ref": "#/types/harness:chaos/ActionTemplateContainerAction:ActionTemplateContainerAction",
                        "description": "Container action configuration. Required when type is 'container'.\n"
                    },
                    "createdAt": {
                        "type": "integer",
                        "description": "Creation timestamp (Unix epoch).\n"
                    },
                    "createdBy": {
                        "type": "string",
                        "description": "User who created the action template.\n"
                    },
                    "customScriptAction": {
                        "$ref": "#/types/harness:chaos/ActionTemplateCustomScriptAction:ActionTemplateCustomScriptAction",
                        "description": "Custom script action configuration. Required when type is 'customScript'.\n"
                    },
                    "delayAction": {
                        "$ref": "#/types/harness:chaos/ActionTemplateDelayAction:ActionTemplateDelayAction",
                        "description": "Delay action configuration. Required when type is 'delay'.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the action template.\n"
                    },
                    "hubIdentity": {
                        "type": "string",
                        "description": "Identity of the chaos hub this action template belongs to.\n",
                        "willReplaceOnChanges": true
                    },
                    "idInternal": {
                        "type": "string",
                        "description": "Internal ID of the action template.\n"
                    },
                    "identity": {
                        "type": "string",
                        "description": "Unique identifier for the action template (immutable).\n",
                        "willReplaceOnChanges": true
                    },
                    "infrastructureType": {
                        "type": "string",
                        "description": "Infrastructure type for the action template. Valid values: Kubernetes, KubernetesV2, Windows, Linux, CloudFoundry, Container. Supports runtime inputs like \u003c+input\u003e.\n"
                    },
                    "isDefault": {
                        "type": "boolean",
                        "description": "Whether this is the default version for predefined actions.\n"
                    },
                    "isEnterprise": {
                        "type": "boolean",
                        "description": "Whether this is an enterprise action template.\n"
                    },
                    "isRemoved": {
                        "type": "boolean",
                        "description": "Whether the action template has been removed.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the action template.\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "revision": {
                        "type": "integer",
                        "description": "Revision number of the action template.\n"
                    },
                    "runProperties": {
                        "$ref": "#/types/harness:chaos/ActionTemplateRunProperties:ActionTemplateRunProperties",
                        "description": "Run properties for the action template execution.\n"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Tags to associate with the action template.\n"
                    },
                    "template": {
                        "type": "string",
                        "description": "Template content/definition.\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "Type of the action template. Valid values: delay, customScript, container.\n"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "description": "Last update timestamp (Unix epoch).\n"
                    },
                    "updatedBy": {
                        "type": "string",
                        "description": "User who last updated the action template.\n"
                    },
                    "variables": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/harness:chaos/ActionTemplateVariable:ActionTemplateVariable"
                        },
                        "description": "Template variables that can be used in the action.\n"
                    }
                },
                "type": "object"
            }
        },
        "harness:chaos/experiment:Experiment": {
            "description": "Resource for creating chaos experiments from experiment templates.\n\n## Not currently supported\n\n- In-place updates: experiments are created from templates and cannot be updated directly. Changing \u003cspan pulumi-lang-nodejs=\"`templateIdentity`\" pulumi-lang-dotnet=\"`TemplateIdentity`\" pulumi-lang-go=\"`templateIdentity`\" pulumi-lang-python=\"`template_identity`\" pulumi-lang-yaml=\"`templateIdentity`\" pulumi-lang-java=\"`templateIdentity`\" pulumi-lang-hcl=\"`template_identity`\"\u003e`templateIdentity`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`hubIdentity`\" pulumi-lang-dotnet=\"`HubIdentity`\" pulumi-lang-go=\"`hubIdentity`\" pulumi-lang-python=\"`hub_identity`\" pulumi-lang-yaml=\"`hubIdentity`\" pulumi-lang-java=\"`hubIdentity`\" pulumi-lang-hcl=\"`hub_identity`\"\u003e`hubIdentity`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`infraRef`\" pulumi-lang-dotnet=\"`InfraRef`\" pulumi-lang-go=\"`infraRef`\" pulumi-lang-python=\"`infra_ref`\" pulumi-lang-yaml=\"`infraRef`\" pulumi-lang-java=\"`infraRef`\" pulumi-lang-hcl=\"`infra_ref`\"\u003e`infraRef`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`revision`\" pulumi-lang-dotnet=\"`Revision`\" pulumi-lang-go=\"`revision`\" pulumi-lang-python=\"`revision`\" pulumi-lang-yaml=\"`revision`\" pulumi-lang-java=\"`revision`\" pulumi-lang-hcl=\"`revision`\"\u003e`revision`\u003c/span\u003e forces recreation, and changing \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`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\" pulumi-lang-hcl=\"`description`\"\u003e`description`\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`\" pulumi-lang-hcl=\"`tags`\"\u003e`tags`\u003c/span\u003e alone is not supported by the API.\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// Harness Chaos Experiment Resource Examples\n// ============================================================================\n//\n// Chaos Experiments are INSTANCES created FROM Experiment Templates.\n// These examples are based on TESTED configurations from the e2e-test suite.\n//\n// Key Points:\n// - Experiments are created by \"launching\" an experiment template\n// - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)\n// - Hub scope can be different from experiment scope (cross-scope support)\n// - import_type: \"REFERENCE\" (default) or \"LOCAL\" (full copy)\n// ============================================================================\n// ----------------------------------------------------------------------------\n// Example 1: Basic Experiment with REFERENCE Import\n// ----------------------------------------------------------------------------\n// Most common pattern: project-level experiment from project-level template\nconst basic = new harness.chaos.Experiment(\"basic\", {\n    orgId: \"my_org\",\n    projectId: \"my_project\",\n    hubOrgId: \"my_org\",\n    hubProjectId: \"my_project\",\n    hubIdentity: \"my-chaos-hub\",\n    templateIdentity: \"my-template\",\n    infraRef: \"my-env/my-infra\",\n    name: \"My Chaos Experiment\",\n    identity: \"my-chaos-experiment\",\n    description: \"Basic chaos experiment with REFERENCE import\",\n    importType: \"REFERENCE\",\n    tags: [\n        \"chaos\",\n        \"kubernetes\",\n        \"resilience\",\n    ],\n}, {\n    dependsOn: [\n        myTemplate,\n        myInfra,\n    ],\n    ignoreChanges: [\"tags\"],\n});\n// ----------------------------------------------------------------------------\n// Example 2: Experiment with LOCAL Import\n// ----------------------------------------------------------------------------\n// LOCAL import creates a full copy - independent of template changes\nconst localCopy = new harness.chaos.Experiment(\"local_copy\", {\n    orgId: \"my_org\",\n    projectId: \"my_project\",\n    hubOrgId: \"my_org\",\n    hubProjectId: \"my_project\",\n    hubIdentity: \"my-chaos-hub\",\n    templateIdentity: \"my-template\",\n    infraRef: \"my-env/my-infra\",\n    name: \"My Independent Experiment\",\n    identity: \"my-independent-experiment\",\n    description: \"Experiment with LOCAL import (independent copy)\",\n    importType: \"LOCAL\",\n    tags: [\n        \"chaos\",\n        \"local\",\n        \"independent\",\n    ],\n}, {\n    dependsOn: [\n        myTemplate,\n        myInfra,\n    ],\n    ignoreChanges: [\"tags\"],\n});\n// ----------------------------------------------------------------------------\n// Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)\n// ----------------------------------------------------------------------------\n// Create project experiment from org-level template (cross-scope)\nconst crossScope = new harness.chaos.Experiment(\"cross_scope\", {\n    orgId: \"my_org\",\n    projectId: \"my_project\",\n    hubOrgId: \"my_org\",\n    hubIdentity: \"my-chaos-hub\",\n    templateIdentity: \"my-template\",\n    infraRef: \"my-env/my-infra\",\n    name: \"Cross-Scope Experiment\",\n    identity: \"cross-scope-experiment\",\n    description: \"Project experiment from org-level template\",\n    importType: \"REFERENCE\",\n    tags: [\n        \"chaos\",\n        \"cross-scope\",\n        \"org-template\",\n    ],\n}, {\n    dependsOn: [\n        orgTemplate,\n        myInfra,\n    ],\n    ignoreChanges: [\"tags\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# ============================================================================\n# Harness Chaos Experiment Resource Examples\n# ============================================================================\n#\n# Chaos Experiments are INSTANCES created FROM Experiment Templates.\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Experiments are created by \"launching\" an experiment template\n# - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)\n# - Hub scope can be different from experiment scope (cross-scope support)\n# - import_type: \"REFERENCE\" (default) or \"LOCAL\" (full copy)\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: Basic Experiment with REFERENCE Import\n# ----------------------------------------------------------------------------\n# Most common pattern: project-level experiment from project-level template\nbasic = harness.chaos.Experiment(\"basic\",\n    org_id=\"my_org\",\n    project_id=\"my_project\",\n    hub_org_id=\"my_org\",\n    hub_project_id=\"my_project\",\n    hub_identity=\"my-chaos-hub\",\n    template_identity=\"my-template\",\n    infra_ref=\"my-env/my-infra\",\n    name=\"My Chaos Experiment\",\n    identity=\"my-chaos-experiment\",\n    description=\"Basic chaos experiment with REFERENCE import\",\n    import_type=\"REFERENCE\",\n    tags=[\n        \"chaos\",\n        \"kubernetes\",\n        \"resilience\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            my_template,\n            my_infra,\n        ],\n        ignore_changes=[\"tags\"]))\n# ----------------------------------------------------------------------------\n# Example 2: Experiment with LOCAL Import\n# ----------------------------------------------------------------------------\n# LOCAL import creates a full copy - independent of template changes\nlocal_copy = harness.chaos.Experiment(\"local_copy\",\n    org_id=\"my_org\",\n    project_id=\"my_project\",\n    hub_org_id=\"my_org\",\n    hub_project_id=\"my_project\",\n    hub_identity=\"my-chaos-hub\",\n    template_identity=\"my-template\",\n    infra_ref=\"my-env/my-infra\",\n    name=\"My Independent Experiment\",\n    identity=\"my-independent-experiment\",\n    description=\"Experiment with LOCAL import (independent copy)\",\n    import_type=\"LOCAL\",\n    tags=[\n        \"chaos\",\n        \"local\",\n        \"independent\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            my_template,\n            my_infra,\n        ],\n        ignore_changes=[\"tags\"]))\n# ----------------------------------------------------------------------------\n# Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)\n# ----------------------------------------------------------------------------\n# Create project experiment from org-level template (cross-scope)\ncross_scope = harness.chaos.Experiment(\"cross_scope\",\n    org_id=\"my_org\",\n    project_id=\"my_project\",\n    hub_org_id=\"my_org\",\n    hub_identity=\"my-chaos-hub\",\n    template_identity=\"my-template\",\n    infra_ref=\"my-env/my-infra\",\n    name=\"Cross-Scope Experiment\",\n    identity=\"cross-scope-experiment\",\n    description=\"Project experiment from org-level template\",\n    import_type=\"REFERENCE\",\n    tags=[\n        \"chaos\",\n        \"cross-scope\",\n        \"org-template\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[\n            org_template,\n            my_infra,\n        ],\n        ignore_changes=[\"tags\"]))\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    // Harness Chaos Experiment Resource Examples\n    // ============================================================================\n    //\n    // Chaos Experiments are INSTANCES created FROM Experiment Templates.\n    // These examples are based on TESTED configurations from the e2e-test suite.\n    //\n    // Key Points:\n    // - Experiments are created by \"launching\" an experiment template\n    // - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)\n    // - Hub scope can be different from experiment scope (cross-scope support)\n    // - import_type: \"REFERENCE\" (default) or \"LOCAL\" (full copy)\n    // ============================================================================\n    // ----------------------------------------------------------------------------\n    // Example 1: Basic Experiment with REFERENCE Import\n    // ----------------------------------------------------------------------------\n    // Most common pattern: project-level experiment from project-level template\n    var basic = new Harness.Chaos.Experiment(\"basic\", new()\n    {\n        OrgId = \"my_org\",\n        ProjectId = \"my_project\",\n        HubOrgId = \"my_org\",\n        HubProjectId = \"my_project\",\n        HubIdentity = \"my-chaos-hub\",\n        TemplateIdentity = \"my-template\",\n        InfraRef = \"my-env/my-infra\",\n        Name = \"My Chaos Experiment\",\n        Identity = \"my-chaos-experiment\",\n        Description = \"Basic chaos experiment with REFERENCE import\",\n        ImportType = \"REFERENCE\",\n        Tags = new[]\n        {\n            \"chaos\",\n            \"kubernetes\",\n            \"resilience\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            myTemplate,\n            myInfra,\n        },\n        IgnoreChanges =\n        {\n            \"tags\",\n        },\n    });\n\n    // ----------------------------------------------------------------------------\n    // Example 2: Experiment with LOCAL Import\n    // ----------------------------------------------------------------------------\n    // LOCAL import creates a full copy - independent of template changes\n    var localCopy = new Harness.Chaos.Experiment(\"local_copy\", new()\n    {\n        OrgId = \"my_org\",\n        ProjectId = \"my_project\",\n        HubOrgId = \"my_org\",\n        HubProjectId = \"my_project\",\n        HubIdentity = \"my-chaos-hub\",\n        TemplateIdentity = \"my-template\",\n        InfraRef = \"my-env/my-infra\",\n        Name = \"My Independent Experiment\",\n        Identity = \"my-independent-experiment\",\n        Description = \"Experiment with LOCAL import (independent copy)\",\n        ImportType = \"LOCAL\",\n        Tags = new[]\n        {\n            \"chaos\",\n            \"local\",\n            \"independent\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            myTemplate,\n            myInfra,\n        },\n        IgnoreChanges =\n        {\n            \"tags\",\n        },\n    });\n\n    // ----------------------------------------------------------------------------\n    // Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)\n    // ----------------------------------------------------------------------------\n    // Create project experiment from org-level template (cross-scope)\n    var crossScope = new Harness.Chaos.Experiment(\"cross_scope\", new()\n    {\n        OrgId = \"my_org\",\n        ProjectId = \"my_project\",\n        HubOrgId = \"my_org\",\n        HubIdentity = \"my-chaos-hub\",\n        TemplateIdentity = \"my-template\",\n        InfraRef = \"my-env/my-infra\",\n        Name = \"Cross-Scope Experiment\",\n        Identity = \"cross-scope-experiment\",\n        Description = \"Project experiment from org-level template\",\n        ImportType = \"REFERENCE\",\n        Tags = new[]\n        {\n            \"chaos\",\n            \"cross-scope\",\n            \"org-template\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            orgTemplate,\n            myInfra,\n        },\n        IgnoreChanges =\n        {\n            \"tags\",\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// ============================================================================\n\t\t// Harness Chaos Experiment Resource Examples\n\t\t// ============================================================================\n\t\t//\n\t\t// Chaos Experiments are INSTANCES created FROM Experiment Templates.\n\t\t// These examples are based on TESTED configurations from the e2e-test suite.\n\t\t//\n\t\t// Key Points:\n\t\t// - Experiments are created by \"launching\" an experiment template\n\t\t// - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)\n\t\t// - Hub scope can be different from experiment scope (cross-scope support)\n\t\t// - import_type: \"REFERENCE\" (default) or \"LOCAL\" (full copy)\n\t\t// ============================================================================\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 1: Basic Experiment with REFERENCE Import\n\t\t// ----------------------------------------------------------------------------\n\t\t// Most common pattern: project-level experiment from project-level template\n\t\t_, err := chaos.NewExperiment(ctx, \"basic\", \u0026chaos.ExperimentArgs{\n\t\t\tOrgId:            pulumi.String(\"my_org\"),\n\t\t\tProjectId:        pulumi.String(\"my_project\"),\n\t\t\tHubOrgId:         pulumi.String(\"my_org\"),\n\t\t\tHubProjectId:     pulumi.String(\"my_project\"),\n\t\t\tHubIdentity:      pulumi.String(\"my-chaos-hub\"),\n\t\t\tTemplateIdentity: pulumi.String(\"my-template\"),\n\t\t\tInfraRef:         pulumi.String(\"my-env/my-infra\"),\n\t\t\tName:             pulumi.String(\"My Chaos Experiment\"),\n\t\t\tIdentity:         pulumi.String(\"my-chaos-experiment\"),\n\t\t\tDescription:      pulumi.String(\"Basic chaos experiment with REFERENCE import\"),\n\t\t\tImportType:       pulumi.String(\"REFERENCE\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"chaos\"),\n\t\t\t\tpulumi.String(\"kubernetes\"),\n\t\t\t\tpulumi.String(\"resilience\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmyTemplate,\n\t\t\tmyInfra,\n\t\t}), pulumi.IgnoreChanges([]string{\n\t\t\t\"tags\",\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 2: Experiment with LOCAL Import\n\t\t// ----------------------------------------------------------------------------\n\t\t// LOCAL import creates a full copy - independent of template changes\n\t\t_, err = chaos.NewExperiment(ctx, \"local_copy\", \u0026chaos.ExperimentArgs{\n\t\t\tOrgId:            pulumi.String(\"my_org\"),\n\t\t\tProjectId:        pulumi.String(\"my_project\"),\n\t\t\tHubOrgId:         pulumi.String(\"my_org\"),\n\t\t\tHubProjectId:     pulumi.String(\"my_project\"),\n\t\t\tHubIdentity:      pulumi.String(\"my-chaos-hub\"),\n\t\t\tTemplateIdentity: pulumi.String(\"my-template\"),\n\t\t\tInfraRef:         pulumi.String(\"my-env/my-infra\"),\n\t\t\tName:             pulumi.String(\"My Independent Experiment\"),\n\t\t\tIdentity:         pulumi.String(\"my-independent-experiment\"),\n\t\t\tDescription:      pulumi.String(\"Experiment with LOCAL import (independent copy)\"),\n\t\t\tImportType:       pulumi.String(\"LOCAL\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"chaos\"),\n\t\t\t\tpulumi.String(\"local\"),\n\t\t\t\tpulumi.String(\"independent\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tmyTemplate,\n\t\t\tmyInfra,\n\t\t}), pulumi.IgnoreChanges([]string{\n\t\t\t\"tags\",\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Create project experiment from org-level template (cross-scope)\n\t\t_, err = chaos.NewExperiment(ctx, \"cross_scope\", \u0026chaos.ExperimentArgs{\n\t\t\tOrgId:            pulumi.String(\"my_org\"),\n\t\t\tProjectId:        pulumi.String(\"my_project\"),\n\t\t\tHubOrgId:         pulumi.String(\"my_org\"),\n\t\t\tHubIdentity:      pulumi.String(\"my-chaos-hub\"),\n\t\t\tTemplateIdentity: pulumi.String(\"my-template\"),\n\t\t\tInfraRef:         pulumi.String(\"my-env/my-infra\"),\n\t\t\tName:             pulumi.String(\"Cross-Scope Experiment\"),\n\t\t\tIdentity:         pulumi.String(\"cross-scope-experiment\"),\n\t\t\tDescription:      pulumi.String(\"Project experiment from org-level template\"),\n\t\t\tImportType:       pulumi.String(\"REFERENCE\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"chaos\"),\n\t\t\t\tpulumi.String(\"cross-scope\"),\n\t\t\t\tpulumi.String(\"org-template\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\torgTemplate,\n\t\t\tmyInfra,\n\t\t}), pulumi.IgnoreChanges([]string{\n\t\t\t\"tags\",\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# ============================================================================\n# Harness Chaos Experiment Resource Examples\n# ============================================================================\n#\n# Chaos Experiments are INSTANCES created FROM Experiment Templates.\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Experiments are created by \"launching\" an experiment template\n# - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)\n# - Hub scope can be different from experiment scope (cross-scope support)\n# - import_type: \"REFERENCE\" (default) or \"LOCAL\" (full copy)\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: Basic Experiment with REFERENCE Import\n# ----------------------------------------------------------------------------\n# Most common pattern: project-level experiment from project-level template\nresource \"harness_chaos_experiment\" \"basic\" {\n  lifecycle {\n    ignore_changes = [tags]\n  }\n  depends_on        = [myTemplate, myInfra]\n  org_id            = \"my_org\"\n  project_id        = \"my_project\"\n  hub_org_id        = \"my_org\"\n  hub_project_id    = \"my_project\"\n  hub_identity      = \"my-chaos-hub\"\n  template_identity = \"my-template\"\n  infra_ref         = \"my-env/my-infra\"\n  name              = \"My Chaos Experiment\"\n  identity          = \"my-chaos-experiment\"\n  description       = \"Basic chaos experiment with REFERENCE import\"\n  import_type       = \"REFERENCE\"\n  tags              = [\"chaos\", \"kubernetes\", \"resilience\"]\n}\n# ----------------------------------------------------------------------------\n# Example 2: Experiment with LOCAL Import\n# ----------------------------------------------------------------------------\n# LOCAL import creates a full copy - independent of template changes\nresource \"harness_chaos_experiment\" \"local_copy\" {\n  lifecycle {\n    ignore_changes = [tags]\n  }\n  depends_on        = [myTemplate, myInfra]\n  org_id            = \"my_org\"\n  project_id        = \"my_project\"\n  hub_org_id        = \"my_org\"\n  hub_project_id    = \"my_project\"\n  hub_identity      = \"my-chaos-hub\"\n  template_identity = \"my-template\"\n  infra_ref         = \"my-env/my-infra\"\n  name              = \"My Independent Experiment\"\n  identity          = \"my-independent-experiment\"\n  description       = \"Experiment with LOCAL import (independent copy)\"\n  import_type       = \"LOCAL\"\n  tags              = [\"chaos\", \"local\", \"independent\"]\n}\n# ----------------------------------------------------------------------------\n# Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)\n# ----------------------------------------------------------------------------\n# Create project experiment from org-level template (cross-scope)\nresource \"harness_chaos_experiment\" \"cross_scope\" {\n  lifecycle {\n    ignore_changes = [tags]\n  }\n  depends_on        = [orgTemplate, myInfra]\n  org_id            = \"my_org\"\n  project_id        = \"my_project\"\n  hub_org_id        = \"my_org\"\n  hub_identity      = \"my-chaos-hub\"\n  template_identity = \"my-template\"\n  infra_ref         = \"my-env/my-infra\"\n  name              = \"Cross-Scope Experiment\"\n  identity          = \"cross-scope-experiment\"\n  description       = \"Project experiment from org-level template\"\n  import_type       = \"REFERENCE\"\n  tags              = [\"chaos\", \"cross-scope\", \"org-template\"]\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.Experiment;\nimport com.pulumi.harness.chaos.ExperimentArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Harness Chaos Experiment Resource Examples\n        // ============================================================================\n        //\n        // Chaos Experiments are INSTANCES created FROM Experiment Templates.\n        // These examples are based on TESTED configurations from the e2e-test suite.\n        //\n        // Key Points:\n        // - Experiments are created by \"launching\" an experiment template\n        // - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)\n        // - Hub scope can be different from experiment scope (cross-scope support)\n        // - import_type: \"REFERENCE\" (default) or \"LOCAL\" (full copy)\n        // ============================================================================\n        // ----------------------------------------------------------------------------\n        // Example 1: Basic Experiment with REFERENCE Import\n        // ----------------------------------------------------------------------------\n        // Most common pattern: project-level experiment from project-level template\n        var basic = new Experiment(\"basic\", ExperimentArgs.builder()\n            .orgId(\"my_org\")\n            .projectId(\"my_project\")\n            .hubOrgId(\"my_org\")\n            .hubProjectId(\"my_project\")\n            .hubIdentity(\"my-chaos-hub\")\n            .templateIdentity(\"my-template\")\n            .infraRef(\"my-env/my-infra\")\n            .name(\"My Chaos Experiment\")\n            .identity(\"my-chaos-experiment\")\n            .description(\"Basic chaos experiment with REFERENCE import\")\n            .importType(\"REFERENCE\")\n            .tags(            \n                \"chaos\",\n                \"kubernetes\",\n                \"resilience\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    myTemplate,\n                    myInfra)\n                .ignoreChanges(\"tags\")\n                .build());\n\n        // ----------------------------------------------------------------------------\n        // Example 2: Experiment with LOCAL Import\n        // ----------------------------------------------------------------------------\n        // LOCAL import creates a full copy - independent of template changes\n        var localCopy = new Experiment(\"localCopy\", ExperimentArgs.builder()\n            .orgId(\"my_org\")\n            .projectId(\"my_project\")\n            .hubOrgId(\"my_org\")\n            .hubProjectId(\"my_project\")\n            .hubIdentity(\"my-chaos-hub\")\n            .templateIdentity(\"my-template\")\n            .infraRef(\"my-env/my-infra\")\n            .name(\"My Independent Experiment\")\n            .identity(\"my-independent-experiment\")\n            .description(\"Experiment with LOCAL import (independent copy)\")\n            .importType(\"LOCAL\")\n            .tags(            \n                \"chaos\",\n                \"local\",\n                \"independent\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    myTemplate,\n                    myInfra)\n                .ignoreChanges(\"tags\")\n                .build());\n\n        // ----------------------------------------------------------------------------\n        // Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)\n        // ----------------------------------------------------------------------------\n        // Create project experiment from org-level template (cross-scope)\n        var crossScope = new Experiment(\"crossScope\", ExperimentArgs.builder()\n            .orgId(\"my_org\")\n            .projectId(\"my_project\")\n            .hubOrgId(\"my_org\")\n            .hubIdentity(\"my-chaos-hub\")\n            .templateIdentity(\"my-template\")\n            .infraRef(\"my-env/my-infra\")\n            .name(\"Cross-Scope Experiment\")\n            .identity(\"cross-scope-experiment\")\n            .description(\"Project experiment from org-level template\")\n            .importType(\"REFERENCE\")\n            .tags(            \n                \"chaos\",\n                \"cross-scope\",\n                \"org-template\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(                \n                    orgTemplate,\n                    myInfra)\n                .ignoreChanges(\"tags\")\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ============================================================================\n  # Harness Chaos Experiment Resource Examples\n  # ============================================================================\n  #\n  # Chaos Experiments are INSTANCES created FROM Experiment Templates.\n  # These examples are based on TESTED configurations from the e2e-test suite.\n  #\n  # Key Points:\n  # - Experiments are created by \"launching\" an experiment template\n  # - Infrastructure binding (infra_ref) is MANDATORY (format: env_id/infra_id)\n  # - Hub scope can be different from experiment scope (cross-scope support)\n  # - import_type: \"REFERENCE\" (default) or \"LOCAL\" (full copy)\n  # ============================================================================\n\n  # ----------------------------------------------------------------------------\n  # Example 1: Basic Experiment with REFERENCE Import\n  # ----------------------------------------------------------------------------\n  # Most common pattern: project-level experiment from project-level template\n  basic:\n    type: harness:chaos:Experiment\n    properties:\n      orgId: my_org\n      projectId: my_project\n      hubOrgId: my_org\n      hubProjectId: my_project\n      hubIdentity: my-chaos-hub\n      templateIdentity: my-template\n      infraRef: my-env/my-infra\n      name: My Chaos Experiment\n      identity: my-chaos-experiment\n      description: Basic chaos experiment with REFERENCE import\n      importType: REFERENCE\n      tags:\n        - chaos\n        - kubernetes\n        - resilience\n    options:\n      dependsOn:\n        - ${myTemplate}\n        - ${myInfra}\n      ignoreChanges:\n        - tags\n  # ----------------------------------------------------------------------------\n  # Example 2: Experiment with LOCAL Import\n  # ----------------------------------------------------------------------------\n  # LOCAL import creates a full copy - independent of template changes\n  localCopy:\n    type: harness:chaos:Experiment\n    name: local_copy\n    properties:\n      orgId: my_org\n      projectId: my_project\n      hubOrgId: my_org\n      hubProjectId: my_project\n      hubIdentity: my-chaos-hub\n      templateIdentity: my-template\n      infraRef: my-env/my-infra\n      name: My Independent Experiment\n      identity: my-independent-experiment\n      description: Experiment with LOCAL import (independent copy)\n      importType: LOCAL\n      tags:\n        - chaos\n        - local\n        - independent\n    options:\n      dependsOn:\n        - ${myTemplate}\n        - ${myInfra}\n      ignoreChanges:\n        - tags\n  # ----------------------------------------------------------------------------\n  # Example 3: Cross-Scope Experiment (Org Hub → Project Experiment)\n  # ----------------------------------------------------------------------------\n  # Create project experiment from org-level template (cross-scope)\n  crossScope:\n    type: harness:chaos:Experiment\n    name: cross_scope\n    properties:\n      orgId: my_org\n      projectId: my_project\n      hubOrgId: my_org\n      hubIdentity: my-chaos-hub\n      templateIdentity: my-template\n      infraRef: my-env/my-infra\n      name: Cross-Scope Experiment\n      identity: cross-scope-experiment\n      description: Project experiment from org-level template\n      importType: REFERENCE\n      tags:\n        - chaos\n        - cross-scope\n        - org-template\n    options:\n      dependsOn:\n        - ${orgTemplate}\n        - ${myInfra}\n      ignoreChanges:\n        - tags\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\n!/bin/bash\n============================================================================\nHarness Chaos Experiment Import Examples\n============================================================================\n\nImport Format: org_id/project_id/experiment_identity\n\n============================================================================\n\n----------------------------------------------------------------------------\nExample 1: Import Project-Level Experiment\n----------------------------------------------------------------------------\n\n```sh\n$ pulumi import harness:chaos/experiment:Experiment basic my_org/my_project/my-chaos-experiment\n```\n\n----------------------------------------------------------------------------\nAfter Import\n----------------------------------------------------------------------------\n1. Run `terraform state show harness_chaos_experiment.example` to see imported values\n2. Run `pulumi preview` to check for configuration drift\n3. Update your .tf file to match the imported state\n\nRequired configuration after import:\n- org_id,\u003cspan pulumi-lang-nodejs=\" projectId\n\" pulumi-lang-dotnet=\" ProjectId\n\" pulumi-lang-go=\" projectId\n\" pulumi-lang-python=\" project_id\n\" pulumi-lang-yaml=\" projectId\n\" pulumi-lang-java=\" projectId\n\" pulumi-lang-hcl=\" project_id\n\"\u003e projectId\n\u003c/span\u003e- hub_org_id, hub_project_id,\u003cspan pulumi-lang-nodejs=\" hubIdentity\n\" pulumi-lang-dotnet=\" HubIdentity\n\" pulumi-lang-go=\" hubIdentity\n\" pulumi-lang-python=\" hub_identity\n\" pulumi-lang-yaml=\" hubIdentity\n\" pulumi-lang-java=\" hubIdentity\n\" pulumi-lang-hcl=\" hub_identity\n\"\u003e hubIdentity\n\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\" templateIdentity\n\" pulumi-lang-dotnet=\" TemplateIdentity\n\" pulumi-lang-go=\" templateIdentity\n\" pulumi-lang-python=\" template_identity\n\" pulumi-lang-yaml=\" templateIdentity\n\" pulumi-lang-java=\" templateIdentity\n\" pulumi-lang-hcl=\" template_identity\n\"\u003e templateIdentity\n\u003c/span\u003e- name,\u003cspan pulumi-lang-nodejs=\" infraRef\n\" pulumi-lang-dotnet=\" InfraRef\n\" pulumi-lang-go=\" infraRef\n\" pulumi-lang-python=\" infra_ref\n\" pulumi-lang-yaml=\" infraRef\n\" pulumi-lang-java=\" infraRef\n\" pulumi-lang-hcl=\" infra_ref\n\"\u003e infraRef\n\u003c/span\u003e-\u003cspan pulumi-lang-nodejs=\" importType \" pulumi-lang-dotnet=\" ImportType \" pulumi-lang-go=\" importType \" pulumi-lang-python=\" import_type \" pulumi-lang-yaml=\" importType \" pulumi-lang-java=\" importType \" pulumi-lang-hcl=\" import_type \"\u003e importType \u003c/span\u003e(default: \"REFERENCE\")\n----------------------------------------------------------------------------\n\n",
            "properties": {
                "createdAt": {
                    "type": "integer",
                    "description": "Creation timestamp (Unix)\n"
                },
                "createdBy": {
                    "type": "string",
                    "description": "Username of the creator\n"
                },
                "cronSyntax": {
                    "type": "string",
                    "description": "Cron expression for scheduled execution\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the chaos experiment\n"
                },
                "experimentId": {
                    "type": "string",
                    "description": "Full experiment ID\n"
                },
                "experimentType": {
                    "type": "string",
                    "description": "Type of the experiment\n"
                },
                "faultIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of fault IDs used in the experiment\n"
                },
                "hubIdentity": {
                    "type": "string",
                    "description": "Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)\n"
                },
                "hubOrgId": {
                    "type": "string",
                    "description": "Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.\n"
                },
                "hubProjectId": {
                    "type": "string",
                    "description": "Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the experiment (auto-generated if not provided)\n"
                },
                "importType": {
                    "type": "string",
                    "description": "Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE\n"
                },
                "infraId": {
                    "type": "string",
                    "description": "Resolved infrastructure ID\n"
                },
                "infraRef": {
                    "type": "string",
                    "description": "Infrastructure reference (ID or identity) to bind the experiment to\n"
                },
                "infraType": {
                    "type": "string",
                    "description": "Infrastructure type (e.g., KubernetesV2)\n"
                },
                "isCronEnabled": {
                    "type": "boolean",
                    "description": "Whether cron scheduling is enabled\n"
                },
                "isCustomExperiment": {
                    "type": "boolean",
                    "description": "Whether this is a custom experiment\n"
                },
                "isSingleRunCronEnabled": {
                    "type": "boolean",
                    "description": "Whether single-run cron is enabled\n"
                },
                "lastExecutedAt": {
                    "type": "integer",
                    "description": "Timestamp of last execution\n"
                },
                "manifest": {
                    "type": "string",
                    "description": "Full experiment manifest YAML (populated for LOCAL imports)\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the chaos experiment\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier where the experiment will be created\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Project identifier where the experiment will be created\n"
                },
                "revision": {
                    "type": "string",
                    "description": "Template revision to use (default: v1)\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.\n"
                },
                "targetNetworkMapId": {
                    "type": "string",
                    "description": "Target network map ID\n"
                },
                "templateDetails": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateDetail:ExperimentTemplateDetail"
                    },
                    "description": "Details about the experiment template used\n"
                },
                "templateIdentity": {
                    "type": "string",
                    "description": "Identity of the experiment template to launch from\n"
                },
                "totalExperimentRuns": {
                    "type": "integer",
                    "description": "Total number of experiment runs\n"
                },
                "updatedAt": {
                    "type": "integer",
                    "description": "Last update timestamp (Unix)\n"
                },
                "updatedBy": {
                    "type": "string",
                    "description": "Username of the last updater\n"
                }
            },
            "required": [
                "createdAt",
                "createdBy",
                "cronSyntax",
                "experimentId",
                "experimentType",
                "faultIds",
                "hubIdentity",
                "identity",
                "infraId",
                "infraRef",
                "infraType",
                "isCronEnabled",
                "isCustomExperiment",
                "isSingleRunCronEnabled",
                "lastExecutedAt",
                "manifest",
                "name",
                "orgId",
                "projectId",
                "targetNetworkMapId",
                "templateDetails",
                "templateIdentity",
                "totalExperimentRuns",
                "updatedAt",
                "updatedBy"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "Description of the chaos experiment\n"
                },
                "hubIdentity": {
                    "type": "string",
                    "description": "Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)\n",
                    "willReplaceOnChanges": true
                },
                "hubOrgId": {
                    "type": "string",
                    "description": "Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.\n",
                    "willReplaceOnChanges": true
                },
                "hubProjectId": {
                    "type": "string",
                    "description": "Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.\n",
                    "willReplaceOnChanges": true
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the experiment (auto-generated if not provided)\n",
                    "willReplaceOnChanges": true
                },
                "importType": {
                    "type": "string",
                    "description": "Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE\n",
                    "willReplaceOnChanges": true
                },
                "infraRef": {
                    "type": "string",
                    "description": "Infrastructure reference (ID or identity) to bind the experiment to\n",
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "Name of the chaos experiment\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier where the experiment will be created\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Project identifier where the experiment will be created\n",
                    "willReplaceOnChanges": true
                },
                "revision": {
                    "type": "string",
                    "description": "Template revision to use (default: v1)\n",
                    "willReplaceOnChanges": true
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.\n"
                },
                "templateIdentity": {
                    "type": "string",
                    "description": "Identity of the experiment template to launch from\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "hubIdentity",
                "infraRef",
                "orgId",
                "projectId",
                "templateIdentity"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Experiment resources.\n",
                "properties": {
                    "createdAt": {
                        "type": "integer",
                        "description": "Creation timestamp (Unix)\n"
                    },
                    "createdBy": {
                        "type": "string",
                        "description": "Username of the creator\n"
                    },
                    "cronSyntax": {
                        "type": "string",
                        "description": "Cron expression for scheduled execution\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the chaos experiment\n"
                    },
                    "experimentId": {
                        "type": "string",
                        "description": "Full experiment ID\n"
                    },
                    "experimentType": {
                        "type": "string",
                        "description": "Type of the experiment\n"
                    },
                    "faultIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of fault IDs used in the experiment\n"
                    },
                    "hubIdentity": {
                        "type": "string",
                        "description": "Identity of the hub where the experiment template resides. Must include scope prefix for account and org levels: 'account.my-hub' for account-level hubs, 'org.my-hub' for org-level hubs, or just 'my-hub' for project-level hubs (no prefix)\n",
                        "willReplaceOnChanges": true
                    },
                    "hubOrgId": {
                        "type": "string",
                        "description": "Organization identifier where the hub/template resides (leave empty for account-level hubs). This is used to locate the template, not where the experiment will be created.\n",
                        "willReplaceOnChanges": true
                    },
                    "hubProjectId": {
                        "type": "string",
                        "description": "Project identifier where the hub/template resides (leave empty for org-level or account-level hubs). This is used to locate the template, not where the experiment will be created.\n",
                        "willReplaceOnChanges": true
                    },
                    "identity": {
                        "type": "string",
                        "description": "Unique identifier for the experiment (auto-generated if not provided)\n",
                        "willReplaceOnChanges": true
                    },
                    "importType": {
                        "type": "string",
                        "description": "Import type: REFERENCE (template reference) or LOCAL (full copy). Default: REFERENCE\n",
                        "willReplaceOnChanges": true
                    },
                    "infraId": {
                        "type": "string",
                        "description": "Resolved infrastructure ID\n"
                    },
                    "infraRef": {
                        "type": "string",
                        "description": "Infrastructure reference (ID or identity) to bind the experiment to\n",
                        "willReplaceOnChanges": true
                    },
                    "infraType": {
                        "type": "string",
                        "description": "Infrastructure type (e.g., KubernetesV2)\n"
                    },
                    "isCronEnabled": {
                        "type": "boolean",
                        "description": "Whether cron scheduling is enabled\n"
                    },
                    "isCustomExperiment": {
                        "type": "boolean",
                        "description": "Whether this is a custom experiment\n"
                    },
                    "isSingleRunCronEnabled": {
                        "type": "boolean",
                        "description": "Whether single-run cron is enabled\n"
                    },
                    "lastExecutedAt": {
                        "type": "integer",
                        "description": "Timestamp of last execution\n"
                    },
                    "manifest": {
                        "type": "string",
                        "description": "Full experiment manifest YAML (populated for LOCAL imports)\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the chaos experiment\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization identifier where the experiment will be created\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Project identifier where the experiment will be created\n",
                        "willReplaceOnChanges": true
                    },
                    "revision": {
                        "type": "string",
                        "description": "Template revision to use (default: v1)\n",
                        "willReplaceOnChanges": true
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Tags to categorize the experiment. Note: Only user-configured tags are tracked in state. The API may add system-generated tags which are automatically filtered to prevent drift.\n"
                    },
                    "targetNetworkMapId": {
                        "type": "string",
                        "description": "Target network map ID\n"
                    },
                    "templateDetails": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/harness:chaos/ExperimentTemplateDetail:ExperimentTemplateDetail"
                        },
                        "description": "Details about the experiment template used\n"
                    },
                    "templateIdentity": {
                        "type": "string",
                        "description": "Identity of the experiment template to launch from\n",
                        "willReplaceOnChanges": true
                    },
                    "totalExperimentRuns": {
                        "type": "integer",
                        "description": "Total number of experiment runs\n"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "description": "Last update timestamp (Unix)\n"
                    },
                    "updatedBy": {
                        "type": "string",
                        "description": "Username of the last updater\n"
                    }
                },
                "type": "object"
            }
        },
        "harness:chaos/experimentTemplate:ExperimentTemplate": {
            "description": "Resource for managing Harness Chaos Experiment Templates. Experiment templates define reusable chaos experiments with actions, faults, and probes.\n\nExecution conditions for faults, probes, and actions are configured via the \u003cspan pulumi-lang-nodejs=\"`conditionsV2`\" pulumi-lang-dotnet=\"`ConditionsV2`\" pulumi-lang-go=\"`conditionsV2`\" pulumi-lang-python=\"`conditions_v2`\" pulumi-lang-yaml=\"`conditionsV2`\" pulumi-lang-java=\"`conditionsV2`\" pulumi-lang-hcl=\"`conditions_v2`\"\u003e`conditionsV2`\u003c/span\u003e block (\u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\" pulumi-lang-hcl=\"`operator`\"\u003e`operator`\u003c/span\u003e = `AND`/`OR`, plus \u003cspan pulumi-lang-nodejs=\"`values`\" pulumi-lang-dotnet=\"`Values`\" pulumi-lang-go=\"`values`\" pulumi-lang-python=\"`values`\" pulumi-lang-yaml=\"`values`\" pulumi-lang-java=\"`values`\" pulumi-lang-hcl=\"`values`\"\u003e`values`\u003c/span\u003e which support the `\u003c+input\u003e` runtime input).\n\n## Deprecated / not supported\n\n- The probe \u003cspan pulumi-lang-nodejs=\"`conditions`\" pulumi-lang-dotnet=\"`Conditions`\" pulumi-lang-go=\"`conditions`\" pulumi-lang-python=\"`conditions`\" pulumi-lang-yaml=\"`conditions`\" pulumi-lang-java=\"`conditions`\" pulumi-lang-hcl=\"`conditions`\"\u003e`conditions`\u003c/span\u003e (\u003cspan pulumi-lang-nodejs=\"`executeUpon`\" pulumi-lang-dotnet=\"`ExecuteUpon`\" pulumi-lang-go=\"`executeUpon`\" pulumi-lang-python=\"`execute_upon`\" pulumi-lang-yaml=\"`executeUpon`\" pulumi-lang-java=\"`executeUpon`\" pulumi-lang-hcl=\"`execute_upon`\"\u003e`executeUpon`\u003c/span\u003e) block is **deprecated and ignored** - it is not part of the current experiment template API. Use \u003cspan pulumi-lang-nodejs=\"`conditionsV2`\" pulumi-lang-dotnet=\"`ConditionsV2`\" pulumi-lang-go=\"`conditionsV2`\" pulumi-lang-python=\"`conditions_v2`\" pulumi-lang-yaml=\"`conditionsV2`\" pulumi-lang-java=\"`conditionsV2`\" pulumi-lang-hcl=\"`conditions_v2`\"\u003e`conditionsV2`\u003c/span\u003e instead.\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// Harness Chaos Experiment Template Resource Examples\n// ============================================================================\n//\n// Experiment templates define complete chaos experiments with actions, faults, and probes.\n// These examples are based on TESTED configurations from the e2e-test suite.\n//\n// Key Points:\n// - Templates combine actions, faults, and probes into workflows\n// - Vertices define execution order (workflow graph)\n// - Runtime inputs supported: \"\u003c+input\u003e\" or \"\u003c+input\u003e.default('value')\"\n// - Enterprise features: is_enterprise = true\n// ============================================================================\n// ----------------------------------------------------------------------------\n// Example 1: Simple Fault Template (TESTED ✅)\n// ----------------------------------------------------------------------------\n// Basic template with single fault\nconst simpleFault = new harness.chaos.ExperimentTemplate(\"simple_fault\", {\n    orgId: _this.id,\n    projectId: thisHarnessPlatformProject.id,\n    hubIdentity: projectLevel.identity,\n    identity: \"simple-pod-delete\",\n    name: \"Simple Pod Delete Experiment\",\n    description: \"Basic experiment with single pod delete fault\",\n    tags: [\n        \"kubernetes\",\n        \"pod-delete\",\n        \"simple\",\n    ],\n    spec: {\n        infraType: \"KubernetesV2\",\n        faults: [{\n            identity: \"pod-delete\",\n            name: \"pod-delete-fault\",\n            revision: \"v1\",\n            isEnterprise: true,\n            authEnabled: false,\n            values: [\n                {\n                    name: \"TARGET_WORKLOAD_KIND\",\n                    value: \"deployment\",\n                },\n                {\n                    name: \"TARGET_WORKLOAD_NAMESPACE\",\n                    value: \"\u003c+input\u003e.default('default')\",\n                },\n                {\n                    name: \"TOTAL_CHAOS_DURATION\",\n                    value: \"\u003c+input\u003e.default('30s')\",\n                },\n            ],\n        }],\n        vertices: [{\n            name: \"pod-delete-vertex\",\n            start: {\n                faults: [{\n                    name: \"pod-delete-fault\",\n                }],\n            },\n            end: {},\n        }],\n        cleanupPolicy: \"delete\",\n    },\n}, {\n    dependsOn: [projectLevel],\n});\n// ----------------------------------------------------------------------------\n// Example 2: Template with Action and Fault (TESTED ✅)\n// ----------------------------------------------------------------------------\n// Template combining action and fault\nconst withAction = new harness.chaos.ExperimentTemplate(\"with_action\", {\n    orgId: _this.id,\n    projectId: thisHarnessPlatformProject.id,\n    hubIdentity: projectLevel.identity,\n    identity: \"action-and-fault\",\n    name: \"Action and Fault Experiment\",\n    description: \"Experiment with action before fault\",\n    tags: [\n        \"kubernetes\",\n        \"action\",\n        \"fault\",\n    ],\n    spec: {\n        infraType: \"KubernetesV2\",\n        actions: [{\n            identity: \"notification-action\",\n            name: \"pre-chaos-notification\",\n            isEnterprise: false,\n            continueOnCompletion: false,\n            values: [{\n                name: \"MESSAGE\",\n                value: \"Starting chaos experiment\",\n            }],\n        }],\n        faults: [{\n            identity: \"container-kill\",\n            name: \"container-kill-fault\",\n            revision: \"v1\",\n            isEnterprise: true,\n            authEnabled: false,\n            values: [\n                {\n                    name: \"TARGET_WORKLOAD_KIND\",\n                    value: \"deployment\",\n                },\n                {\n                    name: \"TARGET_WORKLOAD_NAMESPACE\",\n                    value: \"\u003c+input\u003e\",\n                },\n                {\n                    name: \"TOTAL_CHAOS_DURATION\",\n                    value: \"\u003c+input\u003e.default('30s')\",\n                },\n            ],\n        }],\n        vertices: [\n            {\n                name: \"action-vertex\",\n                start: {\n                    actions: [{\n                        name: \"pre-chaos-notification\",\n                    }],\n                },\n                end: {},\n            },\n            {\n                name: \"fault-vertex\",\n                start: {\n                    faults: [{\n                        name: \"container-kill-fault\",\n                    }],\n                },\n                end: {},\n            },\n        ],\n        cleanupPolicy: \"delete\",\n    },\n}, {\n    dependsOn: [projectLevel],\n});\n// ----------------------------------------------------------------------------\n// Example 3: Complex Template with Probes (TESTED ✅)\n// ----------------------------------------------------------------------------\n// Complete template with actions, faults, and probes\nconst complex = new harness.chaos.ExperimentTemplate(\"complex\", {\n    orgId: _this.id,\n    projectId: thisHarnessPlatformProject.id,\n    hubIdentity: projectLevel.identity,\n    identity: \"complex-experiment\",\n    name: \"Complex Chaos Experiment\",\n    description: \"Complete experiment with actions, faults, and probes\",\n    tags: [\n        \"kubernetes\",\n        \"complex\",\n        \"enterprise\",\n    ],\n    spec: {\n        infraType: \"KubernetesV2\",\n        actions: [{\n            identity: \"notification-action\",\n            name: \"start-notification\",\n            isEnterprise: false,\n            continueOnCompletion: false,\n            values: [{\n                name: \"MESSAGE\",\n                value: \"Chaos experiment started\",\n            }],\n        }],\n        faults: [\n            {\n                identity: \"pod-delete\",\n                name: \"pod-delete-fault\",\n                revision: \"v1\",\n                isEnterprise: true,\n                authEnabled: false,\n                values: [\n                    {\n                        name: \"TARGET_WORKLOAD_KIND\",\n                        value: \"deployment\",\n                    },\n                    {\n                        name: \"TARGET_WORKLOAD_NAMESPACE\",\n                        value: \"\u003c+input\u003e\",\n                    },\n                    {\n                        name: \"TOTAL_CHAOS_DURATION\",\n                        value: \"\u003c+input\u003e.default('30s')\",\n                    },\n                ],\n            },\n            {\n                identity: \"pod-network-latency\",\n                name: \"network-latency-fault\",\n                revision: \"v1\",\n                isEnterprise: true,\n                authEnabled: false,\n                values: [\n                    {\n                        name: \"TARGET_WORKLOAD_KIND\",\n                        value: \"deployment\",\n                    },\n                    {\n                        name: \"TARGET_WORKLOAD_NAMESPACE\",\n                        value: \"\u003c+input\u003e\",\n                    },\n                    {\n                        name: \"NETWORK_LATENCY\",\n                        value: \"\u003c+input\u003e.default('2000')\",\n                    },\n                ],\n            },\n        ],\n        probes: [\n            {\n                identity: \"pod-status-check\",\n                name: \"pod-status-probe\",\n                revision: Number(\"v1\"),\n                isEnterprise: true,\n                duration: \"30\",\n                weightage: 10,\n                enableDataCollection: false,\n                conditionsV2: {\n                    operator: \"AND\",\n                    values: [\"true\"],\n                },\n                values: [{\n                    name: \"TARGET_NAMESPACE\",\n                    value: \"\u003c+input\u003e\",\n                }],\n            },\n            {\n                identity: \"http-health-check\",\n                name: \"http-health-probe\",\n                revision: Number(\"v1\"),\n                isEnterprise: true,\n                duration: \"30\",\n                weightage: 10,\n                enableDataCollection: false,\n                conditionsV2: {\n                    operator: \"OR\",\n                    values: [\n                        \"true\",\n                        \"\u003c+input\u003e\",\n                    ],\n                },\n                values: [{\n                    name: \"URL\",\n                    value: \"\u003c+input\u003e\",\n                }],\n            },\n        ],\n        vertices: [\n            {\n                name: \"action-stage\",\n                start: {\n                    actions: [{\n                        name: \"start-notification\",\n                    }],\n                },\n                end: {},\n            },\n            {\n                name: \"fault-stage\",\n                start: {\n                    faults: [\n                        {\n                            name: \"pod-delete-fault\",\n                        },\n                        {\n                            name: \"network-latency-fault\",\n                        },\n                    ],\n                    probes: [\n                        {\n                            name: \"pod-status-probe\",\n                        },\n                        {\n                            name: \"http-health-probe\",\n                        },\n                    ],\n                },\n                end: {},\n            },\n            {\n                name: \"cleanup-stage\",\n                start: {},\n                end: {},\n            },\n        ],\n        cleanupPolicy: \"delete\",\n        statusCheckTimeouts: {\n            delay: 5,\n            timeout: 300,\n        },\n    },\n}, {\n    dependsOn: [projectLevel],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# ============================================================================\n# Harness Chaos Experiment Template Resource Examples\n# ============================================================================\n#\n# Experiment templates define complete chaos experiments with actions, faults, and probes.\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Templates combine actions, faults, and probes into workflows\n# - Vertices define execution order (workflow graph)\n# - Runtime inputs supported: \"\u003c+input\u003e\" or \"\u003c+input\u003e.default('value')\"\n# - Enterprise features: is_enterprise = true\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: Simple Fault Template (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Basic template with single fault\nsimple_fault = harness.chaos.ExperimentTemplate(\"simple_fault\",\n    org_id=this[\"id\"],\n    project_id=this_harness_platform_project[\"id\"],\n    hub_identity=project_level[\"identity\"],\n    identity=\"simple-pod-delete\",\n    name=\"Simple Pod Delete Experiment\",\n    description=\"Basic experiment with single pod delete fault\",\n    tags=[\n        \"kubernetes\",\n        \"pod-delete\",\n        \"simple\",\n    ],\n    spec={\n        \"infra_type\": \"KubernetesV2\",\n        \"faults\": [{\n            \"identity\": \"pod-delete\",\n            \"name\": \"pod-delete-fault\",\n            \"revision\": \"v1\",\n            \"is_enterprise\": True,\n            \"auth_enabled\": False,\n            \"values\": [\n                {\n                    \"name\": \"TARGET_WORKLOAD_KIND\",\n                    \"value\": \"deployment\",\n                },\n                {\n                    \"name\": \"TARGET_WORKLOAD_NAMESPACE\",\n                    \"value\": \"\u003c+input\u003e.default('default')\",\n                },\n                {\n                    \"name\": \"TOTAL_CHAOS_DURATION\",\n                    \"value\": \"\u003c+input\u003e.default('30s')\",\n                },\n            ],\n        }],\n        \"vertices\": [{\n            \"name\": \"pod-delete-vertex\",\n            \"start\": {\n                \"faults\": [{\n                    \"name\": \"pod-delete-fault\",\n                }],\n            },\n            \"end\": {},\n        }],\n        \"cleanup_policy\": \"delete\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[project_level]))\n# ----------------------------------------------------------------------------\n# Example 2: Template with Action and Fault (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Template combining action and fault\nwith_action = harness.chaos.ExperimentTemplate(\"with_action\",\n    org_id=this[\"id\"],\n    project_id=this_harness_platform_project[\"id\"],\n    hub_identity=project_level[\"identity\"],\n    identity=\"action-and-fault\",\n    name=\"Action and Fault Experiment\",\n    description=\"Experiment with action before fault\",\n    tags=[\n        \"kubernetes\",\n        \"action\",\n        \"fault\",\n    ],\n    spec={\n        \"infra_type\": \"KubernetesV2\",\n        \"actions\": [{\n            \"identity\": \"notification-action\",\n            \"name\": \"pre-chaos-notification\",\n            \"is_enterprise\": False,\n            \"continue_on_completion\": False,\n            \"values\": [{\n                \"name\": \"MESSAGE\",\n                \"value\": \"Starting chaos experiment\",\n            }],\n        }],\n        \"faults\": [{\n            \"identity\": \"container-kill\",\n            \"name\": \"container-kill-fault\",\n            \"revision\": \"v1\",\n            \"is_enterprise\": True,\n            \"auth_enabled\": False,\n            \"values\": [\n                {\n                    \"name\": \"TARGET_WORKLOAD_KIND\",\n                    \"value\": \"deployment\",\n                },\n                {\n                    \"name\": \"TARGET_WORKLOAD_NAMESPACE\",\n                    \"value\": \"\u003c+input\u003e\",\n                },\n                {\n                    \"name\": \"TOTAL_CHAOS_DURATION\",\n                    \"value\": \"\u003c+input\u003e.default('30s')\",\n                },\n            ],\n        }],\n        \"vertices\": [\n            {\n                \"name\": \"action-vertex\",\n                \"start\": {\n                    \"actions\": [{\n                        \"name\": \"pre-chaos-notification\",\n                    }],\n                },\n                \"end\": {},\n            },\n            {\n                \"name\": \"fault-vertex\",\n                \"start\": {\n                    \"faults\": [{\n                        \"name\": \"container-kill-fault\",\n                    }],\n                },\n                \"end\": {},\n            },\n        ],\n        \"cleanup_policy\": \"delete\",\n    },\n    opts = pulumi.ResourceOptions(depends_on=[project_level]))\n# ----------------------------------------------------------------------------\n# Example 3: Complex Template with Probes (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Complete template with actions, faults, and probes\ncomplex = harness.chaos.ExperimentTemplate(\"complex\",\n    org_id=this[\"id\"],\n    project_id=this_harness_platform_project[\"id\"],\n    hub_identity=project_level[\"identity\"],\n    identity=\"complex-experiment\",\n    name=\"Complex Chaos Experiment\",\n    description=\"Complete experiment with actions, faults, and probes\",\n    tags=[\n        \"kubernetes\",\n        \"complex\",\n        \"enterprise\",\n    ],\n    spec={\n        \"infra_type\": \"KubernetesV2\",\n        \"actions\": [{\n            \"identity\": \"notification-action\",\n            \"name\": \"start-notification\",\n            \"is_enterprise\": False,\n            \"continue_on_completion\": False,\n            \"values\": [{\n                \"name\": \"MESSAGE\",\n                \"value\": \"Chaos experiment started\",\n            }],\n        }],\n        \"faults\": [\n            {\n                \"identity\": \"pod-delete\",\n                \"name\": \"pod-delete-fault\",\n                \"revision\": \"v1\",\n                \"is_enterprise\": True,\n                \"auth_enabled\": False,\n                \"values\": [\n                    {\n                        \"name\": \"TARGET_WORKLOAD_KIND\",\n                        \"value\": \"deployment\",\n                    },\n                    {\n                        \"name\": \"TARGET_WORKLOAD_NAMESPACE\",\n                        \"value\": \"\u003c+input\u003e\",\n                    },\n                    {\n                        \"name\": \"TOTAL_CHAOS_DURATION\",\n                        \"value\": \"\u003c+input\u003e.default('30s')\",\n                    },\n                ],\n            },\n            {\n                \"identity\": \"pod-network-latency\",\n                \"name\": \"network-latency-fault\",\n                \"revision\": \"v1\",\n                \"is_enterprise\": True,\n                \"auth_enabled\": False,\n                \"values\": [\n                    {\n                        \"name\": \"TARGET_WORKLOAD_KIND\",\n                        \"value\": \"deployment\",\n                    },\n                    {\n                        \"name\": \"TARGET_WORKLOAD_NAMESPACE\",\n                        \"value\": \"\u003c+input\u003e\",\n                    },\n                    {\n                        \"name\": \"NETWORK_LATENCY\",\n                        \"value\": \"\u003c+input\u003e.default('2000')\",\n                    },\n                ],\n            },\n        ],\n        \"probes\": [\n            {\n                \"identity\": \"pod-status-check\",\n                \"name\": \"pod-status-probe\",\n                \"revision\": int(\"v1\"),\n                \"is_enterprise\": True,\n                \"duration\": \"30\",\n                \"weightage\": 10,\n                \"enable_data_collection\": False,\n                \"conditions_v2\": {\n                    \"operator\": \"AND\",\n                    \"values\": [\"true\"],\n                },\n                \"values\": [{\n                    \"name\": \"TARGET_NAMESPACE\",\n                    \"value\": \"\u003c+input\u003e\",\n                }],\n            },\n            {\n                \"identity\": \"http-health-check\",\n                \"name\": \"http-health-probe\",\n                \"revision\": int(\"v1\"),\n                \"is_enterprise\": True,\n                \"duration\": \"30\",\n                \"weightage\": 10,\n                \"enable_data_collection\": False,\n                \"conditions_v2\": {\n                    \"operator\": \"OR\",\n                    \"values\": [\n                        \"true\",\n                        \"\u003c+input\u003e\",\n                    ],\n                },\n                \"values\": [{\n                    \"name\": \"URL\",\n                    \"value\": \"\u003c+input\u003e\",\n                }],\n            },\n        ],\n        \"vertices\": [\n            {\n                \"name\": \"action-stage\",\n                \"start\": {\n                    \"actions\": [{\n                        \"name\": \"start-notification\",\n                    }],\n                },\n                \"end\": {},\n            },\n            {\n                \"name\": \"fault-stage\",\n                \"start\": {\n                    \"faults\": [\n                        {\n                            \"name\": \"pod-delete-fault\",\n                        },\n                        {\n                            \"name\": \"network-latency-fault\",\n                        },\n                    ],\n                    \"probes\": [\n                        {\n                            \"name\": \"pod-status-probe\",\n                        },\n                        {\n                            \"name\": \"http-health-probe\",\n                        },\n                    ],\n                },\n                \"end\": {},\n            },\n            {\n                \"name\": \"cleanup-stage\",\n                \"start\": {},\n                \"end\": {},\n            },\n        ],\n        \"cleanup_policy\": \"delete\",\n        \"status_check_timeouts\": {\n            \"delay\": 5,\n            \"timeout\": 300,\n        },\n    },\n    opts = pulumi.ResourceOptions(depends_on=[project_level]))\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    // Harness Chaos Experiment Template Resource Examples\n    // ============================================================================\n    //\n    // Experiment templates define complete chaos experiments with actions, faults, and probes.\n    // These examples are based on TESTED configurations from the e2e-test suite.\n    //\n    // Key Points:\n    // - Templates combine actions, faults, and probes into workflows\n    // - Vertices define execution order (workflow graph)\n    // - Runtime inputs supported: \"\u003c+input\u003e\" or \"\u003c+input\u003e.default('value')\"\n    // - Enterprise features: is_enterprise = true\n    // ============================================================================\n    // ----------------------------------------------------------------------------\n    // Example 1: Simple Fault Template (TESTED ✅)\n    // ----------------------------------------------------------------------------\n    // Basic template with single fault\n    var simpleFault = new Harness.Chaos.ExperimentTemplate(\"simple_fault\", new()\n    {\n        OrgId = @this.Id,\n        ProjectId = thisHarnessPlatformProject.Id,\n        HubIdentity = projectLevel.Identity,\n        Identity = \"simple-pod-delete\",\n        Name = \"Simple Pod Delete Experiment\",\n        Description = \"Basic experiment with single pod delete fault\",\n        Tags = new[]\n        {\n            \"kubernetes\",\n            \"pod-delete\",\n            \"simple\",\n        },\n        Spec = new Harness.Chaos.Inputs.ExperimentTemplateSpecArgs\n        {\n            InfraType = \"KubernetesV2\",\n            Faults = new[]\n            {\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultArgs\n                {\n                    Identity = \"pod-delete\",\n                    Name = \"pod-delete-fault\",\n                    Revision = \"v1\",\n                    IsEnterprise = true,\n                    AuthEnabled = false,\n                    Values = new[]\n                    {\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TARGET_WORKLOAD_KIND\",\n                            Value = \"deployment\",\n                        },\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TARGET_WORKLOAD_NAMESPACE\",\n                            Value = \"\u003c+input\u003e.default('default')\",\n                        },\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TOTAL_CHAOS_DURATION\",\n                            Value = \"\u003c+input\u003e.default('30s')\",\n                        },\n                    },\n                },\n            },\n            Vertices = new[]\n            {\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexArgs\n                {\n                    Name = \"pod-delete-vertex\",\n                    Start = new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartArgs\n                    {\n                        Faults = new[]\n                        {\n                            new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartFaultArgs\n                            {\n                                Name = \"pod-delete-fault\",\n                            },\n                        },\n                    },\n                    End = null,\n                },\n            },\n            CleanupPolicy = \"delete\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            projectLevel,\n        },\n    });\n\n    // ----------------------------------------------------------------------------\n    // Example 2: Template with Action and Fault (TESTED ✅)\n    // ----------------------------------------------------------------------------\n    // Template combining action and fault\n    var withAction = new Harness.Chaos.ExperimentTemplate(\"with_action\", new()\n    {\n        OrgId = @this.Id,\n        ProjectId = thisHarnessPlatformProject.Id,\n        HubIdentity = projectLevel.Identity,\n        Identity = \"action-and-fault\",\n        Name = \"Action and Fault Experiment\",\n        Description = \"Experiment with action before fault\",\n        Tags = new[]\n        {\n            \"kubernetes\",\n            \"action\",\n            \"fault\",\n        },\n        Spec = new Harness.Chaos.Inputs.ExperimentTemplateSpecArgs\n        {\n            InfraType = \"KubernetesV2\",\n            Actions = new[]\n            {\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecActionArgs\n                {\n                    Identity = \"notification-action\",\n                    Name = \"pre-chaos-notification\",\n                    IsEnterprise = false,\n                    ContinueOnCompletion = false,\n                    Values = new[]\n                    {\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecActionValueArgs\n                        {\n                            Name = \"MESSAGE\",\n                            Value = \"Starting chaos experiment\",\n                        },\n                    },\n                },\n            },\n            Faults = new[]\n            {\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultArgs\n                {\n                    Identity = \"container-kill\",\n                    Name = \"container-kill-fault\",\n                    Revision = \"v1\",\n                    IsEnterprise = true,\n                    AuthEnabled = false,\n                    Values = new[]\n                    {\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TARGET_WORKLOAD_KIND\",\n                            Value = \"deployment\",\n                        },\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TARGET_WORKLOAD_NAMESPACE\",\n                            Value = \"\u003c+input\u003e\",\n                        },\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TOTAL_CHAOS_DURATION\",\n                            Value = \"\u003c+input\u003e.default('30s')\",\n                        },\n                    },\n                },\n            },\n            Vertices = new[]\n            {\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexArgs\n                {\n                    Name = \"action-vertex\",\n                    Start = new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartArgs\n                    {\n                        Actions = new[]\n                        {\n                            new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartActionArgs\n                            {\n                                Name = \"pre-chaos-notification\",\n                            },\n                        },\n                    },\n                    End = null,\n                },\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexArgs\n                {\n                    Name = \"fault-vertex\",\n                    Start = new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartArgs\n                    {\n                        Faults = new[]\n                        {\n                            new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartFaultArgs\n                            {\n                                Name = \"container-kill-fault\",\n                            },\n                        },\n                    },\n                    End = null,\n                },\n            },\n            CleanupPolicy = \"delete\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            projectLevel,\n        },\n    });\n\n    // ----------------------------------------------------------------------------\n    // Example 3: Complex Template with Probes (TESTED ✅)\n    // ----------------------------------------------------------------------------\n    // Complete template with actions, faults, and probes\n    var complex = new Harness.Chaos.ExperimentTemplate(\"complex\", new()\n    {\n        OrgId = @this.Id,\n        ProjectId = thisHarnessPlatformProject.Id,\n        HubIdentity = projectLevel.Identity,\n        Identity = \"complex-experiment\",\n        Name = \"Complex Chaos Experiment\",\n        Description = \"Complete experiment with actions, faults, and probes\",\n        Tags = new[]\n        {\n            \"kubernetes\",\n            \"complex\",\n            \"enterprise\",\n        },\n        Spec = new Harness.Chaos.Inputs.ExperimentTemplateSpecArgs\n        {\n            InfraType = \"KubernetesV2\",\n            Actions = new[]\n            {\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecActionArgs\n                {\n                    Identity = \"notification-action\",\n                    Name = \"start-notification\",\n                    IsEnterprise = false,\n                    ContinueOnCompletion = false,\n                    Values = new[]\n                    {\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecActionValueArgs\n                        {\n                            Name = \"MESSAGE\",\n                            Value = \"Chaos experiment started\",\n                        },\n                    },\n                },\n            },\n            Faults = new[]\n            {\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultArgs\n                {\n                    Identity = \"pod-delete\",\n                    Name = \"pod-delete-fault\",\n                    Revision = \"v1\",\n                    IsEnterprise = true,\n                    AuthEnabled = false,\n                    Values = new[]\n                    {\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TARGET_WORKLOAD_KIND\",\n                            Value = \"deployment\",\n                        },\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TARGET_WORKLOAD_NAMESPACE\",\n                            Value = \"\u003c+input\u003e\",\n                        },\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TOTAL_CHAOS_DURATION\",\n                            Value = \"\u003c+input\u003e.default('30s')\",\n                        },\n                    },\n                },\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultArgs\n                {\n                    Identity = \"pod-network-latency\",\n                    Name = \"network-latency-fault\",\n                    Revision = \"v1\",\n                    IsEnterprise = true,\n                    AuthEnabled = false,\n                    Values = new[]\n                    {\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TARGET_WORKLOAD_KIND\",\n                            Value = \"deployment\",\n                        },\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"TARGET_WORKLOAD_NAMESPACE\",\n                            Value = \"\u003c+input\u003e\",\n                        },\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecFaultValueArgs\n                        {\n                            Name = \"NETWORK_LATENCY\",\n                            Value = \"\u003c+input\u003e.default('2000')\",\n                        },\n                    },\n                },\n            },\n            Probes = new[]\n            {\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecProbeArgs\n                {\n                    Identity = \"pod-status-check\",\n                    Name = \"pod-status-probe\",\n                    Revision = \"v1\",\n                    IsEnterprise = true,\n                    Duration = \"30\",\n                    Weightage = 10,\n                    EnableDataCollection = false,\n                    ConditionsV2 = new Harness.Chaos.Inputs.ExperimentTemplateSpecProbeConditionsV2Args\n                    {\n                        Operator = \"AND\",\n                        Values = new[]\n                        {\n                            \"true\",\n                        },\n                    },\n                    Values = new[]\n                    {\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecProbeValueArgs\n                        {\n                            Name = \"TARGET_NAMESPACE\",\n                            Value = \"\u003c+input\u003e\",\n                        },\n                    },\n                },\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecProbeArgs\n                {\n                    Identity = \"http-health-check\",\n                    Name = \"http-health-probe\",\n                    Revision = \"v1\",\n                    IsEnterprise = true,\n                    Duration = \"30\",\n                    Weightage = 10,\n                    EnableDataCollection = false,\n                    ConditionsV2 = new Harness.Chaos.Inputs.ExperimentTemplateSpecProbeConditionsV2Args\n                    {\n                        Operator = \"OR\",\n                        Values = new[]\n                        {\n                            \"true\",\n                            \"\u003c+input\u003e\",\n                        },\n                    },\n                    Values = new[]\n                    {\n                        new Harness.Chaos.Inputs.ExperimentTemplateSpecProbeValueArgs\n                        {\n                            Name = \"URL\",\n                            Value = \"\u003c+input\u003e\",\n                        },\n                    },\n                },\n            },\n            Vertices = new[]\n            {\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexArgs\n                {\n                    Name = \"action-stage\",\n                    Start = new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartArgs\n                    {\n                        Actions = new[]\n                        {\n                            new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartActionArgs\n                            {\n                                Name = \"start-notification\",\n                            },\n                        },\n                    },\n                    End = null,\n                },\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexArgs\n                {\n                    Name = \"fault-stage\",\n                    Start = new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartArgs\n                    {\n                        Faults = new[]\n                        {\n                            new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartFaultArgs\n                            {\n                                Name = \"pod-delete-fault\",\n                            },\n                            new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartFaultArgs\n                            {\n                                Name = \"network-latency-fault\",\n                            },\n                        },\n                        Probes = new[]\n                        {\n                            new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartProbeArgs\n                            {\n                                Name = \"pod-status-probe\",\n                            },\n                            new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexStartProbeArgs\n                            {\n                                Name = \"http-health-probe\",\n                            },\n                        },\n                    },\n                    End = null,\n                },\n                new Harness.Chaos.Inputs.ExperimentTemplateSpecVertexArgs\n                {\n                    Name = \"cleanup-stage\",\n                    Start = null,\n                    End = null,\n                },\n            },\n            CleanupPolicy = \"delete\",\n            StatusCheckTimeouts = new Harness.Chaos.Inputs.ExperimentTemplateSpecStatusCheckTimeoutsArgs\n            {\n                Delay = 5,\n                Timeout = 300,\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            projectLevel,\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// ============================================================================\n\t\t// Harness Chaos Experiment Template Resource Examples\n\t\t// ============================================================================\n\t\t//\n\t\t// Experiment templates define complete chaos experiments with actions, faults, and probes.\n\t\t// These examples are based on TESTED configurations from the e2e-test suite.\n\t\t//\n\t\t// Key Points:\n\t\t// - Templates combine actions, faults, and probes into workflows\n\t\t// - Vertices define execution order (workflow graph)\n\t\t// - Runtime inputs supported: \"\u003c+input\u003e\" or \"\u003c+input\u003e.default('value')\"\n\t\t// - Enterprise features: is_enterprise = true\n\t\t// ============================================================================\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 1: Simple Fault Template (TESTED ✅)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Basic template with single fault\n\t\t_, err := chaos.NewExperimentTemplate(ctx, \"simple_fault\", \u0026chaos.ExperimentTemplateArgs{\n\t\t\tOrgId:       pulumi.Any(this.Id),\n\t\t\tProjectId:   pulumi.Any(thisHarnessPlatformProject.Id),\n\t\t\tHubIdentity: pulumi.Any(projectLevel.Identity),\n\t\t\tIdentity:    pulumi.String(\"simple-pod-delete\"),\n\t\t\tName:        pulumi.String(\"Simple Pod Delete Experiment\"),\n\t\t\tDescription: pulumi.String(\"Basic experiment with single pod delete fault\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"kubernetes\"),\n\t\t\t\tpulumi.String(\"pod-delete\"),\n\t\t\t\tpulumi.String(\"simple\"),\n\t\t\t},\n\t\t\tSpec: \u0026chaos.ExperimentTemplateSpecArgs{\n\t\t\t\tInfraType: pulumi.String(\"KubernetesV2\"),\n\t\t\t\tFaults: chaos.ExperimentTemplateSpecFaultArray{\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultArgs{\n\t\t\t\t\t\tIdentity:     pulumi.String(\"pod-delete\"),\n\t\t\t\t\t\tName:         pulumi.String(\"pod-delete-fault\"),\n\t\t\t\t\t\tRevision:     pulumi.String(\"v1\"),\n\t\t\t\t\t\tIsEnterprise: pulumi.Bool(true),\n\t\t\t\t\t\tAuthEnabled:  pulumi.Bool(false),\n\t\t\t\t\t\tValues: chaos.ExperimentTemplateSpecFaultValueArray{\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_WORKLOAD_KIND\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"deployment\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_WORKLOAD_NAMESPACE\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('default')\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TOTAL_CHAOS_DURATION\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('30s')\"),\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\tVertices: chaos.ExperimentTemplateSpecVertexArray{\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexArgs{\n\t\t\t\t\t\tName: pulumi.String(\"pod-delete-vertex\"),\n\t\t\t\t\t\tStart: \u0026chaos.ExperimentTemplateSpecVertexStartArgs{\n\t\t\t\t\t\t\tFaults: chaos.ExperimentTemplateSpecVertexStartFaultArray{\n\t\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexStartFaultArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"pod-delete-fault\"),\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\tEnd: \u0026chaos.ExperimentTemplateSpecVertexEndArgs{},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCleanupPolicy: pulumi.String(\"delete\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprojectLevel,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 2: Template with Action and Fault (TESTED ✅)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Template combining action and fault\n\t\t_, err = chaos.NewExperimentTemplate(ctx, \"with_action\", \u0026chaos.ExperimentTemplateArgs{\n\t\t\tOrgId:       pulumi.Any(this.Id),\n\t\t\tProjectId:   pulumi.Any(thisHarnessPlatformProject.Id),\n\t\t\tHubIdentity: pulumi.Any(projectLevel.Identity),\n\t\t\tIdentity:    pulumi.String(\"action-and-fault\"),\n\t\t\tName:        pulumi.String(\"Action and Fault Experiment\"),\n\t\t\tDescription: pulumi.String(\"Experiment with action before fault\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"kubernetes\"),\n\t\t\t\tpulumi.String(\"action\"),\n\t\t\t\tpulumi.String(\"fault\"),\n\t\t\t},\n\t\t\tSpec: \u0026chaos.ExperimentTemplateSpecArgs{\n\t\t\t\tInfraType: pulumi.String(\"KubernetesV2\"),\n\t\t\t\tActions: chaos.ExperimentTemplateSpecActionArray{\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecActionArgs{\n\t\t\t\t\t\tIdentity:             pulumi.String(\"notification-action\"),\n\t\t\t\t\t\tName:                 pulumi.String(\"pre-chaos-notification\"),\n\t\t\t\t\t\tIsEnterprise:         pulumi.Bool(false),\n\t\t\t\t\t\tContinueOnCompletion: pulumi.Bool(false),\n\t\t\t\t\t\tValues: chaos.ExperimentTemplateSpecActionValueArray{\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecActionValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"MESSAGE\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"Starting chaos experiment\"),\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\tFaults: chaos.ExperimentTemplateSpecFaultArray{\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultArgs{\n\t\t\t\t\t\tIdentity:     pulumi.String(\"container-kill\"),\n\t\t\t\t\t\tName:         pulumi.String(\"container-kill-fault\"),\n\t\t\t\t\t\tRevision:     pulumi.String(\"v1\"),\n\t\t\t\t\t\tIsEnterprise: pulumi.Bool(true),\n\t\t\t\t\t\tAuthEnabled:  pulumi.Bool(false),\n\t\t\t\t\t\tValues: chaos.ExperimentTemplateSpecFaultValueArray{\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_WORKLOAD_KIND\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"deployment\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_WORKLOAD_NAMESPACE\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TOTAL_CHAOS_DURATION\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('30s')\"),\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\tVertices: chaos.ExperimentTemplateSpecVertexArray{\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexArgs{\n\t\t\t\t\t\tName: pulumi.String(\"action-vertex\"),\n\t\t\t\t\t\tStart: \u0026chaos.ExperimentTemplateSpecVertexStartArgs{\n\t\t\t\t\t\t\tActions: chaos.ExperimentTemplateSpecVertexStartActionArray{\n\t\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexStartActionArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"pre-chaos-notification\"),\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\tEnd: \u0026chaos.ExperimentTemplateSpecVertexEndArgs{},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexArgs{\n\t\t\t\t\t\tName: pulumi.String(\"fault-vertex\"),\n\t\t\t\t\t\tStart: \u0026chaos.ExperimentTemplateSpecVertexStartArgs{\n\t\t\t\t\t\t\tFaults: chaos.ExperimentTemplateSpecVertexStartFaultArray{\n\t\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexStartFaultArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"container-kill-fault\"),\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\tEnd: \u0026chaos.ExperimentTemplateSpecVertexEndArgs{},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCleanupPolicy: pulumi.String(\"delete\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprojectLevel,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 3: Complex Template with Probes (TESTED ✅)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Complete template with actions, faults, and probes\n\t\t_, err = chaos.NewExperimentTemplate(ctx, \"complex\", \u0026chaos.ExperimentTemplateArgs{\n\t\t\tOrgId:       pulumi.Any(this.Id),\n\t\t\tProjectId:   pulumi.Any(thisHarnessPlatformProject.Id),\n\t\t\tHubIdentity: pulumi.Any(projectLevel.Identity),\n\t\t\tIdentity:    pulumi.String(\"complex-experiment\"),\n\t\t\tName:        pulumi.String(\"Complex Chaos Experiment\"),\n\t\t\tDescription: pulumi.String(\"Complete experiment with actions, faults, and probes\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"kubernetes\"),\n\t\t\t\tpulumi.String(\"complex\"),\n\t\t\t\tpulumi.String(\"enterprise\"),\n\t\t\t},\n\t\t\tSpec: \u0026chaos.ExperimentTemplateSpecArgs{\n\t\t\t\tInfraType: pulumi.String(\"KubernetesV2\"),\n\t\t\t\tActions: chaos.ExperimentTemplateSpecActionArray{\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecActionArgs{\n\t\t\t\t\t\tIdentity:             pulumi.String(\"notification-action\"),\n\t\t\t\t\t\tName:                 pulumi.String(\"start-notification\"),\n\t\t\t\t\t\tIsEnterprise:         pulumi.Bool(false),\n\t\t\t\t\t\tContinueOnCompletion: pulumi.Bool(false),\n\t\t\t\t\t\tValues: chaos.ExperimentTemplateSpecActionValueArray{\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecActionValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"MESSAGE\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"Chaos experiment started\"),\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\tFaults: chaos.ExperimentTemplateSpecFaultArray{\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultArgs{\n\t\t\t\t\t\tIdentity:     pulumi.String(\"pod-delete\"),\n\t\t\t\t\t\tName:         pulumi.String(\"pod-delete-fault\"),\n\t\t\t\t\t\tRevision:     pulumi.String(\"v1\"),\n\t\t\t\t\t\tIsEnterprise: pulumi.Bool(true),\n\t\t\t\t\t\tAuthEnabled:  pulumi.Bool(false),\n\t\t\t\t\t\tValues: chaos.ExperimentTemplateSpecFaultValueArray{\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_WORKLOAD_KIND\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"deployment\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_WORKLOAD_NAMESPACE\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TOTAL_CHAOS_DURATION\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('30s')\"),\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\t\u0026chaos.ExperimentTemplateSpecFaultArgs{\n\t\t\t\t\t\tIdentity:     pulumi.String(\"pod-network-latency\"),\n\t\t\t\t\t\tName:         pulumi.String(\"network-latency-fault\"),\n\t\t\t\t\t\tRevision:     pulumi.String(\"v1\"),\n\t\t\t\t\t\tIsEnterprise: pulumi.Bool(true),\n\t\t\t\t\t\tAuthEnabled:  pulumi.Bool(false),\n\t\t\t\t\t\tValues: chaos.ExperimentTemplateSpecFaultValueArray{\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_WORKLOAD_KIND\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"deployment\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_WORKLOAD_NAMESPACE\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecFaultValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"NETWORK_LATENCY\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('2000')\"),\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\tProbes: chaos.ExperimentTemplateSpecProbeArray{\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecProbeArgs{\n\t\t\t\t\t\tIdentity:             pulumi.String(\"pod-status-check\"),\n\t\t\t\t\t\tName:                 pulumi.String(\"pod-status-probe\"),\n\t\t\t\t\t\tRevision:             pulumi.Int(\"v1\"),\n\t\t\t\t\t\tIsEnterprise:         pulumi.Bool(true),\n\t\t\t\t\t\tDuration:             pulumi.String(\"30\"),\n\t\t\t\t\t\tWeightage:            pulumi.Int(10),\n\t\t\t\t\t\tEnableDataCollection: pulumi.Bool(false),\n\t\t\t\t\t\tConditionsV2: \u0026chaos.ExperimentTemplateSpecProbeConditionsV2Args{\n\t\t\t\t\t\t\tOperator: pulumi.String(\"AND\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"true\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tValues: chaos.ExperimentTemplateSpecProbeValueArray{\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecProbeValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_NAMESPACE\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e\"),\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\t\u0026chaos.ExperimentTemplateSpecProbeArgs{\n\t\t\t\t\t\tIdentity:             pulumi.String(\"http-health-check\"),\n\t\t\t\t\t\tName:                 pulumi.String(\"http-health-probe\"),\n\t\t\t\t\t\tRevision:             pulumi.Int(\"v1\"),\n\t\t\t\t\t\tIsEnterprise:         pulumi.Bool(true),\n\t\t\t\t\t\tDuration:             pulumi.String(\"30\"),\n\t\t\t\t\t\tWeightage:            pulumi.Int(10),\n\t\t\t\t\t\tEnableDataCollection: pulumi.Bool(false),\n\t\t\t\t\t\tConditionsV2: \u0026chaos.ExperimentTemplateSpecProbeConditionsV2Args{\n\t\t\t\t\t\t\tOperator: pulumi.String(\"OR\"),\n\t\t\t\t\t\t\tValues: pulumi.StringArray{\n\t\t\t\t\t\t\t\tpulumi.String(\"true\"),\n\t\t\t\t\t\t\t\tpulumi.String(\"\u003c+input\u003e\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tValues: chaos.ExperimentTemplateSpecProbeValueArray{\n\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecProbeValueArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"URL\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e\"),\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\tVertices: chaos.ExperimentTemplateSpecVertexArray{\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexArgs{\n\t\t\t\t\t\tName: pulumi.String(\"action-stage\"),\n\t\t\t\t\t\tStart: \u0026chaos.ExperimentTemplateSpecVertexStartArgs{\n\t\t\t\t\t\t\tActions: chaos.ExperimentTemplateSpecVertexStartActionArray{\n\t\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexStartActionArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"start-notification\"),\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\tEnd: \u0026chaos.ExperimentTemplateSpecVertexEndArgs{},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexArgs{\n\t\t\t\t\t\tName: pulumi.String(\"fault-stage\"),\n\t\t\t\t\t\tStart: \u0026chaos.ExperimentTemplateSpecVertexStartArgs{\n\t\t\t\t\t\t\tFaults: chaos.ExperimentTemplateSpecVertexStartFaultArray{\n\t\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexStartFaultArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"pod-delete-fault\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexStartFaultArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"network-latency-fault\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tProbes: chaos.ExperimentTemplateSpecVertexStartProbeArray{\n\t\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexStartProbeArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"pod-status-probe\"),\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexStartProbeArgs{\n\t\t\t\t\t\t\t\t\tName: pulumi.String(\"http-health-probe\"),\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\tEnd: \u0026chaos.ExperimentTemplateSpecVertexEndArgs{},\n\t\t\t\t\t},\n\t\t\t\t\t\u0026chaos.ExperimentTemplateSpecVertexArgs{\n\t\t\t\t\t\tName:  pulumi.String(\"cleanup-stage\"),\n\t\t\t\t\t\tStart: \u0026chaos.ExperimentTemplateSpecVertexStartArgs{},\n\t\t\t\t\t\tEnd:   \u0026chaos.ExperimentTemplateSpecVertexEndArgs{},\n\t\t\t\t\t},\n\t\t\t\t},\n\t\t\t\tCleanupPolicy: pulumi.String(\"delete\"),\n\t\t\t\tStatusCheckTimeouts: \u0026chaos.ExperimentTemplateSpecStatusCheckTimeoutsArgs{\n\t\t\t\t\tDelay:   pulumi.Int(5),\n\t\t\t\t\tTimeout: pulumi.Int(300),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprojectLevel,\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# ============================================================================\n# Harness Chaos Experiment Template Resource Examples\n# ============================================================================\n#\n# Experiment templates define complete chaos experiments with actions, faults, and probes.\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Templates combine actions, faults, and probes into workflows\n# - Vertices define execution order (workflow graph)\n# - Runtime inputs supported: \"\u003c+input\u003e\" or \"\u003c+input\u003e.default('value')\"\n# - Enterprise features: is_enterprise = true\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: Simple Fault Template (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Basic template with single fault\nresource \"harness_chaos_experimenttemplate\" \"simple_fault\" {\n  depends_on   = [projectLevel]\n  org_id       = this.id\n  project_id   = thisHarnessPlatformProject.id\n  hub_identity = projectLevel.identity\n  identity     = \"simple-pod-delete\"\n  name         = \"Simple Pod Delete Experiment\"\n  description  = \"Basic experiment with single pod delete fault\"\n  tags         = [\"kubernetes\", \"pod-delete\", \"simple\"]\n  spec = {\n    infra_type = \"KubernetesV2\"\n    faults = [{\n      \"identity\"     = \"pod-delete\"\n      \"name\"         = \"pod-delete-fault\"\n      \"revision\"     = \"v1\"\n      \"isEnterprise\" = true\n      \"authEnabled\"  = false\n      \"values\" = [{\n        \"name\"  = \"TARGET_WORKLOAD_KIND\"\n        \"value\" = \"deployment\"\n        }, {\n        \"name\"  = \"TARGET_WORKLOAD_NAMESPACE\"\n        \"value\" = \"\u003c+input\u003e.default('default')\"\n        }, {\n        \"name\"  = \"TOTAL_CHAOS_DURATION\"\n        \"value\" = \"\u003c+input\u003e.default('30s')\"\n      }]\n    }]\n    vertices = [{\n      \"name\" = \"pod-delete-vertex\"\n      \"start\" = {\n        \"faults\" = [{\n          \"name\" = \"pod-delete-fault\"\n        }]\n      }\n      \"end\" = {}\n    }]\n    cleanup_policy = \"delete\"\n  }\n}\n# ----------------------------------------------------------------------------\n# Example 2: Template with Action and Fault (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Template combining action and fault\nresource \"harness_chaos_experimenttemplate\" \"with_action\" {\n  depends_on   = [projectLevel]\n  org_id       = this.id\n  project_id   = thisHarnessPlatformProject.id\n  hub_identity = projectLevel.identity\n  identity     = \"action-and-fault\"\n  name         = \"Action and Fault Experiment\"\n  description  = \"Experiment with action before fault\"\n  tags         = [\"kubernetes\", \"action\", \"fault\"]\n  spec = {\n    infra_type = \"KubernetesV2\"\n    actions = [{\n      \"identity\"             = \"notification-action\"\n      \"name\"                 = \"pre-chaos-notification\"\n      \"isEnterprise\"         = false\n      \"continueOnCompletion\" = false\n      \"values\" = [{\n        \"name\"  = \"MESSAGE\"\n        \"value\" = \"Starting chaos experiment\"\n      }]\n    }]\n    faults = [{\n      \"identity\"     = \"container-kill\"\n      \"name\"         = \"container-kill-fault\"\n      \"revision\"     = \"v1\"\n      \"isEnterprise\" = true\n      \"authEnabled\"  = false\n      \"values\" = [{\n        \"name\"  = \"TARGET_WORKLOAD_KIND\"\n        \"value\" = \"deployment\"\n        }, {\n        \"name\"  = \"TARGET_WORKLOAD_NAMESPACE\"\n        \"value\" = \"\u003c+input\u003e\"\n        }, {\n        \"name\"  = \"TOTAL_CHAOS_DURATION\"\n        \"value\" = \"\u003c+input\u003e.default('30s')\"\n      }]\n    }]\n    vertices = [{\n      \"name\" = \"action-vertex\"\n      \"start\" = {\n        \"actions\" = [{\n          \"name\" = \"pre-chaos-notification\"\n        }]\n      }\n      \"end\" = {}\n      }, {\n      \"name\" = \"fault-vertex\"\n      \"start\" = {\n        \"faults\" = [{\n          \"name\" = \"container-kill-fault\"\n        }]\n      }\n      \"end\" = {}\n    }]\n    cleanup_policy = \"delete\"\n  }\n}\n# ----------------------------------------------------------------------------\n# Example 3: Complex Template with Probes (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Complete template with actions, faults, and probes\nresource \"harness_chaos_experimenttemplate\" \"complex\" {\n  depends_on   = [projectLevel]\n  org_id       = this.id\n  project_id   = thisHarnessPlatformProject.id\n  hub_identity = projectLevel.identity\n  identity     = \"complex-experiment\"\n  name         = \"Complex Chaos Experiment\"\n  description  = \"Complete experiment with actions, faults, and probes\"\n  tags         = [\"kubernetes\", \"complex\", \"enterprise\"]\n  spec = {\n    infra_type = \"KubernetesV2\"\n    actions = [{\n      \"identity\"             = \"notification-action\"\n      \"name\"                 = \"start-notification\"\n      \"isEnterprise\"         = false\n      \"continueOnCompletion\" = false\n      \"values\" = [{\n        \"name\"  = \"MESSAGE\"\n        \"value\" = \"Chaos experiment started\"\n      }]\n    }]\n    faults = [{\n      \"identity\"     = \"pod-delete\"\n      \"name\"         = \"pod-delete-fault\"\n      \"revision\"     = \"v1\"\n      \"isEnterprise\" = true\n      \"authEnabled\"  = false\n      \"values\" = [{\n        \"name\"  = \"TARGET_WORKLOAD_KIND\"\n        \"value\" = \"deployment\"\n        }, {\n        \"name\"  = \"TARGET_WORKLOAD_NAMESPACE\"\n        \"value\" = \"\u003c+input\u003e\"\n        }, {\n        \"name\"  = \"TOTAL_CHAOS_DURATION\"\n        \"value\" = \"\u003c+input\u003e.default('30s')\"\n      }]\n      }, {\n      \"identity\"     = \"pod-network-latency\"\n      \"name\"         = \"network-latency-fault\"\n      \"revision\"     = \"v1\"\n      \"isEnterprise\" = true\n      \"authEnabled\"  = false\n      \"values\" = [{\n        \"name\"  = \"TARGET_WORKLOAD_KIND\"\n        \"value\" = \"deployment\"\n        }, {\n        \"name\"  = \"TARGET_WORKLOAD_NAMESPACE\"\n        \"value\" = \"\u003c+input\u003e\"\n        }, {\n        \"name\"  = \"NETWORK_LATENCY\"\n        \"value\" = \"\u003c+input\u003e.default('2000')\"\n      }]\n    }]\n    probes = [{\n      \"identity\"             = \"pod-status-check\"\n      \"name\"                 = \"pod-status-probe\"\n      \"revision\"             = \"v1\"\n      \"isEnterprise\"         = true\n      \"duration\"             = 30\n      \"weightage\"            = 10\n      \"enableDataCollection\" = false\n      \"conditionsV2\" = {\n        \"operator\" = \"AND\"\n        \"values\"   = [\"true\"]\n      }\n      \"values\" = [{\n        \"name\"  = \"TARGET_NAMESPACE\"\n        \"value\" = \"\u003c+input\u003e\"\n      }]\n      }, {\n      \"identity\"             = \"http-health-check\"\n      \"name\"                 = \"http-health-probe\"\n      \"revision\"             = \"v1\"\n      \"isEnterprise\"         = true\n      \"duration\"             = 30\n      \"weightage\"            = 10\n      \"enableDataCollection\" = false\n      \"conditionsV2\" = {\n        \"operator\" = \"OR\"\n        \"values\"   = [\"true\", \"\u003c+input\u003e\"]\n      }\n      \"values\" = [{\n        \"name\"  = \"URL\"\n        \"value\" = \"\u003c+input\u003e\"\n      }]\n    }]\n    vertices = [{\n      \"name\" = \"action-stage\"\n      \"start\" = {\n        \"actions\" = [{\n          \"name\" = \"start-notification\"\n        }]\n      }\n      \"end\" = {}\n      }, {\n      \"name\" = \"fault-stage\"\n      \"start\" = {\n        \"faults\" = [{\n          \"name\" = \"pod-delete-fault\"\n          }, {\n          \"name\" = \"network-latency-fault\"\n        }]\n        \"probes\" = [{\n          \"name\" = \"pod-status-probe\"\n          }, {\n          \"name\" = \"http-health-probe\"\n        }]\n      }\n      \"end\" = {}\n      }, {\n      \"name\"  = \"cleanup-stage\"\n      \"start\" = {}\n      \"end\"   = {}\n    }]\n    cleanup_policy = \"delete\"\n    status_check_timeouts = {\n      delay   = 5\n      timeout = 300\n    }\n  }\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.ExperimentTemplate;\nimport com.pulumi.harness.chaos.ExperimentTemplateArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecFaultArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecFaultValueArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecVertexArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecVertexStartArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecVertexStartFaultArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecVertexEndArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecActionArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecActionValueArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecVertexStartActionArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecProbeArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecProbeConditionsV2Args;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecProbeValueArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecVertexStartProbeArgs;\nimport com.pulumi.harness.chaos.inputs.ExperimentTemplateSpecStatusCheckTimeoutsArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Harness Chaos Experiment Template Resource Examples\n        // ============================================================================\n        //\n        // Experiment templates define complete chaos experiments with actions, faults, and probes.\n        // These examples are based on TESTED configurations from the e2e-test suite.\n        //\n        // Key Points:\n        // - Templates combine actions, faults, and probes into workflows\n        // - Vertices define execution order (workflow graph)\n        // - Runtime inputs supported: \"\u003c+input\u003e\" or \"\u003c+input\u003e.default('value')\"\n        // - Enterprise features: is_enterprise = true\n        // ============================================================================\n        // ----------------------------------------------------------------------------\n        // Example 1: Simple Fault Template (TESTED ✅)\n        // ----------------------------------------------------------------------------\n        // Basic template with single fault\n        var simpleFault = new ExperimentTemplate(\"simpleFault\", ExperimentTemplateArgs.builder()\n            .orgId(this_.id())\n            .projectId(thisHarnessPlatformProject.id())\n            .hubIdentity(projectLevel.identity())\n            .identity(\"simple-pod-delete\")\n            .name(\"Simple Pod Delete Experiment\")\n            .description(\"Basic experiment with single pod delete fault\")\n            .tags(            \n                \"kubernetes\",\n                \"pod-delete\",\n                \"simple\")\n            .spec(ExperimentTemplateSpecArgs.builder()\n                .infraType(\"KubernetesV2\")\n                .faults(ExperimentTemplateSpecFaultArgs.builder()\n                    .identity(\"pod-delete\")\n                    .name(\"pod-delete-fault\")\n                    .revision(\"v1\")\n                    .isEnterprise(true)\n                    .authEnabled(false)\n                    .values(                    \n                        ExperimentTemplateSpecFaultValueArgs.builder()\n                            .name(\"TARGET_WORKLOAD_KIND\")\n                            .value(\"deployment\")\n                            .build(),\n                        ExperimentTemplateSpecFaultValueArgs.builder()\n                            .name(\"TARGET_WORKLOAD_NAMESPACE\")\n                            .value(\"\u003c+input\u003e.default('default')\")\n                            .build(),\n                        ExperimentTemplateSpecFaultValueArgs.builder()\n                            .name(\"TOTAL_CHAOS_DURATION\")\n                            .value(\"\u003c+input\u003e.default('30s')\")\n                            .build())\n                    .build())\n                .vertices(ExperimentTemplateSpecVertexArgs.builder()\n                    .name(\"pod-delete-vertex\")\n                    .start(ExperimentTemplateSpecVertexStartArgs.builder()\n                        .faults(ExperimentTemplateSpecVertexStartFaultArgs.builder()\n                            .name(\"pod-delete-fault\")\n                            .build())\n                        .build())\n                    .end(ExperimentTemplateSpecVertexEndArgs.builder()\n                        .build())\n                    .build())\n                .cleanupPolicy(\"delete\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(projectLevel)\n                .build());\n\n        // ----------------------------------------------------------------------------\n        // Example 2: Template with Action and Fault (TESTED ✅)\n        // ----------------------------------------------------------------------------\n        // Template combining action and fault\n        var withAction = new ExperimentTemplate(\"withAction\", ExperimentTemplateArgs.builder()\n            .orgId(this_.id())\n            .projectId(thisHarnessPlatformProject.id())\n            .hubIdentity(projectLevel.identity())\n            .identity(\"action-and-fault\")\n            .name(\"Action and Fault Experiment\")\n            .description(\"Experiment with action before fault\")\n            .tags(            \n                \"kubernetes\",\n                \"action\",\n                \"fault\")\n            .spec(ExperimentTemplateSpecArgs.builder()\n                .infraType(\"KubernetesV2\")\n                .actions(ExperimentTemplateSpecActionArgs.builder()\n                    .identity(\"notification-action\")\n                    .name(\"pre-chaos-notification\")\n                    .isEnterprise(false)\n                    .continueOnCompletion(false)\n                    .values(ExperimentTemplateSpecActionValueArgs.builder()\n                        .name(\"MESSAGE\")\n                        .value(\"Starting chaos experiment\")\n                        .build())\n                    .build())\n                .faults(ExperimentTemplateSpecFaultArgs.builder()\n                    .identity(\"container-kill\")\n                    .name(\"container-kill-fault\")\n                    .revision(\"v1\")\n                    .isEnterprise(true)\n                    .authEnabled(false)\n                    .values(                    \n                        ExperimentTemplateSpecFaultValueArgs.builder()\n                            .name(\"TARGET_WORKLOAD_KIND\")\n                            .value(\"deployment\")\n                            .build(),\n                        ExperimentTemplateSpecFaultValueArgs.builder()\n                            .name(\"TARGET_WORKLOAD_NAMESPACE\")\n                            .value(\"\u003c+input\u003e\")\n                            .build(),\n                        ExperimentTemplateSpecFaultValueArgs.builder()\n                            .name(\"TOTAL_CHAOS_DURATION\")\n                            .value(\"\u003c+input\u003e.default('30s')\")\n                            .build())\n                    .build())\n                .vertices(                \n                    ExperimentTemplateSpecVertexArgs.builder()\n                        .name(\"action-vertex\")\n                        .start(ExperimentTemplateSpecVertexStartArgs.builder()\n                            .actions(ExperimentTemplateSpecVertexStartActionArgs.builder()\n                                .name(\"pre-chaos-notification\")\n                                .build())\n                            .build())\n                        .end(ExperimentTemplateSpecVertexEndArgs.builder()\n                            .build())\n                        .build(),\n                    ExperimentTemplateSpecVertexArgs.builder()\n                        .name(\"fault-vertex\")\n                        .start(ExperimentTemplateSpecVertexStartArgs.builder()\n                            .faults(ExperimentTemplateSpecVertexStartFaultArgs.builder()\n                                .name(\"container-kill-fault\")\n                                .build())\n                            .build())\n                        .end(ExperimentTemplateSpecVertexEndArgs.builder()\n                            .build())\n                        .build())\n                .cleanupPolicy(\"delete\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(projectLevel)\n                .build());\n\n        // ----------------------------------------------------------------------------\n        // Example 3: Complex Template with Probes (TESTED ✅)\n        // ----------------------------------------------------------------------------\n        // Complete template with actions, faults, and probes\n        var complex = new ExperimentTemplate(\"complex\", ExperimentTemplateArgs.builder()\n            .orgId(this_.id())\n            .projectId(thisHarnessPlatformProject.id())\n            .hubIdentity(projectLevel.identity())\n            .identity(\"complex-experiment\")\n            .name(\"Complex Chaos Experiment\")\n            .description(\"Complete experiment with actions, faults, and probes\")\n            .tags(            \n                \"kubernetes\",\n                \"complex\",\n                \"enterprise\")\n            .spec(ExperimentTemplateSpecArgs.builder()\n                .infraType(\"KubernetesV2\")\n                .actions(ExperimentTemplateSpecActionArgs.builder()\n                    .identity(\"notification-action\")\n                    .name(\"start-notification\")\n                    .isEnterprise(false)\n                    .continueOnCompletion(false)\n                    .values(ExperimentTemplateSpecActionValueArgs.builder()\n                        .name(\"MESSAGE\")\n                        .value(\"Chaos experiment started\")\n                        .build())\n                    .build())\n                .faults(                \n                    ExperimentTemplateSpecFaultArgs.builder()\n                        .identity(\"pod-delete\")\n                        .name(\"pod-delete-fault\")\n                        .revision(\"v1\")\n                        .isEnterprise(true)\n                        .authEnabled(false)\n                        .values(                        \n                            ExperimentTemplateSpecFaultValueArgs.builder()\n                                .name(\"TARGET_WORKLOAD_KIND\")\n                                .value(\"deployment\")\n                                .build(),\n                            ExperimentTemplateSpecFaultValueArgs.builder()\n                                .name(\"TARGET_WORKLOAD_NAMESPACE\")\n                                .value(\"\u003c+input\u003e\")\n                                .build(),\n                            ExperimentTemplateSpecFaultValueArgs.builder()\n                                .name(\"TOTAL_CHAOS_DURATION\")\n                                .value(\"\u003c+input\u003e.default('30s')\")\n                                .build())\n                        .build(),\n                    ExperimentTemplateSpecFaultArgs.builder()\n                        .identity(\"pod-network-latency\")\n                        .name(\"network-latency-fault\")\n                        .revision(\"v1\")\n                        .isEnterprise(true)\n                        .authEnabled(false)\n                        .values(                        \n                            ExperimentTemplateSpecFaultValueArgs.builder()\n                                .name(\"TARGET_WORKLOAD_KIND\")\n                                .value(\"deployment\")\n                                .build(),\n                            ExperimentTemplateSpecFaultValueArgs.builder()\n                                .name(\"TARGET_WORKLOAD_NAMESPACE\")\n                                .value(\"\u003c+input\u003e\")\n                                .build(),\n                            ExperimentTemplateSpecFaultValueArgs.builder()\n                                .name(\"NETWORK_LATENCY\")\n                                .value(\"\u003c+input\u003e.default('2000')\")\n                                .build())\n                        .build())\n                .probes(                \n                    ExperimentTemplateSpecProbeArgs.builder()\n                        .identity(\"pod-status-check\")\n                        .name(\"pod-status-probe\")\n                        .revision(\"v1\")\n                        .isEnterprise(true)\n                        .duration(\"30\")\n                        .weightage(10)\n                        .enableDataCollection(false)\n                        .conditionsV2(ExperimentTemplateSpecProbeConditionsV2Args.builder()\n                            .operator(\"AND\")\n                            .values(\"true\")\n                            .build())\n                        .values(ExperimentTemplateSpecProbeValueArgs.builder()\n                            .name(\"TARGET_NAMESPACE\")\n                            .value(\"\u003c+input\u003e\")\n                            .build())\n                        .build(),\n                    ExperimentTemplateSpecProbeArgs.builder()\n                        .identity(\"http-health-check\")\n                        .name(\"http-health-probe\")\n                        .revision(\"v1\")\n                        .isEnterprise(true)\n                        .duration(\"30\")\n                        .weightage(10)\n                        .enableDataCollection(false)\n                        .conditionsV2(ExperimentTemplateSpecProbeConditionsV2Args.builder()\n                            .operator(\"OR\")\n                            .values(                            \n                                \"true\",\n                                \"\u003c+input\u003e\")\n                            .build())\n                        .values(ExperimentTemplateSpecProbeValueArgs.builder()\n                            .name(\"URL\")\n                            .value(\"\u003c+input\u003e\")\n                            .build())\n                        .build())\n                .vertices(                \n                    ExperimentTemplateSpecVertexArgs.builder()\n                        .name(\"action-stage\")\n                        .start(ExperimentTemplateSpecVertexStartArgs.builder()\n                            .actions(ExperimentTemplateSpecVertexStartActionArgs.builder()\n                                .name(\"start-notification\")\n                                .build())\n                            .build())\n                        .end(ExperimentTemplateSpecVertexEndArgs.builder()\n                            .build())\n                        .build(),\n                    ExperimentTemplateSpecVertexArgs.builder()\n                        .name(\"fault-stage\")\n                        .start(ExperimentTemplateSpecVertexStartArgs.builder()\n                            .faults(                            \n                                ExperimentTemplateSpecVertexStartFaultArgs.builder()\n                                    .name(\"pod-delete-fault\")\n                                    .build(),\n                                ExperimentTemplateSpecVertexStartFaultArgs.builder()\n                                    .name(\"network-latency-fault\")\n                                    .build())\n                            .probes(                            \n                                ExperimentTemplateSpecVertexStartProbeArgs.builder()\n                                    .name(\"pod-status-probe\")\n                                    .build(),\n                                ExperimentTemplateSpecVertexStartProbeArgs.builder()\n                                    .name(\"http-health-probe\")\n                                    .build())\n                            .build())\n                        .end(ExperimentTemplateSpecVertexEndArgs.builder()\n                            .build())\n                        .build(),\n                    ExperimentTemplateSpecVertexArgs.builder()\n                        .name(\"cleanup-stage\")\n                        .start(ExperimentTemplateSpecVertexStartArgs.builder()\n                            .build())\n                        .end(ExperimentTemplateSpecVertexEndArgs.builder()\n                            .build())\n                        .build())\n                .cleanupPolicy(\"delete\")\n                .statusCheckTimeouts(ExperimentTemplateSpecStatusCheckTimeoutsArgs.builder()\n                    .delay(5)\n                    .timeout(300)\n                    .build())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(projectLevel)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ============================================================================\n  # Harness Chaos Experiment Template Resource Examples\n  # ============================================================================\n  #\n  # Experiment templates define complete chaos experiments with actions, faults, and probes.\n  # These examples are based on TESTED configurations from the e2e-test suite.\n  #\n  # Key Points:\n  # - Templates combine actions, faults, and probes into workflows\n  # - Vertices define execution order (workflow graph)\n  # - Runtime inputs supported: \"\u003c+input\u003e\" or \"\u003c+input\u003e.default('value')\"\n  # - Enterprise features: is_enterprise = true\n  # ============================================================================\n\n  # ----------------------------------------------------------------------------\n  # Example 1: Simple Fault Template (TESTED ✅)\n  # ----------------------------------------------------------------------------\n  # Basic template with single fault\n  simpleFault:\n    type: harness:chaos:ExperimentTemplate\n    name: simple_fault\n    properties:\n      orgId: ${this.id}\n      projectId: ${thisHarnessPlatformProject.id}\n      hubIdentity: ${projectLevel.identity}\n      identity: simple-pod-delete\n      name: Simple Pod Delete Experiment\n      description: Basic experiment with single pod delete fault\n      tags:\n        - kubernetes\n        - pod-delete\n        - simple\n      spec:\n        infraType: KubernetesV2\n        faults:\n          - identity: pod-delete\n            name: pod-delete-fault\n            revision: v1\n            isEnterprise: true\n            authEnabled: false\n            values:\n              - name: TARGET_WORKLOAD_KIND\n                value: deployment\n              - name: TARGET_WORKLOAD_NAMESPACE\n                value: \u003c+input\u003e.default('default')\n              - name: TOTAL_CHAOS_DURATION\n                value: \u003c+input\u003e.default('30s')\n        vertices:\n          - name: pod-delete-vertex\n            start:\n              faults:\n                - name: pod-delete-fault\n            end: {}\n        cleanupPolicy: delete\n    options:\n      dependsOn:\n        - ${projectLevel}\n  # ----------------------------------------------------------------------------\n  # Example 2: Template with Action and Fault (TESTED ✅)\n  # ----------------------------------------------------------------------------\n  # Template combining action and fault\n  withAction:\n    type: harness:chaos:ExperimentTemplate\n    name: with_action\n    properties:\n      orgId: ${this.id}\n      projectId: ${thisHarnessPlatformProject.id}\n      hubIdentity: ${projectLevel.identity}\n      identity: action-and-fault\n      name: Action and Fault Experiment\n      description: Experiment with action before fault\n      tags:\n        - kubernetes\n        - action\n        - fault\n      spec:\n        infraType: KubernetesV2\n        actions:\n          - identity: notification-action\n            name: pre-chaos-notification\n            isEnterprise: false\n            continueOnCompletion: false\n            values:\n              - name: MESSAGE\n                value: Starting chaos experiment\n        faults:\n          - identity: container-kill\n            name: container-kill-fault\n            revision: v1\n            isEnterprise: true\n            authEnabled: false\n            values:\n              - name: TARGET_WORKLOAD_KIND\n                value: deployment\n              - name: TARGET_WORKLOAD_NAMESPACE\n                value: \u003c+input\u003e\n              - name: TOTAL_CHAOS_DURATION\n                value: \u003c+input\u003e.default('30s')\n        vertices:\n          - name: action-vertex\n            start:\n              actions:\n                - name: pre-chaos-notification\n            end: {}\n          - name: fault-vertex\n            start:\n              faults:\n                - name: container-kill-fault\n            end: {}\n        cleanupPolicy: delete\n    options:\n      dependsOn:\n        - ${projectLevel}\n  # ----------------------------------------------------------------------------\n  # Example 3: Complex Template with Probes (TESTED ✅)\n  # ----------------------------------------------------------------------------\n  # Complete template with actions, faults, and probes\n  complex:\n    type: harness:chaos:ExperimentTemplate\n    properties:\n      orgId: ${this.id}\n      projectId: ${thisHarnessPlatformProject.id}\n      hubIdentity: ${projectLevel.identity}\n      identity: complex-experiment\n      name: Complex Chaos Experiment\n      description: Complete experiment with actions, faults, and probes\n      tags:\n        - kubernetes\n        - complex\n        - enterprise\n      spec:\n        infraType: KubernetesV2\n        actions:\n          - identity: notification-action\n            name: start-notification\n            isEnterprise: false\n            continueOnCompletion: false\n            values:\n              - name: MESSAGE\n                value: Chaos experiment started\n        faults:\n          - identity: pod-delete\n            name: pod-delete-fault\n            revision: v1\n            isEnterprise: true\n            authEnabled: false\n            values:\n              - name: TARGET_WORKLOAD_KIND\n                value: deployment\n              - name: TARGET_WORKLOAD_NAMESPACE\n                value: \u003c+input\u003e\n              - name: TOTAL_CHAOS_DURATION\n                value: \u003c+input\u003e.default('30s')\n          - identity: pod-network-latency\n            name: network-latency-fault\n            revision: v1\n            isEnterprise: true\n            authEnabled: false\n            values:\n              - name: TARGET_WORKLOAD_KIND\n                value: deployment\n              - name: TARGET_WORKLOAD_NAMESPACE\n                value: \u003c+input\u003e\n              - name: NETWORK_LATENCY\n                value: \u003c+input\u003e.default('2000')\n        probes:\n          - identity: pod-status-check\n            name: pod-status-probe\n            revision: v1\n            isEnterprise: true\n            duration: 30\n            weightage: 10\n            enableDataCollection: false\n            conditionsV2:\n              operator: AND\n              values:\n                - 'true'\n            values:\n              - name: TARGET_NAMESPACE\n                value: \u003c+input\u003e\n          - identity: http-health-check\n            name: http-health-probe\n            revision: v1\n            isEnterprise: true\n            duration: 30\n            weightage: 10\n            enableDataCollection: false\n            conditionsV2:\n              operator: OR\n              values:\n                - 'true'\n                - \u003c+input\u003e\n            values:\n              - name: URL\n                value: \u003c+input\u003e\n        vertices:\n          - name: action-stage\n            start:\n              actions:\n                - name: start-notification\n            end: {}\n          - name: fault-stage\n            start:\n              faults:\n                - name: pod-delete-fault\n                - name: network-latency-fault\n              probes:\n                - name: pod-status-probe\n                - name: http-health-probe\n            end: {}\n          - name: cleanup-stage\n            start: {}\n            end: {}\n        cleanupPolicy: delete\n        statusCheckTimeouts:\n          delay: 5\n          timeout: 300\n    options:\n      dependsOn:\n        - ${projectLevel}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nExample 1: Import Project-level Experiment Template\nFormat: org_id/project_id/hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/experimentTemplate:ExperimentTemplate simple_fault my_org/my_project/my-chaos-hub/simple-pod-delete-experiment\n```\n\nExample 2: Import Org-level Experiment Template\nFormat: org_id/hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/experimentTemplate:ExperimentTemplate org_level my_org/org-chaos-hub/org-experiment-template\n```\n\nExample 3: Import Account-level Experiment Template\nFormat: hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/experimentTemplate:ExperimentTemplate account_level account-chaos-hub/account-experiment-template\n```\n\nExample 4: Import Comprehensive Experiment Template\n\n```sh\n$ pulumi import harness:chaos/experimentTemplate:ExperimentTemplate comprehensive my_org/my_project/my-chaos-hub/comprehensive-experiment\n```\n\nExample 5: Import Multi-Fault Experiment Template\n\n```sh\n$ pulumi import harness:chaos/experimentTemplate:ExperimentTemplate multi_fault my_org/my_project/my-chaos-hub/multi-fault-experiment\n```\n\n",
            "properties": {
                "apiVersion": {
                    "type": "string",
                    "description": "API version of the experiment template\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the experiment template\n"
                },
                "hubIdentity": {
                    "type": "string",
                    "description": "Hub identifier where the template is stored\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the experiment template\n"
                },
                "isDefault": {
                    "type": "boolean",
                    "description": "Whether this is a default template\n"
                },
                "kind": {
                    "type": "string",
                    "description": "Kind of the experiment template\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the experiment template\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Project identifier\n"
                },
                "revision": {
                    "type": "string",
                    "description": "Revision of the experiment template\n"
                },
                "spec": {
                    "$ref": "#/types/harness:chaos/ExperimentTemplateSpec:ExperimentTemplateSpec",
                    "description": "Specification of the experiment template\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags associated with the experiment template\n"
                }
            },
            "required": [
                "apiVersion",
                "hubIdentity",
                "identity",
                "isDefault",
                "kind",
                "name",
                "revision",
                "spec"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "Description of the experiment template\n"
                },
                "hubIdentity": {
                    "type": "string",
                    "description": "Hub identifier where the template is stored\n",
                    "willReplaceOnChanges": true
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the experiment template\n",
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "Name of the experiment template\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Project identifier\n",
                    "willReplaceOnChanges": true
                },
                "spec": {
                    "$ref": "#/types/harness:chaos/ExperimentTemplateSpec:ExperimentTemplateSpec",
                    "description": "Specification of the experiment template\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags associated with the experiment template\n"
                }
            },
            "requiredInputs": [
                "hubIdentity",
                "identity",
                "spec"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ExperimentTemplate resources.\n",
                "properties": {
                    "apiVersion": {
                        "type": "string",
                        "description": "API version of the experiment template\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the experiment template\n"
                    },
                    "hubIdentity": {
                        "type": "string",
                        "description": "Hub identifier where the template is stored\n",
                        "willReplaceOnChanges": true
                    },
                    "identity": {
                        "type": "string",
                        "description": "Unique identifier for the experiment template\n",
                        "willReplaceOnChanges": true
                    },
                    "isDefault": {
                        "type": "boolean",
                        "description": "Whether this is a default template\n"
                    },
                    "kind": {
                        "type": "string",
                        "description": "Kind of the experiment template\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the experiment template\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization identifier\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Project identifier\n",
                        "willReplaceOnChanges": true
                    },
                    "revision": {
                        "type": "string",
                        "description": "Revision of the experiment template\n"
                    },
                    "spec": {
                        "$ref": "#/types/harness:chaos/ExperimentTemplateSpec:ExperimentTemplateSpec",
                        "description": "Specification of the experiment template\n"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Tags associated with the experiment template\n"
                    }
                },
                "type": "object"
            }
        },
        "harness:chaos/faultTemplate:FaultTemplate": {
            "description": "Resource for managing Harness Chaos Fault Templates.\n\nSupports the core fault template fields (identity, name, description, tags, category, infrastructure type), the Kubernetes chaos spec (fault name, params, volumes, resources, tolerations, environment variables), Kubernetes and application targets, variables, and links.\n\n## Deletion behavior (custom fault templates)\n\nWhen a chaos experiment is created from an experiment template that references a **custom (non-enterprise) fault template**, the backend creates a **fault instance** that points at this template. Deleting the experiment does **not** remove that fault instance, and the backend blocks deletion of a fault template while any fault instance still references it, returning `fault template is referenced by faults`. If the template lives in a chaos hub, the hub delete then also fails with `hub has fault templates`.\n\nAs a result, `terraform destroy` can fail on a custom fault template (and its hub) until the referencing fault instances are removed. Terraform does not manage fault instances (there is no \u003cspan pulumi-lang-nodejs=\"`harnessChaosFault`\" pulumi-lang-dotnet=\"`HarnessChaosFault`\" pulumi-lang-go=\"`harnessChaosFault`\" pulumi-lang-python=\"`harness_chaos_fault`\" pulumi-lang-yaml=\"`harnessChaosFault`\" pulumi-lang-java=\"`harnessChaosFault`\" pulumi-lang-hcl=\"`harness_chaos_fault`\"\u003e`harnessChaosFault`\u003c/span\u003e resource); they can only be removed via the REST API (`DELETE /rest/faults/{identity}`). Enterprise faults (e.g. `pod-delete`, `pod-network-latency`) do **not** create such instances, so experiment templates built on enterprise faults destroy cleanly. Prefer referencing custom fault templates only from experiment templates you do not launch experiments from, or clean up the fault instances before destroying the template.\n\n## Not currently supported\n\nThe following exist in the Harness API but are **not yet supported** by this resource:\n\n- Chaos spec \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`tls`\" pulumi-lang-dotnet=\"`Tls`\" pulumi-lang-go=\"`tls`\" pulumi-lang-python=\"`tls`\" pulumi-lang-yaml=\"`tls`\" pulumi-lang-java=\"`tls`\" pulumi-lang-hcl=\"`tls`\"\u003e`tls`\u003c/span\u003e configuration. These blocks are present in the schema but are not plumbed through to the API; setting either returns an error (rather than silently dropping the values). Configure fault authentication/TLS in the Harness UI/API instead.\n- Advanced pod/container security context options beyond the basic fields.\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// Harness Chaos Fault Template Resource Examples\n// ============================================================================\n//\n// Fault templates define reusable chaos faults for experiments.\n// These examples are based on TESTED configurations from the e2e-test suite.\n//\n// Key Points:\n// - Faults inject failures into systems (pod delete, network latency, etc.)\n// - Type is usually \"Custom\" for custom faults\n// - Category and infrastructures define where fault can run\n// ============================================================================\n// ----------------------------------------------------------------------------\n// Example 1: Basic Kubernetes Fault (TESTED ✅)\n// ----------------------------------------------------------------------------\n// Most common pattern: Custom Kubernetes fault with container spec\nconst kubernetesFault = new harness.chaos.FaultTemplate(\"kubernetes_fault\", {\n    orgId: _this.id,\n    projectId: thisHarnessPlatformProject.id,\n    hubIdentity: projectLevel.identity,\n    identity: \"k8s-fault-template\",\n    name: \"Kubernetes Fault Template\",\n    description: \"Custom Kubernetes fault for chaos injection\",\n    categories: [\"Kubernetes\"],\n    infrastructures: [\"KubernetesV2\"],\n    type: \"Custom\",\n    permissionsRequired: \"Basic\",\n    tags: [\n        \"kubernetes\",\n        \"fault\",\n        \"custom\",\n    ],\n    links: [{\n        name: \"Documentation\",\n        url: \"https://docs.harness.io/chaos\",\n    }],\n    spec: {\n        chaos: {\n            faultName: \"byoc-injector\",\n            params: [\n                {\n                    name: \"CHAOS_DURATION\",\n                    value: \"30s\",\n                },\n                {\n                    name: \"CHAOS_INTERVAL\",\n                    value: \"5s\",\n                },\n            ],\n            kubernetes: {\n                image: \"chaosnative/go-runner:ci\",\n                commands: [\n                    \"/bin/bash\",\n                    \"-c\",\n                ],\n                args: [\"echo 'Running chaos fault'; sleep 30\"],\n                imagePullPolicy: \"IfNotPresent\",\n                resources: {\n                    limits: {\n                        cpu: \"150m\",\n                        memory: \"150Mi\",\n                    },\n                    requests: {\n                        cpu: \"100m\",\n                        memory: \"100Mi\",\n                    },\n                },\n            },\n        },\n    },\n}, {\n    dependsOn: [projectLevel],\n});\n// ----------------------------------------------------------------------------\n// Example 2: Fault with Environment Variables (TESTED ✅)\n// ----------------------------------------------------------------------------\n// Fault with environment variables for configuration\nconst faultWithEnv = new harness.chaos.FaultTemplate(\"fault_with_env\", {\n    orgId: _this.id,\n    projectId: thisHarnessPlatformProject.id,\n    hubIdentity: projectLevel.identity,\n    identity: \"fault-with-env-template\",\n    name: \"Fault with Environment Variables\",\n    description: \"Fault template with environment configuration\",\n    categories: [\"Kubernetes\"],\n    infrastructures: [\"KubernetesV2\"],\n    type: \"Custom\",\n    permissionsRequired: \"Basic\",\n    tags: [\n        \"kubernetes\",\n        \"env\",\n        \"config\",\n    ],\n    links: [{\n        name: \"Documentation\",\n        url: \"https://docs.harness.io/chaos\",\n    }],\n    spec: {\n        chaos: {\n            faultName: \"byoc-injector\",\n            params: [\n                {\n                    name: \"CHAOS_DURATION\",\n                    value: \"15s\",\n                },\n                {\n                    name: \"CHAOS_INTERVAL\",\n                    value: \"3s\",\n                },\n                {\n                    name: \"TARGET_NAMESPACE\",\n                    value: \"\u003c+input\u003e.default('default')\",\n                },\n            ],\n            kubernetes: {\n                image: \"chaosnative/go-runner:ci\",\n                commands: [\n                    \"/bin/bash\",\n                    \"-c\",\n                ],\n                args: [\"echo 'Fault with env vars'; sleep 15\"],\n                imagePullPolicy: \"IfNotPresent\",\n                envs: [\n                    {\n                        name: \"TARGET_NAMESPACE\",\n                        value: \"\u003c+input\u003e.default('default')\",\n                    },\n                    {\n                        name: \"CHAOS_MODE\",\n                        value: \"pod\",\n                    },\n                ],\n                resources: {\n                    limits: {\n                        cpu: \"200m\",\n                        memory: \"200Mi\",\n                    },\n                },\n            },\n        },\n    },\n    variables: [{\n        name: \"target_namespace\",\n        value: \"\u003c+input\u003e\",\n        type: \"string\",\n        required: false,\n        description: \"Target namespace for chaos injection\",\n    }],\n}, {\n    dependsOn: [projectLevel],\n});\n// ----------------------------------------------------------------------------\n// Example 3: Fault with Advanced Configuration (TESTED ✅)\n// ----------------------------------------------------------------------------\n// Fault with node selector, labels, and annotations\nconst advancedFault = new harness.chaos.FaultTemplate(\"advanced_fault\", {\n    orgId: _this.id,\n    projectId: thisHarnessPlatformProject.id,\n    hubIdentity: projectLevel.identity,\n    identity: \"advanced-fault-template\",\n    name: \"Advanced Fault Template\",\n    description: \"Fault with advanced Kubernetes configuration\",\n    categories: [\"Kubernetes\"],\n    infrastructures: [\"KubernetesV2\"],\n    type: \"Custom\",\n    permissionsRequired: \"Basic\",\n    tags: [\n        \"kubernetes\",\n        \"advanced\",\n        \"production\",\n    ],\n    links: [\n        {\n            name: \"Documentation\",\n            url: \"https://docs.harness.io/chaos\",\n        },\n        {\n            name: \"Support\",\n            url: \"https://support.harness.io\",\n        },\n    ],\n    spec: {\n        chaos: {\n            faultName: \"byoc-injector\",\n            params: [\n                {\n                    name: \"CHAOS_DURATION\",\n                    value: \"\u003c+input\u003e.default('30s')\",\n                },\n                {\n                    name: \"CHAOS_INTERVAL\",\n                    value: \"\u003c+input\u003e.default('5s')\",\n                },\n            ],\n            kubernetes: {\n                image: \"chaosnative/go-runner:ci\",\n                commands: [\n                    \"/bin/bash\",\n                    \"-c\",\n                ],\n                args: [\"echo 'Advanced chaos fault'; sleep 30\"],\n                imagePullPolicy: \"IfNotPresent\",\n                nodeSelector: {\n                    disktype: \"ssd\",\n                    zone: \"us-west-1a\",\n                },\n                labels: {\n                    app: \"chaos-fault\",\n                    environment: \"production\",\n                    \"managed-by\": \"terraform\",\n                },\n                annotations: {\n                    description: \"Advanced chaos fault\",\n                    owner: \"chaos-team\",\n                },\n                resources: {\n                    limits: {\n                        cpu: \"250m\",\n                        memory: \"256Mi\",\n                    },\n                    requests: {\n                        cpu: \"125m\",\n                        memory: \"128Mi\",\n                    },\n                },\n            },\n        },\n    },\n    variables: [\n        {\n            name: \"chaos_duration\",\n            value: \"\u003c+input\u003e\",\n            type: \"string\",\n            required: true,\n            description: \"Duration of chaos injection\",\n        },\n        {\n            name: \"chaos_interval\",\n            value: \"\u003c+input\u003e\",\n            type: \"string\",\n            required: false,\n            description: \"Interval between chaos injections\",\n        },\n    ],\n}, {\n    dependsOn: [projectLevel],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# ============================================================================\n# Harness Chaos Fault Template Resource Examples\n# ============================================================================\n#\n# Fault templates define reusable chaos faults for experiments.\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Faults inject failures into systems (pod delete, network latency, etc.)\n# - Type is usually \"Custom\" for custom faults\n# - Category and infrastructures define where fault can run\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: Basic Kubernetes Fault (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Most common pattern: Custom Kubernetes fault with container spec\nkubernetes_fault = harness.chaos.FaultTemplate(\"kubernetes_fault\",\n    org_id=this[\"id\"],\n    project_id=this_harness_platform_project[\"id\"],\n    hub_identity=project_level[\"identity\"],\n    identity=\"k8s-fault-template\",\n    name=\"Kubernetes Fault Template\",\n    description=\"Custom Kubernetes fault for chaos injection\",\n    categories=[\"Kubernetes\"],\n    infrastructures=[\"KubernetesV2\"],\n    type=\"Custom\",\n    permissions_required=\"Basic\",\n    tags=[\n        \"kubernetes\",\n        \"fault\",\n        \"custom\",\n    ],\n    links=[{\n        \"name\": \"Documentation\",\n        \"url\": \"https://docs.harness.io/chaos\",\n    }],\n    spec={\n        \"chaos\": {\n            \"fault_name\": \"byoc-injector\",\n            \"params\": [\n                {\n                    \"name\": \"CHAOS_DURATION\",\n                    \"value\": \"30s\",\n                },\n                {\n                    \"name\": \"CHAOS_INTERVAL\",\n                    \"value\": \"5s\",\n                },\n            ],\n            \"kubernetes\": {\n                \"image\": \"chaosnative/go-runner:ci\",\n                \"commands\": [\n                    \"/bin/bash\",\n                    \"-c\",\n                ],\n                \"args\": [\"echo 'Running chaos fault'; sleep 30\"],\n                \"image_pull_policy\": \"IfNotPresent\",\n                \"resources\": {\n                    \"limits\": {\n                        \"cpu\": \"150m\",\n                        \"memory\": \"150Mi\",\n                    },\n                    \"requests\": {\n                        \"cpu\": \"100m\",\n                        \"memory\": \"100Mi\",\n                    },\n                },\n            },\n        },\n    },\n    opts = pulumi.ResourceOptions(depends_on=[project_level]))\n# ----------------------------------------------------------------------------\n# Example 2: Fault with Environment Variables (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Fault with environment variables for configuration\nfault_with_env = harness.chaos.FaultTemplate(\"fault_with_env\",\n    org_id=this[\"id\"],\n    project_id=this_harness_platform_project[\"id\"],\n    hub_identity=project_level[\"identity\"],\n    identity=\"fault-with-env-template\",\n    name=\"Fault with Environment Variables\",\n    description=\"Fault template with environment configuration\",\n    categories=[\"Kubernetes\"],\n    infrastructures=[\"KubernetesV2\"],\n    type=\"Custom\",\n    permissions_required=\"Basic\",\n    tags=[\n        \"kubernetes\",\n        \"env\",\n        \"config\",\n    ],\n    links=[{\n        \"name\": \"Documentation\",\n        \"url\": \"https://docs.harness.io/chaos\",\n    }],\n    spec={\n        \"chaos\": {\n            \"fault_name\": \"byoc-injector\",\n            \"params\": [\n                {\n                    \"name\": \"CHAOS_DURATION\",\n                    \"value\": \"15s\",\n                },\n                {\n                    \"name\": \"CHAOS_INTERVAL\",\n                    \"value\": \"3s\",\n                },\n                {\n                    \"name\": \"TARGET_NAMESPACE\",\n                    \"value\": \"\u003c+input\u003e.default('default')\",\n                },\n            ],\n            \"kubernetes\": {\n                \"image\": \"chaosnative/go-runner:ci\",\n                \"commands\": [\n                    \"/bin/bash\",\n                    \"-c\",\n                ],\n                \"args\": [\"echo 'Fault with env vars'; sleep 15\"],\n                \"image_pull_policy\": \"IfNotPresent\",\n                \"envs\": [\n                    {\n                        \"name\": \"TARGET_NAMESPACE\",\n                        \"value\": \"\u003c+input\u003e.default('default')\",\n                    },\n                    {\n                        \"name\": \"CHAOS_MODE\",\n                        \"value\": \"pod\",\n                    },\n                ],\n                \"resources\": {\n                    \"limits\": {\n                        \"cpu\": \"200m\",\n                        \"memory\": \"200Mi\",\n                    },\n                },\n            },\n        },\n    },\n    variables=[{\n        \"name\": \"target_namespace\",\n        \"value\": \"\u003c+input\u003e\",\n        \"type\": \"string\",\n        \"required\": False,\n        \"description\": \"Target namespace for chaos injection\",\n    }],\n    opts = pulumi.ResourceOptions(depends_on=[project_level]))\n# ----------------------------------------------------------------------------\n# Example 3: Fault with Advanced Configuration (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Fault with node selector, labels, and annotations\nadvanced_fault = harness.chaos.FaultTemplate(\"advanced_fault\",\n    org_id=this[\"id\"],\n    project_id=this_harness_platform_project[\"id\"],\n    hub_identity=project_level[\"identity\"],\n    identity=\"advanced-fault-template\",\n    name=\"Advanced Fault Template\",\n    description=\"Fault with advanced Kubernetes configuration\",\n    categories=[\"Kubernetes\"],\n    infrastructures=[\"KubernetesV2\"],\n    type=\"Custom\",\n    permissions_required=\"Basic\",\n    tags=[\n        \"kubernetes\",\n        \"advanced\",\n        \"production\",\n    ],\n    links=[\n        {\n            \"name\": \"Documentation\",\n            \"url\": \"https://docs.harness.io/chaos\",\n        },\n        {\n            \"name\": \"Support\",\n            \"url\": \"https://support.harness.io\",\n        },\n    ],\n    spec={\n        \"chaos\": {\n            \"fault_name\": \"byoc-injector\",\n            \"params\": [\n                {\n                    \"name\": \"CHAOS_DURATION\",\n                    \"value\": \"\u003c+input\u003e.default('30s')\",\n                },\n                {\n                    \"name\": \"CHAOS_INTERVAL\",\n                    \"value\": \"\u003c+input\u003e.default('5s')\",\n                },\n            ],\n            \"kubernetes\": {\n                \"image\": \"chaosnative/go-runner:ci\",\n                \"commands\": [\n                    \"/bin/bash\",\n                    \"-c\",\n                ],\n                \"args\": [\"echo 'Advanced chaos fault'; sleep 30\"],\n                \"image_pull_policy\": \"IfNotPresent\",\n                \"node_selector\": {\n                    \"disktype\": \"ssd\",\n                    \"zone\": \"us-west-1a\",\n                },\n                \"labels\": {\n                    \"app\": \"chaos-fault\",\n                    \"environment\": \"production\",\n                    \"managed-by\": \"terraform\",\n                },\n                \"annotations\": {\n                    \"description\": \"Advanced chaos fault\",\n                    \"owner\": \"chaos-team\",\n                },\n                \"resources\": {\n                    \"limits\": {\n                        \"cpu\": \"250m\",\n                        \"memory\": \"256Mi\",\n                    },\n                    \"requests\": {\n                        \"cpu\": \"125m\",\n                        \"memory\": \"128Mi\",\n                    },\n                },\n            },\n        },\n    },\n    variables=[\n        {\n            \"name\": \"chaos_duration\",\n            \"value\": \"\u003c+input\u003e\",\n            \"type\": \"string\",\n            \"required\": True,\n            \"description\": \"Duration of chaos injection\",\n        },\n        {\n            \"name\": \"chaos_interval\",\n            \"value\": \"\u003c+input\u003e\",\n            \"type\": \"string\",\n            \"required\": False,\n            \"description\": \"Interval between chaos injections\",\n        },\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[project_level]))\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    // Harness Chaos Fault Template Resource Examples\n    // ============================================================================\n    //\n    // Fault templates define reusable chaos faults for experiments.\n    // These examples are based on TESTED configurations from the e2e-test suite.\n    //\n    // Key Points:\n    // - Faults inject failures into systems (pod delete, network latency, etc.)\n    // - Type is usually \"Custom\" for custom faults\n    // - Category and infrastructures define where fault can run\n    // ============================================================================\n    // ----------------------------------------------------------------------------\n    // Example 1: Basic Kubernetes Fault (TESTED ✅)\n    // ----------------------------------------------------------------------------\n    // Most common pattern: Custom Kubernetes fault with container spec\n    var kubernetesFault = new Harness.Chaos.FaultTemplate(\"kubernetes_fault\", new()\n    {\n        OrgId = @this.Id,\n        ProjectId = thisHarnessPlatformProject.Id,\n        HubIdentity = projectLevel.Identity,\n        Identity = \"k8s-fault-template\",\n        Name = \"Kubernetes Fault Template\",\n        Description = \"Custom Kubernetes fault for chaos injection\",\n        Categories = new[]\n        {\n            \"Kubernetes\",\n        },\n        Infrastructures = new[]\n        {\n            \"KubernetesV2\",\n        },\n        Type = \"Custom\",\n        PermissionsRequired = \"Basic\",\n        Tags = new[]\n        {\n            \"kubernetes\",\n            \"fault\",\n            \"custom\",\n        },\n        Links = new[]\n        {\n            new Harness.Chaos.Inputs.FaultTemplateLinkArgs\n            {\n                Name = \"Documentation\",\n                Url = \"https://docs.harness.io/chaos\",\n            },\n        },\n        Spec = new Harness.Chaos.Inputs.FaultTemplateSpecArgs\n        {\n            Chaos = new Harness.Chaos.Inputs.FaultTemplateSpecChaosArgs\n            {\n                FaultName = \"byoc-injector\",\n                Params = new[]\n                {\n                    new Harness.Chaos.Inputs.FaultTemplateSpecChaosParamArgs\n                    {\n                        Name = \"CHAOS_DURATION\",\n                        Value = \"30s\",\n                    },\n                    new Harness.Chaos.Inputs.FaultTemplateSpecChaosParamArgs\n                    {\n                        Name = \"CHAOS_INTERVAL\",\n                        Value = \"5s\",\n                    },\n                },\n                Kubernetes = new Harness.Chaos.Inputs.FaultTemplateSpecChaosKubernetesArgs\n                {\n                    Image = \"chaosnative/go-runner:ci\",\n                    Commands = new[]\n                    {\n                        \"/bin/bash\",\n                        \"-c\",\n                    },\n                    Args = new[]\n                    {\n                        \"echo 'Running chaos fault'; sleep 30\",\n                    },\n                    ImagePullPolicy = \"IfNotPresent\",\n                    Resources = new Harness.Chaos.Inputs.FaultTemplateSpecChaosKubernetesResourcesArgs\n                    {\n                        Limits = \n                        {\n                            { \"cpu\", \"150m\" },\n                            { \"memory\", \"150Mi\" },\n                        },\n                        Requests = \n                        {\n                            { \"cpu\", \"100m\" },\n                            { \"memory\", \"100Mi\" },\n                        },\n                    },\n                },\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            projectLevel,\n        },\n    });\n\n    // ----------------------------------------------------------------------------\n    // Example 2: Fault with Environment Variables (TESTED ✅)\n    // ----------------------------------------------------------------------------\n    // Fault with environment variables for configuration\n    var faultWithEnv = new Harness.Chaos.FaultTemplate(\"fault_with_env\", new()\n    {\n        OrgId = @this.Id,\n        ProjectId = thisHarnessPlatformProject.Id,\n        HubIdentity = projectLevel.Identity,\n        Identity = \"fault-with-env-template\",\n        Name = \"Fault with Environment Variables\",\n        Description = \"Fault template with environment configuration\",\n        Categories = new[]\n        {\n            \"Kubernetes\",\n        },\n        Infrastructures = new[]\n        {\n            \"KubernetesV2\",\n        },\n        Type = \"Custom\",\n        PermissionsRequired = \"Basic\",\n        Tags = new[]\n        {\n            \"kubernetes\",\n            \"env\",\n            \"config\",\n        },\n        Links = new[]\n        {\n            new Harness.Chaos.Inputs.FaultTemplateLinkArgs\n            {\n                Name = \"Documentation\",\n                Url = \"https://docs.harness.io/chaos\",\n            },\n        },\n        Spec = new Harness.Chaos.Inputs.FaultTemplateSpecArgs\n        {\n            Chaos = new Harness.Chaos.Inputs.FaultTemplateSpecChaosArgs\n            {\n                FaultName = \"byoc-injector\",\n                Params = new[]\n                {\n                    new Harness.Chaos.Inputs.FaultTemplateSpecChaosParamArgs\n                    {\n                        Name = \"CHAOS_DURATION\",\n                        Value = \"15s\",\n                    },\n                    new Harness.Chaos.Inputs.FaultTemplateSpecChaosParamArgs\n                    {\n                        Name = \"CHAOS_INTERVAL\",\n                        Value = \"3s\",\n                    },\n                    new Harness.Chaos.Inputs.FaultTemplateSpecChaosParamArgs\n                    {\n                        Name = \"TARGET_NAMESPACE\",\n                        Value = \"\u003c+input\u003e.default('default')\",\n                    },\n                },\n                Kubernetes = new Harness.Chaos.Inputs.FaultTemplateSpecChaosKubernetesArgs\n                {\n                    Image = \"chaosnative/go-runner:ci\",\n                    Commands = new[]\n                    {\n                        \"/bin/bash\",\n                        \"-c\",\n                    },\n                    Args = new[]\n                    {\n                        \"echo 'Fault with env vars'; sleep 15\",\n                    },\n                    ImagePullPolicy = \"IfNotPresent\",\n                    Envs = new[]\n                    {\n                        new Harness.Chaos.Inputs.FaultTemplateSpecChaosKubernetesEnvArgs\n                        {\n                            Name = \"TARGET_NAMESPACE\",\n                            Value = \"\u003c+input\u003e.default('default')\",\n                        },\n                        new Harness.Chaos.Inputs.FaultTemplateSpecChaosKubernetesEnvArgs\n                        {\n                            Name = \"CHAOS_MODE\",\n                            Value = \"pod\",\n                        },\n                    },\n                    Resources = new Harness.Chaos.Inputs.FaultTemplateSpecChaosKubernetesResourcesArgs\n                    {\n                        Limits = \n                        {\n                            { \"cpu\", \"200m\" },\n                            { \"memory\", \"200Mi\" },\n                        },\n                    },\n                },\n            },\n        },\n        Variables = new[]\n        {\n            new Harness.Chaos.Inputs.FaultTemplateVariableArgs\n            {\n                Name = \"target_namespace\",\n                Value = \"\u003c+input\u003e\",\n                Type = \"string\",\n                Required = false,\n                Description = \"Target namespace for chaos injection\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            projectLevel,\n        },\n    });\n\n    // ----------------------------------------------------------------------------\n    // Example 3: Fault with Advanced Configuration (TESTED ✅)\n    // ----------------------------------------------------------------------------\n    // Fault with node selector, labels, and annotations\n    var advancedFault = new Harness.Chaos.FaultTemplate(\"advanced_fault\", new()\n    {\n        OrgId = @this.Id,\n        ProjectId = thisHarnessPlatformProject.Id,\n        HubIdentity = projectLevel.Identity,\n        Identity = \"advanced-fault-template\",\n        Name = \"Advanced Fault Template\",\n        Description = \"Fault with advanced Kubernetes configuration\",\n        Categories = new[]\n        {\n            \"Kubernetes\",\n        },\n        Infrastructures = new[]\n        {\n            \"KubernetesV2\",\n        },\n        Type = \"Custom\",\n        PermissionsRequired = \"Basic\",\n        Tags = new[]\n        {\n            \"kubernetes\",\n            \"advanced\",\n            \"production\",\n        },\n        Links = new[]\n        {\n            new Harness.Chaos.Inputs.FaultTemplateLinkArgs\n            {\n                Name = \"Documentation\",\n                Url = \"https://docs.harness.io/chaos\",\n            },\n            new Harness.Chaos.Inputs.FaultTemplateLinkArgs\n            {\n                Name = \"Support\",\n                Url = \"https://support.harness.io\",\n            },\n        },\n        Spec = new Harness.Chaos.Inputs.FaultTemplateSpecArgs\n        {\n            Chaos = new Harness.Chaos.Inputs.FaultTemplateSpecChaosArgs\n            {\n                FaultName = \"byoc-injector\",\n                Params = new[]\n                {\n                    new Harness.Chaos.Inputs.FaultTemplateSpecChaosParamArgs\n                    {\n                        Name = \"CHAOS_DURATION\",\n                        Value = \"\u003c+input\u003e.default('30s')\",\n                    },\n                    new Harness.Chaos.Inputs.FaultTemplateSpecChaosParamArgs\n                    {\n                        Name = \"CHAOS_INTERVAL\",\n                        Value = \"\u003c+input\u003e.default('5s')\",\n                    },\n                },\n                Kubernetes = new Harness.Chaos.Inputs.FaultTemplateSpecChaosKubernetesArgs\n                {\n                    Image = \"chaosnative/go-runner:ci\",\n                    Commands = new[]\n                    {\n                        \"/bin/bash\",\n                        \"-c\",\n                    },\n                    Args = new[]\n                    {\n                        \"echo 'Advanced chaos fault'; sleep 30\",\n                    },\n                    ImagePullPolicy = \"IfNotPresent\",\n                    NodeSelector = \n                    {\n                        { \"disktype\", \"ssd\" },\n                        { \"zone\", \"us-west-1a\" },\n                    },\n                    Labels = \n                    {\n                        { \"app\", \"chaos-fault\" },\n                        { \"environment\", \"production\" },\n                        { \"managed-by\", \"terraform\" },\n                    },\n                    Annotations = \n                    {\n                        { \"description\", \"Advanced chaos fault\" },\n                        { \"owner\", \"chaos-team\" },\n                    },\n                    Resources = new Harness.Chaos.Inputs.FaultTemplateSpecChaosKubernetesResourcesArgs\n                    {\n                        Limits = \n                        {\n                            { \"cpu\", \"250m\" },\n                            { \"memory\", \"256Mi\" },\n                        },\n                        Requests = \n                        {\n                            { \"cpu\", \"125m\" },\n                            { \"memory\", \"128Mi\" },\n                        },\n                    },\n                },\n            },\n        },\n        Variables = new[]\n        {\n            new Harness.Chaos.Inputs.FaultTemplateVariableArgs\n            {\n                Name = \"chaos_duration\",\n                Value = \"\u003c+input\u003e\",\n                Type = \"string\",\n                Required = true,\n                Description = \"Duration of chaos injection\",\n            },\n            new Harness.Chaos.Inputs.FaultTemplateVariableArgs\n            {\n                Name = \"chaos_interval\",\n                Value = \"\u003c+input\u003e\",\n                Type = \"string\",\n                Required = false,\n                Description = \"Interval between chaos injections\",\n            },\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            projectLevel,\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// ============================================================================\n\t\t// Harness Chaos Fault Template Resource Examples\n\t\t// ============================================================================\n\t\t//\n\t\t// Fault templates define reusable chaos faults for experiments.\n\t\t// These examples are based on TESTED configurations from the e2e-test suite.\n\t\t//\n\t\t// Key Points:\n\t\t// - Faults inject failures into systems (pod delete, network latency, etc.)\n\t\t// - Type is usually \"Custom\" for custom faults\n\t\t// - Category and infrastructures define where fault can run\n\t\t// ============================================================================\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 1: Basic Kubernetes Fault (TESTED ✅)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Most common pattern: Custom Kubernetes fault with container spec\n\t\t_, err := chaos.NewFaultTemplate(ctx, \"kubernetes_fault\", \u0026chaos.FaultTemplateArgs{\n\t\t\tOrgId:       pulumi.Any(this.Id),\n\t\t\tProjectId:   pulumi.Any(thisHarnessPlatformProject.Id),\n\t\t\tHubIdentity: pulumi.Any(projectLevel.Identity),\n\t\t\tIdentity:    pulumi.String(\"k8s-fault-template\"),\n\t\t\tName:        pulumi.String(\"Kubernetes Fault Template\"),\n\t\t\tDescription: pulumi.String(\"Custom Kubernetes fault for chaos injection\"),\n\t\t\tCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Kubernetes\"),\n\t\t\t},\n\t\t\tInfrastructures: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KubernetesV2\"),\n\t\t\t},\n\t\t\tType:                pulumi.String(\"Custom\"),\n\t\t\tPermissionsRequired: pulumi.String(\"Basic\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"kubernetes\"),\n\t\t\t\tpulumi.String(\"fault\"),\n\t\t\t\tpulumi.String(\"custom\"),\n\t\t\t},\n\t\t\tLinks: chaos.FaultTemplateLinkArray{\n\t\t\t\t\u0026chaos.FaultTemplateLinkArgs{\n\t\t\t\t\tName: pulumi.String(\"Documentation\"),\n\t\t\t\t\tUrl:  pulumi.String(\"https://docs.harness.io/chaos\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSpec: \u0026chaos.FaultTemplateSpecArgs{\n\t\t\t\tChaos: \u0026chaos.FaultTemplateSpecChaosArgs{\n\t\t\t\t\tFaultName: pulumi.String(\"byoc-injector\"),\n\t\t\t\t\tParams: chaos.FaultTemplateSpecChaosParamArray{\n\t\t\t\t\t\t\u0026chaos.FaultTemplateSpecChaosParamArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"CHAOS_DURATION\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"30s\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026chaos.FaultTemplateSpecChaosParamArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"CHAOS_INTERVAL\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"5s\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tKubernetes: \u0026chaos.FaultTemplateSpecChaosKubernetesArgs{\n\t\t\t\t\t\tImage: pulumi.String(\"chaosnative/go-runner:ci\"),\n\t\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/bin/bash\"),\n\t\t\t\t\t\t\tpulumi.String(\"-c\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"echo 'Running chaos fault'; sleep 30\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tImagePullPolicy: pulumi.String(\"IfNotPresent\"),\n\t\t\t\t\t\tResources: \u0026chaos.FaultTemplateSpecChaosKubernetesResourcesArgs{\n\t\t\t\t\t\t\tLimits: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"cpu\":    pulumi.String(\"150m\"),\n\t\t\t\t\t\t\t\t\"memory\": pulumi.String(\"150Mi\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRequests: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"cpu\":    pulumi.String(\"100m\"),\n\t\t\t\t\t\t\t\t\"memory\": pulumi.String(\"100Mi\"),\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}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprojectLevel,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 2: Fault with Environment Variables (TESTED ✅)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Fault with environment variables for configuration\n\t\t_, err = chaos.NewFaultTemplate(ctx, \"fault_with_env\", \u0026chaos.FaultTemplateArgs{\n\t\t\tOrgId:       pulumi.Any(this.Id),\n\t\t\tProjectId:   pulumi.Any(thisHarnessPlatformProject.Id),\n\t\t\tHubIdentity: pulumi.Any(projectLevel.Identity),\n\t\t\tIdentity:    pulumi.String(\"fault-with-env-template\"),\n\t\t\tName:        pulumi.String(\"Fault with Environment Variables\"),\n\t\t\tDescription: pulumi.String(\"Fault template with environment configuration\"),\n\t\t\tCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Kubernetes\"),\n\t\t\t},\n\t\t\tInfrastructures: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KubernetesV2\"),\n\t\t\t},\n\t\t\tType:                pulumi.String(\"Custom\"),\n\t\t\tPermissionsRequired: pulumi.String(\"Basic\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"kubernetes\"),\n\t\t\t\tpulumi.String(\"env\"),\n\t\t\t\tpulumi.String(\"config\"),\n\t\t\t},\n\t\t\tLinks: chaos.FaultTemplateLinkArray{\n\t\t\t\t\u0026chaos.FaultTemplateLinkArgs{\n\t\t\t\t\tName: pulumi.String(\"Documentation\"),\n\t\t\t\t\tUrl:  pulumi.String(\"https://docs.harness.io/chaos\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSpec: \u0026chaos.FaultTemplateSpecArgs{\n\t\t\t\tChaos: \u0026chaos.FaultTemplateSpecChaosArgs{\n\t\t\t\t\tFaultName: pulumi.String(\"byoc-injector\"),\n\t\t\t\t\tParams: chaos.FaultTemplateSpecChaosParamArray{\n\t\t\t\t\t\t\u0026chaos.FaultTemplateSpecChaosParamArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"CHAOS_DURATION\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"15s\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026chaos.FaultTemplateSpecChaosParamArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"CHAOS_INTERVAL\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"3s\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026chaos.FaultTemplateSpecChaosParamArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_NAMESPACE\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('default')\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tKubernetes: \u0026chaos.FaultTemplateSpecChaosKubernetesArgs{\n\t\t\t\t\t\tImage: pulumi.String(\"chaosnative/go-runner:ci\"),\n\t\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/bin/bash\"),\n\t\t\t\t\t\t\tpulumi.String(\"-c\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"echo 'Fault with env vars'; sleep 15\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tImagePullPolicy: pulumi.String(\"IfNotPresent\"),\n\t\t\t\t\t\tEnvs: chaos.FaultTemplateSpecChaosKubernetesEnvArray{\n\t\t\t\t\t\t\t\u0026chaos.FaultTemplateSpecChaosKubernetesEnvArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"TARGET_NAMESPACE\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('default')\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\u0026chaos.FaultTemplateSpecChaosKubernetesEnvArgs{\n\t\t\t\t\t\t\t\tName:  pulumi.String(\"CHAOS_MODE\"),\n\t\t\t\t\t\t\t\tValue: pulumi.String(\"pod\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t},\n\t\t\t\t\t\tResources: \u0026chaos.FaultTemplateSpecChaosKubernetesResourcesArgs{\n\t\t\t\t\t\t\tLimits: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"cpu\":    pulumi.String(\"200m\"),\n\t\t\t\t\t\t\t\t\"memory\": pulumi.String(\"200Mi\"),\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\tVariables: chaos.FaultTemplateVariableArray{\n\t\t\t\t\u0026chaos.FaultTemplateVariableArgs{\n\t\t\t\t\tName:        pulumi.String(\"target_namespace\"),\n\t\t\t\t\tValue:       pulumi.String(\"\u003c+input\u003e\"),\n\t\t\t\t\tType:        pulumi.String(\"string\"),\n\t\t\t\t\tRequired:    pulumi.Bool(false),\n\t\t\t\t\tDescription: pulumi.String(\"Target namespace for chaos injection\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprojectLevel,\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 3: Fault with Advanced Configuration (TESTED ✅)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Fault with node selector, labels, and annotations\n\t\t_, err = chaos.NewFaultTemplate(ctx, \"advanced_fault\", \u0026chaos.FaultTemplateArgs{\n\t\t\tOrgId:       pulumi.Any(this.Id),\n\t\t\tProjectId:   pulumi.Any(thisHarnessPlatformProject.Id),\n\t\t\tHubIdentity: pulumi.Any(projectLevel.Identity),\n\t\t\tIdentity:    pulumi.String(\"advanced-fault-template\"),\n\t\t\tName:        pulumi.String(\"Advanced Fault Template\"),\n\t\t\tDescription: pulumi.String(\"Fault with advanced Kubernetes configuration\"),\n\t\t\tCategories: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"Kubernetes\"),\n\t\t\t},\n\t\t\tInfrastructures: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"KubernetesV2\"),\n\t\t\t},\n\t\t\tType:                pulumi.String(\"Custom\"),\n\t\t\tPermissionsRequired: pulumi.String(\"Basic\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"kubernetes\"),\n\t\t\t\tpulumi.String(\"advanced\"),\n\t\t\t\tpulumi.String(\"production\"),\n\t\t\t},\n\t\t\tLinks: chaos.FaultTemplateLinkArray{\n\t\t\t\t\u0026chaos.FaultTemplateLinkArgs{\n\t\t\t\t\tName: pulumi.String(\"Documentation\"),\n\t\t\t\t\tUrl:  pulumi.String(\"https://docs.harness.io/chaos\"),\n\t\t\t\t},\n\t\t\t\t\u0026chaos.FaultTemplateLinkArgs{\n\t\t\t\t\tName: pulumi.String(\"Support\"),\n\t\t\t\t\tUrl:  pulumi.String(\"https://support.harness.io\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tSpec: \u0026chaos.FaultTemplateSpecArgs{\n\t\t\t\tChaos: \u0026chaos.FaultTemplateSpecChaosArgs{\n\t\t\t\t\tFaultName: pulumi.String(\"byoc-injector\"),\n\t\t\t\t\tParams: chaos.FaultTemplateSpecChaosParamArray{\n\t\t\t\t\t\t\u0026chaos.FaultTemplateSpecChaosParamArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"CHAOS_DURATION\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('30s')\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\t\u0026chaos.FaultTemplateSpecChaosParamArgs{\n\t\t\t\t\t\t\tName:  pulumi.String(\"CHAOS_INTERVAL\"),\n\t\t\t\t\t\t\tValue: pulumi.String(\"\u003c+input\u003e.default('5s')\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t},\n\t\t\t\t\tKubernetes: \u0026chaos.FaultTemplateSpecChaosKubernetesArgs{\n\t\t\t\t\t\tImage: pulumi.String(\"chaosnative/go-runner:ci\"),\n\t\t\t\t\t\tCommands: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"/bin/bash\"),\n\t\t\t\t\t\t\tpulumi.String(\"-c\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tArgs: pulumi.StringArray{\n\t\t\t\t\t\t\tpulumi.String(\"echo 'Advanced chaos fault'; sleep 30\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tImagePullPolicy: pulumi.String(\"IfNotPresent\"),\n\t\t\t\t\t\tNodeSelector: pulumi.StringMap{\n\t\t\t\t\t\t\t\"disktype\": pulumi.String(\"ssd\"),\n\t\t\t\t\t\t\t\"zone\":     pulumi.String(\"us-west-1a\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tLabels: pulumi.StringMap{\n\t\t\t\t\t\t\t\"app\":         pulumi.String(\"chaos-fault\"),\n\t\t\t\t\t\t\t\"environment\": pulumi.String(\"production\"),\n\t\t\t\t\t\t\t\"managed-by\":  pulumi.String(\"terraform\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tAnnotations: pulumi.StringMap{\n\t\t\t\t\t\t\t\"description\": pulumi.String(\"Advanced chaos fault\"),\n\t\t\t\t\t\t\t\"owner\":       pulumi.String(\"chaos-team\"),\n\t\t\t\t\t\t},\n\t\t\t\t\t\tResources: \u0026chaos.FaultTemplateSpecChaosKubernetesResourcesArgs{\n\t\t\t\t\t\t\tLimits: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"cpu\":    pulumi.String(\"250m\"),\n\t\t\t\t\t\t\t\t\"memory\": pulumi.String(\"256Mi\"),\n\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\tRequests: pulumi.StringMap{\n\t\t\t\t\t\t\t\t\"cpu\":    pulumi.String(\"125m\"),\n\t\t\t\t\t\t\t\t\"memory\": pulumi.String(\"128Mi\"),\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\tVariables: chaos.FaultTemplateVariableArray{\n\t\t\t\t\u0026chaos.FaultTemplateVariableArgs{\n\t\t\t\t\tName:        pulumi.String(\"chaos_duration\"),\n\t\t\t\t\tValue:       pulumi.String(\"\u003c+input\u003e\"),\n\t\t\t\t\tType:        pulumi.String(\"string\"),\n\t\t\t\t\tRequired:    pulumi.Bool(true),\n\t\t\t\t\tDescription: pulumi.String(\"Duration of chaos injection\"),\n\t\t\t\t},\n\t\t\t\t\u0026chaos.FaultTemplateVariableArgs{\n\t\t\t\t\tName:        pulumi.String(\"chaos_interval\"),\n\t\t\t\t\tValue:       pulumi.String(\"\u003c+input\u003e\"),\n\t\t\t\t\tType:        pulumi.String(\"string\"),\n\t\t\t\t\tRequired:    pulumi.Bool(false),\n\t\t\t\t\tDescription: pulumi.String(\"Interval between chaos injections\"),\n\t\t\t\t},\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tprojectLevel,\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# ============================================================================\n# Harness Chaos Fault Template Resource Examples\n# ============================================================================\n#\n# Fault templates define reusable chaos faults for experiments.\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Faults inject failures into systems (pod delete, network latency, etc.)\n# - Type is usually \"Custom\" for custom faults\n# - Category and infrastructures define where fault can run\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: Basic Kubernetes Fault (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Most common pattern: Custom Kubernetes fault with container spec\nresource \"harness_chaos_faulttemplate\" \"kubernetes_fault\" {\n  depends_on           = [projectLevel]\n  org_id               = this.id\n  project_id           = thisHarnessPlatformProject.id\n  hub_identity         = projectLevel.identity\n  identity             = \"k8s-fault-template\"\n  name                 = \"Kubernetes Fault Template\"\n  description          = \"Custom Kubernetes fault for chaos injection\"\n  categories           = [\"Kubernetes\"]\n  infrastructures      = [\"KubernetesV2\"]\n  type                 = \"Custom\"\n  permissions_required = \"Basic\"\n  tags                 = [\"kubernetes\", \"fault\", \"custom\"]\n  links {\n    name = \"Documentation\"\n    url  = \"https://docs.harness.io/chaos\"\n  }\n  spec = {\n    chaos = {\n      fault_name = \"byoc-injector\"\n      params = [{\n        \"name\"  = \"CHAOS_DURATION\"\n        \"value\" = \"30s\"\n        }, {\n        \"name\"  = \"CHAOS_INTERVAL\"\n        \"value\" = \"5s\"\n      }]\n      kubernetes = {\n        image             = \"chaosnative/go-runner:ci\"\n        commands          = [\"/bin/bash\", \"-c\"]\n        args              = [\"echo 'Running chaos fault'; sleep 30\"]\n        image_pull_policy = \"IfNotPresent\"\n        resources = {\n          limits = {\n            \"cpu\"    = \"150m\"\n            \"memory\" = \"150Mi\"\n          }\n          requests = {\n            \"cpu\"    = \"100m\"\n            \"memory\" = \"100Mi\"\n          }\n        }\n      }\n    }\n  }\n}\n# ----------------------------------------------------------------------------\n# Example 2: Fault with Environment Variables (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Fault with environment variables for configuration\nresource \"harness_chaos_faulttemplate\" \"fault_with_env\" {\n  depends_on           = [projectLevel]\n  org_id               = this.id\n  project_id           = thisHarnessPlatformProject.id\n  hub_identity         = projectLevel.identity\n  identity             = \"fault-with-env-template\"\n  name                 = \"Fault with Environment Variables\"\n  description          = \"Fault template with environment configuration\"\n  categories           = [\"Kubernetes\"]\n  infrastructures      = [\"KubernetesV2\"]\n  type                 = \"Custom\"\n  permissions_required = \"Basic\"\n  tags                 = [\"kubernetes\", \"env\", \"config\"]\n  links {\n    name = \"Documentation\"\n    url  = \"https://docs.harness.io/chaos\"\n  }\n  spec = {\n    chaos = {\n      fault_name = \"byoc-injector\"\n      params = [{\n        \"name\"  = \"CHAOS_DURATION\"\n        \"value\" = \"15s\"\n        }, {\n        \"name\"  = \"CHAOS_INTERVAL\"\n        \"value\" = \"3s\"\n        }, {\n        \"name\"  = \"TARGET_NAMESPACE\"\n        \"value\" = \"\u003c+input\u003e.default('default')\"\n      }]\n      kubernetes = {\n        image             = \"chaosnative/go-runner:ci\"\n        commands          = [\"/bin/bash\", \"-c\"]\n        args              = [\"echo 'Fault with env vars'; sleep 15\"]\n        image_pull_policy = \"IfNotPresent\"\n        envs = [{\n          \"name\"  = \"TARGET_NAMESPACE\"\n          \"value\" = \"\u003c+input\u003e.default('default')\"\n          }, {\n          \"name\"  = \"CHAOS_MODE\"\n          \"value\" = \"pod\"\n        }]\n        resources = {\n          limits = {\n            \"cpu\"    = \"200m\"\n            \"memory\" = \"200Mi\"\n          }\n        }\n      }\n    }\n  }\n  variables {\n    name        = \"target_namespace\"\n    value       = \"\u003c+input\u003e\"\n    type        = \"string\"\n    required    = false\n    description = \"Target namespace for chaos injection\"\n  }\n}\n# ----------------------------------------------------------------------------\n# Example 3: Fault with Advanced Configuration (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Fault with node selector, labels, and annotations\nresource \"harness_chaos_faulttemplate\" \"advanced_fault\" {\n  depends_on           = [projectLevel]\n  org_id               = this.id\n  project_id           = thisHarnessPlatformProject.id\n  hub_identity         = projectLevel.identity\n  identity             = \"advanced-fault-template\"\n  name                 = \"Advanced Fault Template\"\n  description          = \"Fault with advanced Kubernetes configuration\"\n  categories           = [\"Kubernetes\"]\n  infrastructures      = [\"KubernetesV2\"]\n  type                 = \"Custom\"\n  permissions_required = \"Basic\"\n  tags                 = [\"kubernetes\", \"advanced\", \"production\"]\n  links {\n    name = \"Documentation\"\n    url  = \"https://docs.harness.io/chaos\"\n  }\n  links {\n    name = \"Support\"\n    url  = \"https://support.harness.io\"\n  }\n  spec = {\n    chaos = {\n      fault_name = \"byoc-injector\"\n      params = [{\n        \"name\"  = \"CHAOS_DURATION\"\n        \"value\" = \"\u003c+input\u003e.default('30s')\"\n        }, {\n        \"name\"  = \"CHAOS_INTERVAL\"\n        \"value\" = \"\u003c+input\u003e.default('5s')\"\n      }]\n      kubernetes = {\n        image             = \"chaosnative/go-runner:ci\"\n        commands          = [\"/bin/bash\", \"-c\"]\n        args              = [\"echo 'Advanced chaos fault'; sleep 30\"]\n        image_pull_policy = \"IfNotPresent\"\n        node_selector = {\n          \"disktype\" = \"ssd\"\n          \"zone\"     = \"us-west-1a\"\n        }\n        labels = {\n          \"app\"         = \"chaos-fault\"\n          \"environment\" = \"production\"\n          \"managed-by\"  = \"terraform\"\n        }\n        annotations = {\n          \"description\" = \"Advanced chaos fault\"\n          \"owner\"       = \"chaos-team\"\n        }\n        resources = {\n          limits = {\n            \"cpu\"    = \"250m\"\n            \"memory\" = \"256Mi\"\n          }\n          requests = {\n            \"cpu\"    = \"125m\"\n            \"memory\" = \"128Mi\"\n          }\n        }\n      }\n    }\n  }\n  variables {\n    name        = \"chaos_duration\"\n    value       = \"\u003c+input\u003e\"\n    type        = \"string\"\n    required    = true\n    description = \"Duration of chaos injection\"\n  }\n  variables {\n    name        = \"chaos_interval\"\n    value       = \"\u003c+input\u003e\"\n    type        = \"string\"\n    required    = false\n    description = \"Interval between chaos injections\"\n  }\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.FaultTemplate;\nimport com.pulumi.harness.chaos.FaultTemplateArgs;\nimport com.pulumi.harness.chaos.inputs.FaultTemplateLinkArgs;\nimport com.pulumi.harness.chaos.inputs.FaultTemplateSpecArgs;\nimport com.pulumi.harness.chaos.inputs.FaultTemplateSpecChaosArgs;\nimport com.pulumi.harness.chaos.inputs.FaultTemplateSpecChaosParamArgs;\nimport com.pulumi.harness.chaos.inputs.FaultTemplateSpecChaosKubernetesArgs;\nimport com.pulumi.harness.chaos.inputs.FaultTemplateSpecChaosKubernetesResourcesArgs;\nimport com.pulumi.harness.chaos.inputs.FaultTemplateSpecChaosKubernetesEnvArgs;\nimport com.pulumi.harness.chaos.inputs.FaultTemplateVariableArgs;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Harness Chaos Fault Template Resource Examples\n        // ============================================================================\n        //\n        // Fault templates define reusable chaos faults for experiments.\n        // These examples are based on TESTED configurations from the e2e-test suite.\n        //\n        // Key Points:\n        // - Faults inject failures into systems (pod delete, network latency, etc.)\n        // - Type is usually \"Custom\" for custom faults\n        // - Category and infrastructures define where fault can run\n        // ============================================================================\n        // ----------------------------------------------------------------------------\n        // Example 1: Basic Kubernetes Fault (TESTED ✅)\n        // ----------------------------------------------------------------------------\n        // Most common pattern: Custom Kubernetes fault with container spec\n        var kubernetesFault = new FaultTemplate(\"kubernetesFault\", FaultTemplateArgs.builder()\n            .orgId(this_.id())\n            .projectId(thisHarnessPlatformProject.id())\n            .hubIdentity(projectLevel.identity())\n            .identity(\"k8s-fault-template\")\n            .name(\"Kubernetes Fault Template\")\n            .description(\"Custom Kubernetes fault for chaos injection\")\n            .categories(\"Kubernetes\")\n            .infrastructures(\"KubernetesV2\")\n            .type(\"Custom\")\n            .permissionsRequired(\"Basic\")\n            .tags(            \n                \"kubernetes\",\n                \"fault\",\n                \"custom\")\n            .links(FaultTemplateLinkArgs.builder()\n                .name(\"Documentation\")\n                .url(\"https://docs.harness.io/chaos\")\n                .build())\n            .spec(FaultTemplateSpecArgs.builder()\n                .chaos(FaultTemplateSpecChaosArgs.builder()\n                    .faultName(\"byoc-injector\")\n                    .params(                    \n                        FaultTemplateSpecChaosParamArgs.builder()\n                            .name(\"CHAOS_DURATION\")\n                            .value(\"30s\")\n                            .build(),\n                        FaultTemplateSpecChaosParamArgs.builder()\n                            .name(\"CHAOS_INTERVAL\")\n                            .value(\"5s\")\n                            .build())\n                    .kubernetes(FaultTemplateSpecChaosKubernetesArgs.builder()\n                        .image(\"chaosnative/go-runner:ci\")\n                        .commands(                        \n                            \"/bin/bash\",\n                            \"-c\")\n                        .args(\"echo 'Running chaos fault'; sleep 30\")\n                        .imagePullPolicy(\"IfNotPresent\")\n                        .resources(FaultTemplateSpecChaosKubernetesResourcesArgs.builder()\n                            .limits(Map.ofEntries(\n                                Map.entry(\"cpu\", \"150m\"),\n                                Map.entry(\"memory\", \"150Mi\")\n                            ))\n                            .requests(Map.ofEntries(\n                                Map.entry(\"cpu\", \"100m\"),\n                                Map.entry(\"memory\", \"100Mi\")\n                            ))\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(projectLevel)\n                .build());\n\n        // ----------------------------------------------------------------------------\n        // Example 2: Fault with Environment Variables (TESTED ✅)\n        // ----------------------------------------------------------------------------\n        // Fault with environment variables for configuration\n        var faultWithEnv = new FaultTemplate(\"faultWithEnv\", FaultTemplateArgs.builder()\n            .orgId(this_.id())\n            .projectId(thisHarnessPlatformProject.id())\n            .hubIdentity(projectLevel.identity())\n            .identity(\"fault-with-env-template\")\n            .name(\"Fault with Environment Variables\")\n            .description(\"Fault template with environment configuration\")\n            .categories(\"Kubernetes\")\n            .infrastructures(\"KubernetesV2\")\n            .type(\"Custom\")\n            .permissionsRequired(\"Basic\")\n            .tags(            \n                \"kubernetes\",\n                \"env\",\n                \"config\")\n            .links(FaultTemplateLinkArgs.builder()\n                .name(\"Documentation\")\n                .url(\"https://docs.harness.io/chaos\")\n                .build())\n            .spec(FaultTemplateSpecArgs.builder()\n                .chaos(FaultTemplateSpecChaosArgs.builder()\n                    .faultName(\"byoc-injector\")\n                    .params(                    \n                        FaultTemplateSpecChaosParamArgs.builder()\n                            .name(\"CHAOS_DURATION\")\n                            .value(\"15s\")\n                            .build(),\n                        FaultTemplateSpecChaosParamArgs.builder()\n                            .name(\"CHAOS_INTERVAL\")\n                            .value(\"3s\")\n                            .build(),\n                        FaultTemplateSpecChaosParamArgs.builder()\n                            .name(\"TARGET_NAMESPACE\")\n                            .value(\"\u003c+input\u003e.default('default')\")\n                            .build())\n                    .kubernetes(FaultTemplateSpecChaosKubernetesArgs.builder()\n                        .image(\"chaosnative/go-runner:ci\")\n                        .commands(                        \n                            \"/bin/bash\",\n                            \"-c\")\n                        .args(\"echo 'Fault with env vars'; sleep 15\")\n                        .imagePullPolicy(\"IfNotPresent\")\n                        .envs(                        \n                            FaultTemplateSpecChaosKubernetesEnvArgs.builder()\n                                .name(\"TARGET_NAMESPACE\")\n                                .value(\"\u003c+input\u003e.default('default')\")\n                                .build(),\n                            FaultTemplateSpecChaosKubernetesEnvArgs.builder()\n                                .name(\"CHAOS_MODE\")\n                                .value(\"pod\")\n                                .build())\n                        .resources(FaultTemplateSpecChaosKubernetesResourcesArgs.builder()\n                            .limits(Map.ofEntries(\n                                Map.entry(\"cpu\", \"200m\"),\n                                Map.entry(\"memory\", \"200Mi\")\n                            ))\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .variables(FaultTemplateVariableArgs.builder()\n                .name(\"target_namespace\")\n                .value(\"\u003c+input\u003e\")\n                .type(\"string\")\n                .required(false)\n                .description(\"Target namespace for chaos injection\")\n                .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(projectLevel)\n                .build());\n\n        // ----------------------------------------------------------------------------\n        // Example 3: Fault with Advanced Configuration (TESTED ✅)\n        // ----------------------------------------------------------------------------\n        // Fault with node selector, labels, and annotations\n        var advancedFault = new FaultTemplate(\"advancedFault\", FaultTemplateArgs.builder()\n            .orgId(this_.id())\n            .projectId(thisHarnessPlatformProject.id())\n            .hubIdentity(projectLevel.identity())\n            .identity(\"advanced-fault-template\")\n            .name(\"Advanced Fault Template\")\n            .description(\"Fault with advanced Kubernetes configuration\")\n            .categories(\"Kubernetes\")\n            .infrastructures(\"KubernetesV2\")\n            .type(\"Custom\")\n            .permissionsRequired(\"Basic\")\n            .tags(            \n                \"kubernetes\",\n                \"advanced\",\n                \"production\")\n            .links(            \n                FaultTemplateLinkArgs.builder()\n                    .name(\"Documentation\")\n                    .url(\"https://docs.harness.io/chaos\")\n                    .build(),\n                FaultTemplateLinkArgs.builder()\n                    .name(\"Support\")\n                    .url(\"https://support.harness.io\")\n                    .build())\n            .spec(FaultTemplateSpecArgs.builder()\n                .chaos(FaultTemplateSpecChaosArgs.builder()\n                    .faultName(\"byoc-injector\")\n                    .params(                    \n                        FaultTemplateSpecChaosParamArgs.builder()\n                            .name(\"CHAOS_DURATION\")\n                            .value(\"\u003c+input\u003e.default('30s')\")\n                            .build(),\n                        FaultTemplateSpecChaosParamArgs.builder()\n                            .name(\"CHAOS_INTERVAL\")\n                            .value(\"\u003c+input\u003e.default('5s')\")\n                            .build())\n                    .kubernetes(FaultTemplateSpecChaosKubernetesArgs.builder()\n                        .image(\"chaosnative/go-runner:ci\")\n                        .commands(                        \n                            \"/bin/bash\",\n                            \"-c\")\n                        .args(\"echo 'Advanced chaos fault'; sleep 30\")\n                        .imagePullPolicy(\"IfNotPresent\")\n                        .nodeSelector(Map.ofEntries(\n                            Map.entry(\"disktype\", \"ssd\"),\n                            Map.entry(\"zone\", \"us-west-1a\")\n                        ))\n                        .labels(Map.ofEntries(\n                            Map.entry(\"app\", \"chaos-fault\"),\n                            Map.entry(\"environment\", \"production\"),\n                            Map.entry(\"managed-by\", \"terraform\")\n                        ))\n                        .annotations(Map.ofEntries(\n                            Map.entry(\"description\", \"Advanced chaos fault\"),\n                            Map.entry(\"owner\", \"chaos-team\")\n                        ))\n                        .resources(FaultTemplateSpecChaosKubernetesResourcesArgs.builder()\n                            .limits(Map.ofEntries(\n                                Map.entry(\"cpu\", \"250m\"),\n                                Map.entry(\"memory\", \"256Mi\")\n                            ))\n                            .requests(Map.ofEntries(\n                                Map.entry(\"cpu\", \"125m\"),\n                                Map.entry(\"memory\", \"128Mi\")\n                            ))\n                            .build())\n                        .build())\n                    .build())\n                .build())\n            .variables(            \n                FaultTemplateVariableArgs.builder()\n                    .name(\"chaos_duration\")\n                    .value(\"\u003c+input\u003e\")\n                    .type(\"string\")\n                    .required(true)\n                    .description(\"Duration of chaos injection\")\n                    .build(),\n                FaultTemplateVariableArgs.builder()\n                    .name(\"chaos_interval\")\n                    .value(\"\u003c+input\u003e\")\n                    .type(\"string\")\n                    .required(false)\n                    .description(\"Interval between chaos injections\")\n                    .build())\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(projectLevel)\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ============================================================================\n  # Harness Chaos Fault Template Resource Examples\n  # ============================================================================\n  #\n  # Fault templates define reusable chaos faults for experiments.\n  # These examples are based on TESTED configurations from the e2e-test suite.\n  #\n  # Key Points:\n  # - Faults inject failures into systems (pod delete, network latency, etc.)\n  # - Type is usually \"Custom\" for custom faults\n  # - Category and infrastructures define where fault can run\n  # ============================================================================\n\n  # ----------------------------------------------------------------------------\n  # Example 1: Basic Kubernetes Fault (TESTED ✅)\n  # ----------------------------------------------------------------------------\n  # Most common pattern: Custom Kubernetes fault with container spec\n  kubernetesFault:\n    type: harness:chaos:FaultTemplate\n    name: kubernetes_fault\n    properties:\n      orgId: ${this.id}\n      projectId: ${thisHarnessPlatformProject.id}\n      hubIdentity: ${projectLevel.identity}\n      identity: k8s-fault-template\n      name: Kubernetes Fault Template\n      description: Custom Kubernetes fault for chaos injection\n      categories:\n        - Kubernetes\n      infrastructures:\n        - KubernetesV2\n      type: Custom\n      permissionsRequired: Basic\n      tags:\n        - kubernetes\n        - fault\n        - custom\n      links:\n        - name: Documentation\n          url: https://docs.harness.io/chaos\n      spec:\n        chaos:\n          faultName: byoc-injector\n          params:\n            - name: CHAOS_DURATION\n              value: 30s\n            - name: CHAOS_INTERVAL\n              value: 5s\n          kubernetes:\n            image: chaosnative/go-runner:ci\n            commands:\n              - /bin/bash\n              - -c\n            args:\n              - echo 'Running chaos fault'; sleep 30\n            imagePullPolicy: IfNotPresent\n            resources:\n              limits:\n                cpu: 150m\n                memory: 150Mi\n              requests:\n                cpu: 100m\n                memory: 100Mi\n    options:\n      dependsOn:\n        - ${projectLevel}\n  # ----------------------------------------------------------------------------\n  # Example 2: Fault with Environment Variables (TESTED ✅)\n  # ----------------------------------------------------------------------------\n  # Fault with environment variables for configuration\n  faultWithEnv:\n    type: harness:chaos:FaultTemplate\n    name: fault_with_env\n    properties:\n      orgId: ${this.id}\n      projectId: ${thisHarnessPlatformProject.id}\n      hubIdentity: ${projectLevel.identity}\n      identity: fault-with-env-template\n      name: Fault with Environment Variables\n      description: Fault template with environment configuration\n      categories:\n        - Kubernetes\n      infrastructures:\n        - KubernetesV2\n      type: Custom\n      permissionsRequired: Basic\n      tags:\n        - kubernetes\n        - env\n        - config\n      links:\n        - name: Documentation\n          url: https://docs.harness.io/chaos\n      spec:\n        chaos:\n          faultName: byoc-injector\n          params:\n            - name: CHAOS_DURATION\n              value: 15s\n            - name: CHAOS_INTERVAL\n              value: 3s\n            - name: TARGET_NAMESPACE\n              value: \u003c+input\u003e.default('default')\n          kubernetes:\n            image: chaosnative/go-runner:ci\n            commands:\n              - /bin/bash\n              - -c\n            args:\n              - echo 'Fault with env vars'; sleep 15\n            imagePullPolicy: IfNotPresent\n            envs:\n              - name: TARGET_NAMESPACE\n                value: \u003c+input\u003e.default('default')\n              - name: CHAOS_MODE\n                value: pod\n            resources:\n              limits:\n                cpu: 200m\n                memory: 200Mi\n      variables:\n        - name: target_namespace\n          value: \u003c+input\u003e\n          type: string\n          required: false\n          description: Target namespace for chaos injection\n    options:\n      dependsOn:\n        - ${projectLevel}\n  # ----------------------------------------------------------------------------\n  # Example 3: Fault with Advanced Configuration (TESTED ✅)\n  # ----------------------------------------------------------------------------\n  # Fault with node selector, labels, and annotations\n  advancedFault:\n    type: harness:chaos:FaultTemplate\n    name: advanced_fault\n    properties:\n      orgId: ${this.id}\n      projectId: ${thisHarnessPlatformProject.id}\n      hubIdentity: ${projectLevel.identity}\n      identity: advanced-fault-template\n      name: Advanced Fault Template\n      description: Fault with advanced Kubernetes configuration\n      categories:\n        - Kubernetes\n      infrastructures:\n        - KubernetesV2\n      type: Custom\n      permissionsRequired: Basic\n      tags:\n        - kubernetes\n        - advanced\n        - production\n      links:\n        - name: Documentation\n          url: https://docs.harness.io/chaos\n        - name: Support\n          url: https://support.harness.io\n      spec:\n        chaos:\n          faultName: byoc-injector\n          params:\n            - name: CHAOS_DURATION\n              value: \u003c+input\u003e.default('30s')\n            - name: CHAOS_INTERVAL\n              value: \u003c+input\u003e.default('5s')\n          kubernetes:\n            image: chaosnative/go-runner:ci\n            commands:\n              - /bin/bash\n              - -c\n            args:\n              - echo 'Advanced chaos fault'; sleep 30\n            imagePullPolicy: IfNotPresent\n            nodeSelector:\n              disktype: ssd\n              zone: us-west-1a\n            labels:\n              app: chaos-fault\n              environment: production\n              managed-by: terraform\n            annotations:\n              description: Advanced chaos fault\n              owner: chaos-team\n            resources:\n              limits:\n                cpu: 250m\n                memory: 256Mi\n              requests:\n                cpu: 125m\n                memory: 128Mi\n      variables:\n        - name: chaos_duration\n          value: \u003c+input\u003e\n          type: string\n          required: true\n          description: Duration of chaos injection\n        - name: chaos_interval\n          value: \u003c+input\u003e\n          type: string\n          required: false\n          description: Interval between chaos injections\n    options:\n      dependsOn:\n        - ${projectLevel}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nExample 1: Import Project-level Fault Template\nFormat: org_id/project_id/hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/faultTemplate:FaultTemplate example my_org/my_project/my-chaos-hub/pod-delete-fault\n```\n\nExample 2: Import Org-level Fault Template\nFormat: org_id/hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/faultTemplate:FaultTemplate org_example my_org/org-chaos-hub/org-pod-delete\n```\n\nExample 3: Import Account-level Fault Template\nFormat: hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/faultTemplate:FaultTemplate account_example account-chaos-hub/account-network-fault\n```\n\n",
            "properties": {
                "accountId": {
                    "type": "string",
                    "description": "Account identifier\n"
                },
                "apiVersion": {
                    "type": "string",
                    "description": "API version\n"
                },
                "categories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Fault categories\n"
                },
                "createdAt": {
                    "type": "integer",
                    "description": "Creation timestamp\n"
                },
                "createdBy": {
                    "type": "string",
                    "description": "Creator user ID\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the fault template\n"
                },
                "hubIdentity": {
                    "type": "string",
                    "description": "Hub identity reference\n"
                },
                "hubRef": {
                    "type": "string",
                    "description": "Hub reference (computed)\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the fault template (immutable)\n"
                },
                "infrastructures": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of supported infrastructures\n"
                },
                "isEnterprise": {
                    "type": "boolean",
                    "description": "Whether this is an enterprise-only template\n"
                },
                "isRemoved": {
                    "type": "boolean",
                    "description": "Soft delete flag\n"
                },
                "keywords": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Search keywords\n"
                },
                "kind": {
                    "type": "string",
                    "description": "Resource kind\n"
                },
                "links": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateLink:FaultTemplateLink"
                    },
                    "description": "Related links\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the fault template\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier\n"
                },
                "permissionsRequired": {
                    "type": "string",
                    "description": "Required permissions for the fault\n"
                },
                "platforms": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Supported platforms\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Project identifier\n"
                },
                "revision": {
                    "type": "string",
                    "description": "Template revision (defaults to v1 if not specified)\n"
                },
                "spec": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpec:FaultTemplateSpec",
                    "description": "Fault specification\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags for the fault template\n"
                },
                "type": {
                    "type": "string",
                    "description": "Fault type\n"
                },
                "updatedAt": {
                    "type": "integer",
                    "description": "Update timestamp\n"
                },
                "updatedBy": {
                    "type": "string",
                    "description": "Updater user ID\n"
                },
                "variables": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateVariable:FaultTemplateVariable"
                    },
                    "description": "Template variables\n"
                }
            },
            "required": [
                "accountId",
                "createdAt",
                "createdBy",
                "hubIdentity",
                "hubRef",
                "identity",
                "isEnterprise",
                "isRemoved",
                "name",
                "revision",
                "updatedAt",
                "updatedBy"
            ],
            "inputProperties": {
                "apiVersion": {
                    "type": "string",
                    "description": "API version\n"
                },
                "categories": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Fault categories\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the fault template\n"
                },
                "hubIdentity": {
                    "type": "string",
                    "description": "Hub identity reference\n",
                    "willReplaceOnChanges": true
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the fault template (immutable)\n",
                    "willReplaceOnChanges": true
                },
                "infrastructures": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "List of supported infrastructures\n"
                },
                "keywords": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Search keywords\n"
                },
                "kind": {
                    "type": "string",
                    "description": "Resource kind\n"
                },
                "links": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateLink:FaultTemplateLink"
                    },
                    "description": "Related links\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the fault template\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier\n",
                    "willReplaceOnChanges": true
                },
                "permissionsRequired": {
                    "type": "string",
                    "description": "Required permissions for the fault\n"
                },
                "platforms": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Supported platforms\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Project identifier\n",
                    "willReplaceOnChanges": true
                },
                "revision": {
                    "type": "string",
                    "description": "Template revision (defaults to v1 if not specified)\n"
                },
                "spec": {
                    "$ref": "#/types/harness:chaos/FaultTemplateSpec:FaultTemplateSpec",
                    "description": "Fault specification\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags for the fault template\n"
                },
                "type": {
                    "type": "string",
                    "description": "Fault type\n"
                },
                "variables": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/FaultTemplateVariable:FaultTemplateVariable"
                    },
                    "description": "Template variables\n"
                }
            },
            "requiredInputs": [
                "hubIdentity",
                "identity"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FaultTemplate resources.\n",
                "properties": {
                    "accountId": {
                        "type": "string",
                        "description": "Account identifier\n"
                    },
                    "apiVersion": {
                        "type": "string",
                        "description": "API version\n"
                    },
                    "categories": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Fault categories\n"
                    },
                    "createdAt": {
                        "type": "integer",
                        "description": "Creation timestamp\n"
                    },
                    "createdBy": {
                        "type": "string",
                        "description": "Creator user ID\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the fault template\n"
                    },
                    "hubIdentity": {
                        "type": "string",
                        "description": "Hub identity reference\n",
                        "willReplaceOnChanges": true
                    },
                    "hubRef": {
                        "type": "string",
                        "description": "Hub reference (computed)\n"
                    },
                    "identity": {
                        "type": "string",
                        "description": "Unique identifier for the fault template (immutable)\n",
                        "willReplaceOnChanges": true
                    },
                    "infrastructures": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "List of supported infrastructures\n"
                    },
                    "isEnterprise": {
                        "type": "boolean",
                        "description": "Whether this is an enterprise-only template\n"
                    },
                    "isRemoved": {
                        "type": "boolean",
                        "description": "Soft delete flag\n"
                    },
                    "keywords": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Search keywords\n"
                    },
                    "kind": {
                        "type": "string",
                        "description": "Resource kind\n"
                    },
                    "links": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/harness:chaos/FaultTemplateLink:FaultTemplateLink"
                        },
                        "description": "Related links\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the fault template\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization identifier\n",
                        "willReplaceOnChanges": true
                    },
                    "permissionsRequired": {
                        "type": "string",
                        "description": "Required permissions for the fault\n"
                    },
                    "platforms": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Supported platforms\n"
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Project identifier\n",
                        "willReplaceOnChanges": true
                    },
                    "revision": {
                        "type": "string",
                        "description": "Template revision (defaults to v1 if not specified)\n"
                    },
                    "spec": {
                        "$ref": "#/types/harness:chaos/FaultTemplateSpec:FaultTemplateSpec",
                        "description": "Fault specification\n"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Tags for the fault template\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "Fault type\n"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "description": "Update timestamp\n"
                    },
                    "updatedBy": {
                        "type": "string",
                        "description": "Updater user ID\n"
                    },
                    "variables": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/harness:chaos/FaultTemplateVariable:FaultTemplateVariable"
                        },
                        "description": "Template variables\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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         = [\"\u003ctag1\u003e\", \"\u003ctag2\u003e\"]\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_chaos_hubsync\" \"example\" {\n  org_id     = \"\u003corg_id\u003e\"\n  project_id = \"\u003cproject_id\u003e\"\n  hub_id     = \"\u003chub_id\u003e\"\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.ArrayList;\nimport java.util.Arrays;\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/hubV2:HubV2": {
            "description": "Resource for managing Harness Chaos Hub V2.\n\n## Git-backed hubs (not supported yet)\n\nThe \u003cspan pulumi-lang-nodejs=\"`connectorRef`\" pulumi-lang-dotnet=\"`ConnectorRef`\" pulumi-lang-go=\"`connectorRef`\" pulumi-lang-python=\"`connector_ref`\" pulumi-lang-yaml=\"`connectorRef`\" pulumi-lang-java=\"`connectorRef`\" pulumi-lang-hcl=\"`connector_ref`\"\u003e`connectorRef`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`repoBranch`\" pulumi-lang-dotnet=\"`RepoBranch`\" pulumi-lang-go=\"`repoBranch`\" pulumi-lang-python=\"`repo_branch`\" pulumi-lang-yaml=\"`repoBranch`\" pulumi-lang-java=\"`repoBranch`\" pulumi-lang-hcl=\"`repo_branch`\"\u003e`repoBranch`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`repoName`\" pulumi-lang-dotnet=\"`RepoName`\" pulumi-lang-go=\"`repoName`\" pulumi-lang-python=\"`repo_name`\" pulumi-lang-yaml=\"`repoName`\" pulumi-lang-java=\"`repoName`\" pulumi-lang-hcl=\"`repo_name`\"\u003e`repoName`\u003c/span\u003e fields describe a Git-backed chaos hub. **Git-backed Chaos Hub V2 is not supported yet** - these fields are accepted by the schema but have no functional effect today. Create hubs without them; they are retained only for forward compatibility and may be deprecated.\n\n## Updatable vs. immutable fields\n\nOnly \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`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`description`\" pulumi-lang-dotnet=\"`Description`\" pulumi-lang-go=\"`description`\" pulumi-lang-python=\"`description`\" pulumi-lang-yaml=\"`description`\" pulumi-lang-java=\"`description`\" pulumi-lang-hcl=\"`description`\"\u003e`description`\u003c/span\u003e, and \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`\" pulumi-lang-hcl=\"`tags`\"\u003e`tags`\u003c/span\u003e can be updated in place. Changing any of \u003cspan pulumi-lang-nodejs=\"`identity`\" pulumi-lang-dotnet=\"`Identity`\" pulumi-lang-go=\"`identity`\" pulumi-lang-python=\"`identity`\" pulumi-lang-yaml=\"`identity`\" pulumi-lang-java=\"`identity`\" pulumi-lang-hcl=\"`identity`\"\u003e`identity`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`orgId`\" pulumi-lang-dotnet=\"`OrgId`\" pulumi-lang-go=\"`orgId`\" pulumi-lang-python=\"`org_id`\" pulumi-lang-yaml=\"`orgId`\" pulumi-lang-java=\"`orgId`\" pulumi-lang-hcl=\"`org_id`\"\u003e`orgId`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`projectId`\" pulumi-lang-dotnet=\"`ProjectId`\" pulumi-lang-go=\"`projectId`\" pulumi-lang-python=\"`project_id`\" pulumi-lang-yaml=\"`projectId`\" pulumi-lang-java=\"`projectId`\" pulumi-lang-hcl=\"`project_id`\"\u003e`projectId`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`connectorRef`\" pulumi-lang-dotnet=\"`ConnectorRef`\" pulumi-lang-go=\"`connectorRef`\" pulumi-lang-python=\"`connector_ref`\" pulumi-lang-yaml=\"`connectorRef`\" pulumi-lang-java=\"`connectorRef`\" pulumi-lang-hcl=\"`connector_ref`\"\u003e`connectorRef`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`repoBranch`\" pulumi-lang-dotnet=\"`RepoBranch`\" pulumi-lang-go=\"`repoBranch`\" pulumi-lang-python=\"`repo_branch`\" pulumi-lang-yaml=\"`repoBranch`\" pulumi-lang-java=\"`repoBranch`\" pulumi-lang-hcl=\"`repo_branch`\"\u003e`repoBranch`\u003c/span\u003e, or \u003cspan pulumi-lang-nodejs=\"`repoName`\" pulumi-lang-dotnet=\"`RepoName`\" pulumi-lang-go=\"`repoName`\" pulumi-lang-python=\"`repo_name`\" pulumi-lang-yaml=\"`repoName`\" pulumi-lang-java=\"`repoName`\" pulumi-lang-hcl=\"`repo_name`\"\u003e`repoName`\u003c/span\u003e forces recreation, because the update API does not accept those fields.\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// Harness Chaos Hub V2 Resource Examples\n// ============================================================================\n//\n// Chaos Hubs store chaos artifacts (templates, faults, probes, actions).\n// These examples are based on TESTED configurations from the e2e-test suite.\n//\n// Key Points:\n// - Hubs can be created at account, org, or project scope\n// - connector_ref, repo_branch, repo_name are OPTIONAL (not required)\n// - Use lifecycle { ignore_changes = [tags] } to prevent drift\n// ============================================================================\n// ----------------------------------------------------------------------------\n// Example 1: Account-Level Chaos Hub\n// ----------------------------------------------------------------------------\n// Account-level hub accessible across all orgs and projects\nconst accountLevel = new harness.chaos.HubV2(\"account_level\", {\n    identity: \"account-chaos-hub\",\n    name: \"Account Chaos Hub\",\n    description: \"Account-level chaos hub for enterprise-wide templates\",\n    tags: [\n        \"account\",\n        \"enterprise\",\n        \"chaos\",\n    ],\n}, {\n    ignoreChanges: [\"tags\"],\n});\n// ----------------------------------------------------------------------------\n// Example 2: Org-Level Chaos Hub (TESTED ✅)\n// ----------------------------------------------------------------------------\n// Org-level hub accessible within the organization\nconst orgLevel = new harness.chaos.HubV2(\"org_level\", {\n    orgId: _this.id,\n    identity: \"org-chaos-hub\",\n    name: \"Org Chaos Hub\",\n    description: \"Org-level chaos hub for shared templates\",\n    tags: [\n        \"org\",\n        \"shared\",\n        \"chaos\",\n    ],\n}, {\n    dependsOn: [_this],\n    ignoreChanges: [\"tags\"],\n});\n// ----------------------------------------------------------------------------\n// Example 3: Project-Level Chaos Hub\n// ----------------------------------------------------------------------------\n// Project-level hub for project-specific templates\nconst projectLevel = new harness.chaos.HubV2(\"project_level\", {\n    orgId: _this.id,\n    projectId: thisHarnessPlatformProject.id,\n    identity: \"project-chaos-hub\",\n    name: \"Project Chaos Hub\",\n    description: \"Project-level chaos hub for team templates\",\n    tags: [\n        \"project\",\n        \"team\",\n        \"chaos\",\n    ],\n}, {\n    dependsOn: [thisHarnessPlatformProject],\n    ignoreChanges: [\"tags\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# ============================================================================\n# Harness Chaos Hub V2 Resource Examples\n# ============================================================================\n#\n# Chaos Hubs store chaos artifacts (templates, faults, probes, actions).\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Hubs can be created at account, org, or project scope\n# - connector_ref, repo_branch, repo_name are OPTIONAL (not required)\n# - Use lifecycle { ignore_changes = [tags] } to prevent drift\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: Account-Level Chaos Hub\n# ----------------------------------------------------------------------------\n# Account-level hub accessible across all orgs and projects\naccount_level = harness.chaos.HubV2(\"account_level\",\n    identity=\"account-chaos-hub\",\n    name=\"Account Chaos Hub\",\n    description=\"Account-level chaos hub for enterprise-wide templates\",\n    tags=[\n        \"account\",\n        \"enterprise\",\n        \"chaos\",\n    ],\n    opts = pulumi.ResourceOptions(ignore_changes=[\"tags\"]))\n# ----------------------------------------------------------------------------\n# Example 2: Org-Level Chaos Hub (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Org-level hub accessible within the organization\norg_level = harness.chaos.HubV2(\"org_level\",\n    org_id=this[\"id\"],\n    identity=\"org-chaos-hub\",\n    name=\"Org Chaos Hub\",\n    description=\"Org-level chaos hub for shared templates\",\n    tags=[\n        \"org\",\n        \"shared\",\n        \"chaos\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[this],\n        ignore_changes=[\"tags\"]))\n# ----------------------------------------------------------------------------\n# Example 3: Project-Level Chaos Hub\n# ----------------------------------------------------------------------------\n# Project-level hub for project-specific templates\nproject_level = harness.chaos.HubV2(\"project_level\",\n    org_id=this[\"id\"],\n    project_id=this_harness_platform_project[\"id\"],\n    identity=\"project-chaos-hub\",\n    name=\"Project Chaos Hub\",\n    description=\"Project-level chaos hub for team templates\",\n    tags=[\n        \"project\",\n        \"team\",\n        \"chaos\",\n    ],\n    opts = pulumi.ResourceOptions(depends_on=[this_harness_platform_project],\n        ignore_changes=[\"tags\"]))\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    // Harness Chaos Hub V2 Resource Examples\n    // ============================================================================\n    //\n    // Chaos Hubs store chaos artifacts (templates, faults, probes, actions).\n    // These examples are based on TESTED configurations from the e2e-test suite.\n    //\n    // Key Points:\n    // - Hubs can be created at account, org, or project scope\n    // - connector_ref, repo_branch, repo_name are OPTIONAL (not required)\n    // - Use lifecycle { ignore_changes = [tags] } to prevent drift\n    // ============================================================================\n    // ----------------------------------------------------------------------------\n    // Example 1: Account-Level Chaos Hub\n    // ----------------------------------------------------------------------------\n    // Account-level hub accessible across all orgs and projects\n    var accountLevel = new Harness.Chaos.HubV2(\"account_level\", new()\n    {\n        Identity = \"account-chaos-hub\",\n        Name = \"Account Chaos Hub\",\n        Description = \"Account-level chaos hub for enterprise-wide templates\",\n        Tags = new[]\n        {\n            \"account\",\n            \"enterprise\",\n            \"chaos\",\n        },\n    }, new CustomResourceOptions\n    {\n        IgnoreChanges =\n        {\n            \"tags\",\n        },\n    });\n\n    // ----------------------------------------------------------------------------\n    // Example 2: Org-Level Chaos Hub (TESTED ✅)\n    // ----------------------------------------------------------------------------\n    // Org-level hub accessible within the organization\n    var orgLevel = new Harness.Chaos.HubV2(\"org_level\", new()\n    {\n        OrgId = @this.Id,\n        Identity = \"org-chaos-hub\",\n        Name = \"Org Chaos Hub\",\n        Description = \"Org-level chaos hub for shared templates\",\n        Tags = new[]\n        {\n            \"org\",\n            \"shared\",\n            \"chaos\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            @this,\n        },\n        IgnoreChanges =\n        {\n            \"tags\",\n        },\n    });\n\n    // ----------------------------------------------------------------------------\n    // Example 3: Project-Level Chaos Hub\n    // ----------------------------------------------------------------------------\n    // Project-level hub for project-specific templates\n    var projectLevel = new Harness.Chaos.HubV2(\"project_level\", new()\n    {\n        OrgId = @this.Id,\n        ProjectId = thisHarnessPlatformProject.Id,\n        Identity = \"project-chaos-hub\",\n        Name = \"Project Chaos Hub\",\n        Description = \"Project-level chaos hub for team templates\",\n        Tags = new[]\n        {\n            \"project\",\n            \"team\",\n            \"chaos\",\n        },\n    }, new CustomResourceOptions\n    {\n        DependsOn =\n        {\n            thisHarnessPlatformProject,\n        },\n        IgnoreChanges =\n        {\n            \"tags\",\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// ============================================================================\n\t\t// Harness Chaos Hub V2 Resource Examples\n\t\t// ============================================================================\n\t\t//\n\t\t// Chaos Hubs store chaos artifacts (templates, faults, probes, actions).\n\t\t// These examples are based on TESTED configurations from the e2e-test suite.\n\t\t//\n\t\t// Key Points:\n\t\t// - Hubs can be created at account, org, or project scope\n\t\t// - connector_ref, repo_branch, repo_name are OPTIONAL (not required)\n\t\t// - Use lifecycle { ignore_changes = [tags] } to prevent drift\n\t\t// ============================================================================\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 1: Account-Level Chaos Hub\n\t\t// ----------------------------------------------------------------------------\n\t\t// Account-level hub accessible across all orgs and projects\n\t\t_, err := chaos.NewHubV2(ctx, \"account_level\", \u0026chaos.HubV2Args{\n\t\t\tIdentity:    pulumi.String(\"account-chaos-hub\"),\n\t\t\tName:        pulumi.String(\"Account Chaos Hub\"),\n\t\t\tDescription: pulumi.String(\"Account-level chaos hub for enterprise-wide templates\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"account\"),\n\t\t\t\tpulumi.String(\"enterprise\"),\n\t\t\t\tpulumi.String(\"chaos\"),\n\t\t\t},\n\t\t}, pulumi.IgnoreChanges([]string{\n\t\t\t\"tags\",\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 2: Org-Level Chaos Hub (TESTED ✅)\n\t\t// ----------------------------------------------------------------------------\n\t\t// Org-level hub accessible within the organization\n\t\t_, err = chaos.NewHubV2(ctx, \"org_level\", \u0026chaos.HubV2Args{\n\t\t\tOrgId:       pulumi.Any(this.Id),\n\t\t\tIdentity:    pulumi.String(\"org-chaos-hub\"),\n\t\t\tName:        pulumi.String(\"Org Chaos Hub\"),\n\t\t\tDescription: pulumi.String(\"Org-level chaos hub for shared templates\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"org\"),\n\t\t\t\tpulumi.String(\"shared\"),\n\t\t\t\tpulumi.String(\"chaos\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tthis,\n\t\t}), pulumi.IgnoreChanges([]string{\n\t\t\t\"tags\",\n\t\t}))\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// ----------------------------------------------------------------------------\n\t\t// Example 3: Project-Level Chaos Hub\n\t\t// ----------------------------------------------------------------------------\n\t\t// Project-level hub for project-specific templates\n\t\t_, err = chaos.NewHubV2(ctx, \"project_level\", \u0026chaos.HubV2Args{\n\t\t\tOrgId:       pulumi.Any(this.Id),\n\t\t\tProjectId:   pulumi.Any(thisHarnessPlatformProject.Id),\n\t\t\tIdentity:    pulumi.String(\"project-chaos-hub\"),\n\t\t\tName:        pulumi.String(\"Project Chaos Hub\"),\n\t\t\tDescription: pulumi.String(\"Project-level chaos hub for team templates\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"project\"),\n\t\t\t\tpulumi.String(\"team\"),\n\t\t\t\tpulumi.String(\"chaos\"),\n\t\t\t},\n\t\t}, pulumi.DependsOn([]pulumi.Resource{\n\t\t\tthisHarnessPlatformProject,\n\t\t}), pulumi.IgnoreChanges([]string{\n\t\t\t\"tags\",\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# ============================================================================\n# Harness Chaos Hub V2 Resource Examples\n# ============================================================================\n#\n# Chaos Hubs store chaos artifacts (templates, faults, probes, actions).\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Hubs can be created at account, org, or project scope\n# - connector_ref, repo_branch, repo_name are OPTIONAL (not required)\n# - Use lifecycle { ignore_changes = [tags] } to prevent drift\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: Account-Level Chaos Hub\n# ----------------------------------------------------------------------------\n# Account-level hub accessible across all orgs and projects\nresource \"harness_chaos_hubv2\" \"account_level\" {\n  lifecycle {\n    ignore_changes = [tags]\n  }\n  identity    = \"account-chaos-hub\"\n  name        = \"Account Chaos Hub\"\n  description = \"Account-level chaos hub for enterprise-wide templates\"\n  tags        = [\"account\", \"enterprise\", \"chaos\"]\n}\n# ----------------------------------------------------------------------------\n# Example 2: Org-Level Chaos Hub (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Org-level hub accessible within the organization\nresource \"harness_chaos_hubv2\" \"org_level\" {\n  lifecycle {\n    ignore_changes = [tags]\n  }\n  depends_on  = [this]\n  org_id      = this.id\n  identity    = \"org-chaos-hub\"\n  name        = \"Org Chaos Hub\"\n  description = \"Org-level chaos hub for shared templates\"\n  tags        = [\"org\", \"shared\", \"chaos\"]\n}\n# ----------------------------------------------------------------------------\n# Example 3: Project-Level Chaos Hub\n# ----------------------------------------------------------------------------\n# Project-level hub for project-specific templates\nresource \"harness_chaos_hubv2\" \"project_level\" {\n  lifecycle {\n    ignore_changes = [tags]\n  }\n  depends_on  = [thisHarnessPlatformProject]\n  org_id      = this.id\n  project_id  = thisHarnessPlatformProject.id\n  identity    = \"project-chaos-hub\"\n  name        = \"Project Chaos Hub\"\n  description = \"Project-level chaos hub for team templates\"\n  tags        = [\"project\", \"team\", \"chaos\"]\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.HubV2;\nimport com.pulumi.harness.chaos.HubV2Args;\nimport com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Harness Chaos Hub V2 Resource Examples\n        // ============================================================================\n        //\n        // Chaos Hubs store chaos artifacts (templates, faults, probes, actions).\n        // These examples are based on TESTED configurations from the e2e-test suite.\n        //\n        // Key Points:\n        // - Hubs can be created at account, org, or project scope\n        // - connector_ref, repo_branch, repo_name are OPTIONAL (not required)\n        // - Use lifecycle { ignore_changes = [tags] } to prevent drift\n        // ============================================================================\n        // ----------------------------------------------------------------------------\n        // Example 1: Account-Level Chaos Hub\n        // ----------------------------------------------------------------------------\n        // Account-level hub accessible across all orgs and projects\n        var accountLevel = new HubV2(\"accountLevel\", HubV2Args.builder()\n            .identity(\"account-chaos-hub\")\n            .name(\"Account Chaos Hub\")\n            .description(\"Account-level chaos hub for enterprise-wide templates\")\n            .tags(            \n                \"account\",\n                \"enterprise\",\n                \"chaos\")\n            .build(), CustomResourceOptions.builder()\n                .ignoreChanges(\"tags\")\n                .build());\n\n        // ----------------------------------------------------------------------------\n        // Example 2: Org-Level Chaos Hub (TESTED ✅)\n        // ----------------------------------------------------------------------------\n        // Org-level hub accessible within the organization\n        var orgLevel = new HubV2(\"orgLevel\", HubV2Args.builder()\n            .orgId(this_.id())\n            .identity(\"org-chaos-hub\")\n            .name(\"Org Chaos Hub\")\n            .description(\"Org-level chaos hub for shared templates\")\n            .tags(            \n                \"org\",\n                \"shared\",\n                \"chaos\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(this_)\n                .ignoreChanges(\"tags\")\n                .build());\n\n        // ----------------------------------------------------------------------------\n        // Example 3: Project-Level Chaos Hub\n        // ----------------------------------------------------------------------------\n        // Project-level hub for project-specific templates\n        var projectLevel = new HubV2(\"projectLevel\", HubV2Args.builder()\n            .orgId(this_.id())\n            .projectId(thisHarnessPlatformProject.id())\n            .identity(\"project-chaos-hub\")\n            .name(\"Project Chaos Hub\")\n            .description(\"Project-level chaos hub for team templates\")\n            .tags(            \n                \"project\",\n                \"team\",\n                \"chaos\")\n            .build(), CustomResourceOptions.builder()\n                .dependsOn(thisHarnessPlatformProject)\n                .ignoreChanges(\"tags\")\n                .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # ============================================================================\n  # Harness Chaos Hub V2 Resource Examples\n  # ============================================================================\n  #\n  # Chaos Hubs store chaos artifacts (templates, faults, probes, actions).\n  # These examples are based on TESTED configurations from the e2e-test suite.\n  #\n  # Key Points:\n  # - Hubs can be created at account, org, or project scope\n  # - connector_ref, repo_branch, repo_name are OPTIONAL (not required)\n  # - Use lifecycle { ignore_changes = [tags] } to prevent drift\n  # ============================================================================\n\n  # ----------------------------------------------------------------------------\n  # Example 1: Account-Level Chaos Hub\n  # ----------------------------------------------------------------------------\n  # Account-level hub accessible across all orgs and projects\n  accountLevel:\n    type: harness:chaos:HubV2\n    name: account_level\n    properties:\n      identity: account-chaos-hub\n      name: Account Chaos Hub\n      description: Account-level chaos hub for enterprise-wide templates\n      tags:\n        - account\n        - enterprise\n        - chaos\n    options:\n      ignoreChanges:\n        - tags\n  # ----------------------------------------------------------------------------\n  # Example 2: Org-Level Chaos Hub (TESTED ✅)\n  # ----------------------------------------------------------------------------\n  # Org-level hub accessible within the organization\n  orgLevel:\n    type: harness:chaos:HubV2\n    name: org_level\n    properties:\n      orgId: ${this.id}\n      identity: org-chaos-hub\n      name: Org Chaos Hub\n      description: Org-level chaos hub for shared templates\n      tags:\n        - org\n        - shared\n        - chaos\n    options:\n      dependsOn:\n        - ${this}\n      ignoreChanges:\n        - tags\n  # ----------------------------------------------------------------------------\n  # Example 3: Project-Level Chaos Hub\n  # ----------------------------------------------------------------------------\n  # Project-level hub for project-specific templates\n  projectLevel:\n    type: harness:chaos:HubV2\n    name: project_level\n    properties:\n      orgId: ${this.id}\n      projectId: ${thisHarnessPlatformProject.id}\n      identity: project-chaos-hub\n      name: Project Chaos Hub\n      description: Project-level chaos hub for team templates\n      tags:\n        - project\n        - team\n        - chaos\n    options:\n      dependsOn:\n        - ${thisHarnessPlatformProject}\n      ignoreChanges:\n        - tags\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport Account level Chaos Hub\n\n```sh\n$ pulumi import harness:chaos/hubV2:HubV2 account_level \u003chub_id\u003e\n```\n\nImport Org level Chaos Hub\n\n```sh\n$ pulumi import harness:chaos/hubV2:HubV2 org_level \u003corg_id\u003e/\u003chub_id\u003e\n```\n\nImport Project level Chaos Hub\n\n```sh\n$ pulumi import harness:chaos/hubV2:HubV2 project_level \u003corg_id\u003e/\u003cproject_id\u003e/\u003chub_id\u003e\n```\n\n",
            "properties": {
                "accountId": {
                    "type": "string",
                    "description": "Account ID.\n"
                },
                "actionTemplateCount": {
                    "type": "integer",
                    "description": "Number of action templates in the hub.\n"
                },
                "connectorId": {
                    "type": "string",
                    "description": "Connector ID (deprecated, use connector_ref).\n"
                },
                "connectorRef": {
                    "type": "string",
                    "description": "Reference to the Git connector (format: scope.connectorId, e.g., org.myconnector or account.myconnector). Git-backed Chaos Hub V2 is not supported yet, so this field has no functional effect today. Changing this forces recreation.\n"
                },
                "createdAt": {
                    "type": "integer",
                    "description": "Creation timestamp (Unix epoch).\n"
                },
                "createdBy": {
                    "type": "string",
                    "description": "User who created the chaos hub.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the chaos hub.\n"
                },
                "experimentTemplateCount": {
                    "type": "integer",
                    "description": "Number of experiment templates in the hub.\n"
                },
                "faultTemplateCount": {
                    "type": "integer",
                    "description": "Number of fault templates in the hub.\n"
                },
                "hubId": {
                    "type": "string",
                    "description": "Internal hub ID returned by the API.\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the chaos hub.\n"
                },
                "isDefault": {
                    "type": "boolean",
                    "description": "Whether this is the default chaos hub.\n"
                },
                "isRemoved": {
                    "type": "boolean",
                    "description": "Whether the chaos hub has been removed.\n"
                },
                "lastSyncedAt": {
                    "type": "integer",
                    "description": "Timestamp of the last sync (Unix epoch).\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the chaos hub.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "The ID of the organization.\n"
                },
                "probeTemplateCount": {
                    "type": "integer",
                    "description": "Number of probe templates in the hub.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "The ID of the project.\n"
                },
                "repoBranch": {
                    "type": "string",
                    "description": "Git repository branch. Git-backed Chaos Hub V2 is not supported yet, so this field has no functional effect today. Changing this forces recreation (not updatable via the API).\n"
                },
                "repoName": {
                    "type": "string",
                    "description": "Name of the Git repository (required for account-level connectors). Git-backed Chaos Hub V2 is not supported yet, so this field has no functional effect today. Changing this forces recreation (not updatable via the API).\n"
                },
                "repoUrl": {
                    "type": "string",
                    "description": "Git repository URL.\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags to associate with the chaos hub.\n"
                },
                "updatedAt": {
                    "type": "integer",
                    "description": "Last update timestamp (Unix epoch).\n"
                },
                "updatedBy": {
                    "type": "string",
                    "description": "User who last updated the chaos hub.\n"
                }
            },
            "required": [
                "accountId",
                "actionTemplateCount",
                "connectorId",
                "createdAt",
                "createdBy",
                "experimentTemplateCount",
                "faultTemplateCount",
                "hubId",
                "identity",
                "isDefault",
                "isRemoved",
                "lastSyncedAt",
                "name",
                "probeTemplateCount",
                "repoUrl",
                "updatedAt",
                "updatedBy"
            ],
            "inputProperties": {
                "connectorRef": {
                    "type": "string",
                    "description": "Reference to the Git connector (format: scope.connectorId, e.g., org.myconnector or account.myconnector). Git-backed Chaos Hub V2 is not supported yet, so this field has no functional effect today. Changing this forces recreation.\n",
                    "willReplaceOnChanges": true
                },
                "description": {
                    "type": "string",
                    "description": "Description of the chaos hub.\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the chaos hub.\n",
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "Name of the chaos hub.\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
                },
                "repoBranch": {
                    "type": "string",
                    "description": "Git repository branch. Git-backed Chaos Hub V2 is not supported yet, so this field has no functional effect today. Changing this forces recreation (not updatable via the API).\n",
                    "willReplaceOnChanges": true
                },
                "repoName": {
                    "type": "string",
                    "description": "Name of the Git repository (required for account-level connectors). Git-backed Chaos Hub V2 is not supported yet, so this field has no functional effect today. Changing this forces recreation (not updatable via the API).\n",
                    "willReplaceOnChanges": true
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags to associate with the chaos hub.\n"
                }
            },
            "requiredInputs": [
                "identity"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering HubV2 resources.\n",
                "properties": {
                    "accountId": {
                        "type": "string",
                        "description": "Account ID.\n"
                    },
                    "actionTemplateCount": {
                        "type": "integer",
                        "description": "Number of action templates in the hub.\n"
                    },
                    "connectorId": {
                        "type": "string",
                        "description": "Connector ID (deprecated, use connector_ref).\n"
                    },
                    "connectorRef": {
                        "type": "string",
                        "description": "Reference to the Git connector (format: scope.connectorId, e.g., org.myconnector or account.myconnector). Git-backed Chaos Hub V2 is not supported yet, so this field has no functional effect today. Changing this forces recreation.\n",
                        "willReplaceOnChanges": true
                    },
                    "createdAt": {
                        "type": "integer",
                        "description": "Creation timestamp (Unix epoch).\n"
                    },
                    "createdBy": {
                        "type": "string",
                        "description": "User who created the chaos hub.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the chaos hub.\n"
                    },
                    "experimentTemplateCount": {
                        "type": "integer",
                        "description": "Number of experiment templates in the hub.\n"
                    },
                    "faultTemplateCount": {
                        "type": "integer",
                        "description": "Number of fault templates in the hub.\n"
                    },
                    "hubId": {
                        "type": "string",
                        "description": "Internal hub ID returned by the API.\n"
                    },
                    "identity": {
                        "type": "string",
                        "description": "Unique identifier for the chaos hub.\n",
                        "willReplaceOnChanges": true
                    },
                    "isDefault": {
                        "type": "boolean",
                        "description": "Whether this is the default chaos hub.\n"
                    },
                    "isRemoved": {
                        "type": "boolean",
                        "description": "Whether the chaos hub has been removed.\n"
                    },
                    "lastSyncedAt": {
                        "type": "integer",
                        "description": "Timestamp of the last sync (Unix epoch).\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the chaos hub.\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "The ID of the organization.\n",
                        "willReplaceOnChanges": true
                    },
                    "probeTemplateCount": {
                        "type": "integer",
                        "description": "Number of probe templates in the hub.\n"
                    },
                    "projectId": {
                        "type": "string",
                        "description": "The ID of the project.\n",
                        "willReplaceOnChanges": true
                    },
                    "repoBranch": {
                        "type": "string",
                        "description": "Git repository branch. Git-backed Chaos Hub V2 is not supported yet, so this field has no functional effect today. Changing this forces recreation (not updatable via the API).\n",
                        "willReplaceOnChanges": true
                    },
                    "repoName": {
                        "type": "string",
                        "description": "Name of the Git repository (required for account-level connectors). Git-backed Chaos Hub V2 is not supported yet, so this field has no functional effect today. Changing this forces recreation (not updatable via the API).\n",
                        "willReplaceOnChanges": true
                    },
                    "repoUrl": {
                        "type": "string",
                        "description": "Git repository URL.\n"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Tags to associate with the chaos hub.\n"
                    },
                    "updatedAt": {
                        "type": "integer",
                        "description": "Last update timestamp (Unix epoch).\n"
                    },
                    "updatedBy": {
                        "type": "string",
                        "description": "User who last updated the chaos hub.\n"
                    }
                },
                "type": "object"
            }
        },
        "harness:chaos/imageRegistry:ImageRegistry": {
            "description": "Resource for managing a Harness Chaos Image Registry.\n\n## Not currently supported\n\n- Importing account-scoped registries: `pulumi import` requires an \u003cspan pulumi-lang-nodejs=\"`orgId`\" pulumi-lang-dotnet=\"`OrgId`\" pulumi-lang-go=\"`orgId`\" pulumi-lang-python=\"`org_id`\" pulumi-lang-yaml=\"`orgId`\" pulumi-lang-java=\"`orgId`\" pulumi-lang-hcl=\"`org_id`\"\u003e`orgId`\u003c/span\u003e (`org_id/project_id` or `org_id/project_id/infra_id`).\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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 configuration\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```\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.ArrayList;\nimport java.util.Arrays;\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\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nImport a project-level Chaos Image Registry\n\n```sh\n$ pulumi import harness:chaos/imageRegistry:ImageRegistry example \u003corg_id\u003e/\u003cproject_id\u003e\n```\n\nImport an infrastructure-scoped Chaos Image Registry\n\n```sh\n$ pulumi import harness:chaos/imageRegistry:ImageRegistry example \u003corg_id\u003e/\u003cproject_id\u003e/\u003cinfra_id\u003e\n```\n\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 (the chaos execution infrastructure installed into a Kubernetes cluster).\n\nAfter `pulumi up`, use the computed \u003cspan pulumi-lang-nodejs=\"`installCommand`\" pulumi-lang-dotnet=\"`InstallCommand`\" pulumi-lang-go=\"`installCommand`\" pulumi-lang-python=\"`install_command`\" pulumi-lang-yaml=\"`installCommand`\" pulumi-lang-java=\"`installCommand`\" pulumi-lang-hcl=\"`install_command`\"\u003e`installCommand`\u003c/span\u003e output to deploy the infrastructure manifest into your target cluster - creating this resource registers the infrastructure with Harness but does not itself install anything into the cluster.\n\n## Notes\n\n- \u003cspan pulumi-lang-nodejs=\"`infraType`\" pulumi-lang-dotnet=\"`InfraType`\" pulumi-lang-go=\"`infraType`\" pulumi-lang-python=\"`infra_type`\" pulumi-lang-yaml=\"`infraType`\" pulumi-lang-java=\"`infraType`\" pulumi-lang-hcl=\"`infra_type`\"\u003e`infraType`\u003c/span\u003e: use `KubernetesV2` (recommended); `Kubernetes` is the legacy V1 type.\n- \u003cspan pulumi-lang-nodejs=\"`infraScope`\" pulumi-lang-dotnet=\"`InfraScope`\" pulumi-lang-go=\"`infraScope`\" pulumi-lang-python=\"`infra_scope`\" pulumi-lang-yaml=\"`infraScope`\" pulumi-lang-java=\"`infraScope`\" pulumi-lang-hcl=\"`infra_scope`\"\u003e`infraScope`\u003c/span\u003e (`NAMESPACE` or `CLUSTER`) is immutable - changing it forces recreation.\n- \u003cspan pulumi-lang-nodejs=\"`containers`\" pulumi-lang-dotnet=\"`Containers`\" pulumi-lang-go=\"`containers`\" pulumi-lang-python=\"`containers`\" pulumi-lang-yaml=\"`containers`\" pulumi-lang-java=\"`containers`\" pulumi-lang-hcl=\"`containers`\"\u003e`containers`\u003c/span\u003e is a raw JSON string used to override container specs; leave unset unless you need advanced overrides.\n- Some fields (\u003cspan pulumi-lang-nodejs=\"`volumes`\" pulumi-lang-dotnet=\"`Volumes`\" pulumi-lang-go=\"`volumes`\" pulumi-lang-python=\"`volumes`\" pulumi-lang-yaml=\"`volumes`\" pulumi-lang-java=\"`volumes`\" pulumi-lang-hcl=\"`volumes`\"\u003e`volumes`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`volumeMounts`\" pulumi-lang-dotnet=\"`VolumeMounts`\" pulumi-lang-go=\"`volumeMounts`\" pulumi-lang-python=\"`volume_mounts`\" pulumi-lang-yaml=\"`volumeMounts`\" pulumi-lang-java=\"`volumeMounts`\" pulumi-lang-hcl=\"`volume_mounts`\"\u003e`volumeMounts`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`env`\" pulumi-lang-dotnet=\"`Env`\" pulumi-lang-go=\"`env`\" pulumi-lang-python=\"`env`\" pulumi-lang-yaml=\"`env`\" pulumi-lang-java=\"`env`\" pulumi-lang-hcl=\"`env`\"\u003e`env`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`imageRegistry`\" pulumi-lang-dotnet=\"`ImageRegistry`\" pulumi-lang-go=\"`imageRegistry`\" pulumi-lang-python=\"`image_registry`\" pulumi-lang-yaml=\"`imageRegistry`\" pulumi-lang-java=\"`imageRegistry`\" pulumi-lang-hcl=\"`image_registry`\"\u003e`imageRegistry`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`label`\" pulumi-lang-dotnet=\"`Label`\" pulumi-lang-go=\"`label`\" pulumi-lang-python=\"`label`\" pulumi-lang-yaml=\"`label`\" pulumi-lang-java=\"`label`\" pulumi-lang-hcl=\"`label`\"\u003e`label`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`annotation`\" pulumi-lang-dotnet=\"`Annotation`\" pulumi-lang-go=\"`annotation`\" pulumi-lang-python=\"`annotation`\" pulumi-lang-yaml=\"`annotation`\" pulumi-lang-java=\"`annotation`\" pulumi-lang-hcl=\"`annotation`\"\u003e`annotation`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`containers`\" pulumi-lang-dotnet=\"`Containers`\" pulumi-lang-go=\"`containers`\" pulumi-lang-python=\"`containers`\" pulumi-lang-yaml=\"`containers`\" pulumi-lang-java=\"`containers`\" pulumi-lang-hcl=\"`containers`\"\u003e`containers`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`insecureSkipVerify`\" pulumi-lang-dotnet=\"`InsecureSkipVerify`\" pulumi-lang-go=\"`insecureSkipVerify`\" pulumi-lang-python=\"`insecure_skip_verify`\" pulumi-lang-yaml=\"`insecureSkipVerify`\" pulumi-lang-java=\"`insecureSkipVerify`\" pulumi-lang-hcl=\"`insecure_skip_verify`\"\u003e`insecureSkipVerify`\u003c/span\u003e) are applied via an automatic update immediately after creation; this is transparent and should not produce drift.\n- \u003cspan pulumi-lang-nodejs=\"`resources`\" pulumi-lang-dotnet=\"`Resources`\" pulumi-lang-go=\"`resources`\" pulumi-lang-python=\"`resources`\" pulumi-lang-yaml=\"`resources`\" pulumi-lang-java=\"`resources`\" pulumi-lang-hcl=\"`resources`\"\u003e`resources`\u003c/span\u003e (CPU/memory \u003cspan pulumi-lang-nodejs=\"`requests`\" pulumi-lang-dotnet=\"`Requests`\" pulumi-lang-go=\"`requests`\" pulumi-lang-python=\"`requests`\" pulumi-lang-yaml=\"`requests`\" pulumi-lang-java=\"`requests`\" pulumi-lang-hcl=\"`requests`\"\u003e`requests`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`limits`\" pulumi-lang-dotnet=\"`Limits`\" pulumi-lang-go=\"`limits`\" pulumi-lang-python=\"`limits`\" pulumi-lang-yaml=\"`limits`\" pulumi-lang-java=\"`limits`\" pulumi-lang-hcl=\"`limits`\"\u003e`limits`\u003c/span\u003e) and \u003cspan pulumi-lang-nodejs=\"`autopilotEnabled`\" pulumi-lang-dotnet=\"`AutopilotEnabled`\" pulumi-lang-go=\"`autopilotEnabled`\" pulumi-lang-python=\"`autopilot_enabled`\" pulumi-lang-yaml=\"`autopilotEnabled`\" pulumi-lang-java=\"`autopilotEnabled`\" pulumi-lang-hcl=\"`autopilot_enabled`\"\u003e`autopilotEnabled`\u003c/span\u003e can be set both at creation and on update. Resource values are standard Kubernetes quantity strings (e.g. \u003cspan pulumi-lang-nodejs=\"`250m`\" pulumi-lang-dotnet=\"`250m`\" pulumi-lang-go=\"`250m`\" pulumi-lang-python=\"`250m`\" pulumi-lang-yaml=\"`250m`\" pulumi-lang-java=\"`250m`\" pulumi-lang-hcl=\"`250m`\"\u003e`250m`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`1`\" pulumi-lang-dotnet=\"`1`\" pulumi-lang-go=\"`1`\" pulumi-lang-python=\"`1`\" pulumi-lang-yaml=\"`1`\" pulumi-lang-java=\"`1`\" pulumi-lang-hcl=\"`1`\"\u003e`1`\u003c/span\u003e, `256Mi`, `1Gi`).\n- \u003cspan pulumi-lang-nodejs=\"`discoveryAgentId`\" pulumi-lang-dotnet=\"`DiscoveryAgentId`\" pulumi-lang-go=\"`discoveryAgentId`\" pulumi-lang-python=\"`discovery_agent_id`\" pulumi-lang-yaml=\"`discoveryAgentId`\" pulumi-lang-java=\"`discoveryAgentId`\" pulumi-lang-hcl=\"`discovery_agent_id`\"\u003e`discoveryAgentId`\u003c/span\u003e is applied at registration (create) time only; it is not sent on update, so changing it on an existing resource has no effect unless the resource is recreated.\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"
                },
                "autopilotEnabled": {
                    "type": "boolean",
                    "description": "Enable autopilot mode for the infrastructure.\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"
                },
                "resources": {
                    "$ref": "#/types/harness:chaos/InfrastructureV2Resources:InfrastructureV2Resources",
                    "description": "Compute resource requirements (requests and limits) for the chaos infrastructure pods.\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"
                },
                "autopilotEnabled": {
                    "type": "boolean",
                    "description": "Enable autopilot mode for the infrastructure.\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"
                },
                "resources": {
                    "$ref": "#/types/harness:chaos/InfrastructureV2Resources:InfrastructureV2Resources",
                    "description": "Compute resource requirements (requests and limits) for the chaos infrastructure pods.\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"
                    },
                    "autopilotEnabled": {
                        "type": "boolean",
                        "description": "Enable autopilot mode for the infrastructure.\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"
                    },
                    "resources": {
                        "$ref": "#/types/harness:chaos/InfrastructureV2Resources:InfrastructureV2Resources",
                        "description": "Compute resource requirements (requests and limits) for the chaos infrastructure pods.\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/probeTemplate:ProbeTemplate": {
            "description": "Resource for managing Harness Chaos Probe Templates.\n\n## Supported probe types\n\nThe \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`\" pulumi-lang-hcl=\"`type`\"\u003e`type`\u003c/span\u003e attribute accepts the following values, each configured via its matching block:\n\n- `httpProbe` (\u003cspan pulumi-lang-nodejs=\"`httpProbe`\" pulumi-lang-dotnet=\"`HttpProbe`\" pulumi-lang-go=\"`httpProbe`\" pulumi-lang-python=\"`http_probe`\" pulumi-lang-yaml=\"`httpProbe`\" pulumi-lang-java=\"`httpProbe`\" pulumi-lang-hcl=\"`http_probe`\"\u003e`httpProbe`\u003c/span\u003e) - HTTP/HTTPS endpoint checks.\n- `cmdProbe` (\u003cspan pulumi-lang-nodejs=\"`cmdProbe`\" pulumi-lang-dotnet=\"`CmdProbe`\" pulumi-lang-go=\"`cmdProbe`\" pulumi-lang-python=\"`cmd_probe`\" pulumi-lang-yaml=\"`cmdProbe`\" pulumi-lang-java=\"`cmdProbe`\" pulumi-lang-hcl=\"`cmd_probe`\"\u003e`cmdProbe`\u003c/span\u003e) - command / shell output checks.\n- `k8sProbe` (\u003cspan pulumi-lang-nodejs=\"`k8sProbe`\" pulumi-lang-dotnet=\"`K8sProbe`\" pulumi-lang-go=\"`k8sProbe`\" pulumi-lang-python=\"`k8s_probe`\" pulumi-lang-yaml=\"`k8sProbe`\" pulumi-lang-java=\"`k8sProbe`\" pulumi-lang-hcl=\"`k8s_probe`\"\u003e`k8sProbe`\u003c/span\u003e) - Kubernetes resource checks.\n- `apmProbe` (\u003cspan pulumi-lang-nodejs=\"`apmProbe`\" pulumi-lang-dotnet=\"`ApmProbe`\" pulumi-lang-go=\"`apmProbe`\" pulumi-lang-python=\"`apm_probe`\" pulumi-lang-yaml=\"`apmProbe`\" pulumi-lang-java=\"`apmProbe`\" pulumi-lang-hcl=\"`apm_probe`\"\u003e`apmProbe`\u003c/span\u003e) - APM provider checks.\n\nFor \u003cspan pulumi-lang-nodejs=\"`apmProbe`\" pulumi-lang-dotnet=\"`ApmProbe`\" pulumi-lang-go=\"`apmProbe`\" pulumi-lang-python=\"`apm_probe`\" pulumi-lang-yaml=\"`apmProbe`\" pulumi-lang-java=\"`apmProbe`\" pulumi-lang-hcl=\"`apm_probe`\"\u003e`apmProbe`\u003c/span\u003e, the following providers are supported: Prometheus, Datadog, Dynatrace, AppDynamics, New Relic, Splunk Observability, and GCP Cloud Monitoring.\n\n## Not currently supported\n\nThe following exist in the Harness API but are **not yet supported** by this resource:\n\n- Probe types other than `httpProbe`, `cmdProbe`, `k8sProbe`, and `apmProbe`.\n- \u003cspan pulumi-lang-nodejs=\"`httpProbe`\" pulumi-lang-dotnet=\"`HttpProbe`\" pulumi-lang-go=\"`httpProbe`\" pulumi-lang-python=\"`http_probe`\" pulumi-lang-yaml=\"`httpProbe`\" pulumi-lang-java=\"`httpProbe`\" pulumi-lang-hcl=\"`http_probe`\"\u003e`httpProbe`\u003c/span\u003e: the \u003cspan pulumi-lang-nodejs=\"`headers`\" pulumi-lang-dotnet=\"`Headers`\" pulumi-lang-go=\"`headers`\" pulumi-lang-python=\"`headers`\" pulumi-lang-yaml=\"`headers`\" pulumi-lang-java=\"`headers`\" pulumi-lang-hcl=\"`headers`\"\u003e`headers`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`auth`\" pulumi-lang-dotnet=\"`Auth`\" pulumi-lang-go=\"`auth`\" pulumi-lang-python=\"`auth`\" pulumi-lang-yaml=\"`auth`\" pulumi-lang-java=\"`auth`\" pulumi-lang-hcl=\"`auth`\"\u003e`auth`\u003c/span\u003e, and \u003cspan pulumi-lang-nodejs=\"`tlsConfig`\" pulumi-lang-dotnet=\"`TlsConfig`\" pulumi-lang-go=\"`tlsConfig`\" pulumi-lang-python=\"`tls_config`\" pulumi-lang-yaml=\"`tlsConfig`\" pulumi-lang-java=\"`tlsConfig`\" pulumi-lang-hcl=\"`tls_config`\"\u003e`tlsConfig`\u003c/span\u003e options are not yet configurable.\n\n## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# ============================================================================\n# Harness Chaos Probe Template Resource Examples\n# ============================================================================\n#\n# Probe templates define health checks for chaos experiments.\n# These examples are based on TESTED configurations from the e2e-test suite.\n#\n# Key Points:\n# - Probe types: httpProbe, cmdProbe, k8sProbe, promProbe\n# - Runtime inputs supported: \"\u003c+input\u003e.default('value')\"\n# - Run properties control probe behavior (timeout, interval, etc.)\n# ============================================================================\n# ----------------------------------------------------------------------------\n# Example 1: K8s Probe (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Most common pattern: Kubernetes resource probe\nresource \"harness_chaos_probetemplate\" \"k8s_probe\" {\n  depends_on          = [projectLevel]\n  org_id              = this.id\n  project_id          = thisHarnessPlatformProject.id\n  hub_identity        = projectLevel.identity\n  identity            = \"k8s-probe-template\"\n  name                = \"K8s Probe Template\"\n  description         = \"Kubernetes resource probe for deployment health\"\n  type                = \"k8sProbe\"\n  infrastructure_type = \"KubernetesV2\"\n  tags                = [\"kubernetes\", \"probe\", \"health-check\"]\n  k8s_probe = {\n    resource  = \"deployments\"\n    namespace = \"\u003c+input\u003e.default('default')\"\n    operation = \"present\"\n    version   = \"v1\"\n  }\n  run_properties = {\n    timeout         = \"15s\"\n    interval        = \"5s\"\n    stop_on_failure = false\n    verbosity       = \"INFO\"\n  }\n  variables {\n    name        = \"target_namespace\"\n    value       = \"\u003c+input\u003e\"\n    type        = \"string\"\n    required    = false\n    description = \"Kubernetes namespace to probe\"\n  }\n}\n# ----------------------------------------------------------------------------\n# Example 2: HTTP Probe (TESTED ✅)\n# ----------------------------------------------------------------------------\n# HTTP endpoint health check probe\nresource \"harness_chaos_probetemplate\" \"http_probe\" {\n  depends_on          = [projectLevel]\n  org_id              = this.id\n  project_id          = thisHarnessPlatformProject.id\n  hub_identity        = projectLevel.identity\n  identity            = \"http-probe-template\"\n  name                = \"HTTP Probe Template\"\n  description         = \"HTTP endpoint health check\"\n  type                = \"httpProbe\"\n  infrastructure_type = \"KubernetesV2\"\n  tags                = [\"http\", \"probe\", \"endpoint\"]\n  http_probe = {\n    url    = \"\u003c+input\u003e.default('http://localhost:8080/health')\"\n    method = \"GET\" [0]\n    headers = [{\n      \"key\"   = \"Content-Type\"\n      \"value\" = \"application/json\"\n      }, {\n      \"key\"   = \"Authorization\"\n      \"value\" = \"\u003c+input\u003e\"\n    }]\n  }\n  run_properties = {\n    timeout          = \"30s\"\n    interval         = \"10s\"\n    polling_interval = \"2s\"\n    stop_on_failure  = true\n    verbosity        = \"INFO\"\n  }\n  variables {\n    name        = \"endpoint_url\"\n    value       = \"\u003c+input\u003e\"\n    type        = \"string\"\n    required    = true\n    description = \"HTTP endpoint URL to probe\"\n  }\n}\n# ----------------------------------------------------------------------------\n# Example 3: CMD Probe (TESTED ✅)\n# ----------------------------------------------------------------------------\n# Command execution probe\nresource \"harness_chaos_probetemplate\" \"cmd_probe\" {\n  depends_on          = [projectLevel]\n  org_id              = this.id\n  project_id          = thisHarnessPlatformProject.id\n  hub_identity        = projectLevel.identity\n  identity            = \"cmd-probe-template\"\n  name                = \"CMD Probe Template\"\n  description         = \"Command execution probe for custom checks\"\n  type                = \"cmdProbe\"\n  infrastructure_type = \"KubernetesV2\"\n  tags                = [\"cmd\", \"probe\", \"custom\"]\n  cmd_probe = {\n    command = \"kubectl get pods -n \u003c+input\u003e | grep Running\"\n  }\n  run_properties = {\n    timeout         = \"20s\"\n    interval        = \"5s\"\n    stop_on_failure = false\n    verbosity       = \"DEBUG\"\n  }\n  variables {\n    name        = \"check_namespace\"\n    value       = \"\u003c+input\u003e.default('default')\"\n    type        = \"string\"\n    required    = false\n    description = \"Namespace to check for running pods\"\n  }\n}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n## Import\n\nThe `pulumi import` command can be used, for example:\n\nExample 1: Import Project-level Probe Template\nFormat: org_id/project_id/hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/probeTemplate:ProbeTemplate example my_org/my_project/my-chaos-hub/http-health-check\n```\n\nExample 2: Import Org-level Probe Template\nFormat: org_id/hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/probeTemplate:ProbeTemplate org_example my_org/org-chaos-hub/org-http-probe\n```\n\nExample 3: Import Account-level Probe Template\nFormat: hub_identity/template_identity\n\n```sh\n$ pulumi import harness:chaos/probeTemplate:ProbeTemplate account_example account-chaos-hub/account-k8s-probe\n```\n\n",
            "properties": {
                "accountId": {
                    "type": "string",
                    "description": "Account identifier.\n"
                },
                "apmProbe": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbe:ProbeTemplateApmProbe",
                    "description": "APM probe configuration. Required when type is 'apmProbe'.\n"
                },
                "cmdProbe": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateCmdProbe:ProbeTemplateCmdProbe",
                    "description": "Command probe configuration. Required when type is 'cmdProbe'.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the probe template.\n"
                },
                "httpProbe": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateHttpProbe:ProbeTemplateHttpProbe",
                    "description": "HTTP probe configuration. Required when type is 'httpProbe'.\n"
                },
                "hubIdentity": {
                    "type": "string",
                    "description": "Identity of the chaos hub this probe template belongs to.\n"
                },
                "hubRef": {
                    "type": "string",
                    "description": "Hub reference.\n"
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the probe template (immutable).\n"
                },
                "infrastructureType": {
                    "type": "string",
                    "description": "Infrastructure type for the probe template. Valid values: Kubernetes, KubernetesV2, Windows, Linux, CloudFoundry, Container.\n"
                },
                "isDefault": {
                    "type": "boolean",
                    "description": "Whether this is the default version for predefined probes.\n"
                },
                "k8sProbe": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateK8sProbe:ProbeTemplateK8sProbe",
                    "description": "Kubernetes probe configuration. Required when type is 'k8sProbe'.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the probe template.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Project identifier.\n"
                },
                "revision": {
                    "type": "integer",
                    "description": "Revision number of the probe template.\n"
                },
                "runProperties": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateRunProperties:ProbeTemplateRunProperties",
                    "description": "Run properties for the probe template execution.\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags to associate with the probe template.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Type of the probe template. Valid values: httpProbe, cmdProbe, k8sProbe, promProbe, sloProbe, datadogProbe, dynatraceProbe, containerProbe, apmProbe.\n"
                },
                "variables": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ProbeTemplateVariable:ProbeTemplateVariable"
                    },
                    "description": "Template variables that can be used in the probe.\n"
                }
            },
            "required": [
                "accountId",
                "hubIdentity",
                "hubRef",
                "identity",
                "isDefault",
                "name",
                "revision",
                "type"
            ],
            "inputProperties": {
                "apmProbe": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateApmProbe:ProbeTemplateApmProbe",
                    "description": "APM probe configuration. Required when type is 'apmProbe'.\n"
                },
                "cmdProbe": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateCmdProbe:ProbeTemplateCmdProbe",
                    "description": "Command probe configuration. Required when type is 'cmdProbe'.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the probe template.\n"
                },
                "httpProbe": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateHttpProbe:ProbeTemplateHttpProbe",
                    "description": "HTTP probe configuration. Required when type is 'httpProbe'.\n"
                },
                "hubIdentity": {
                    "type": "string",
                    "description": "Identity of the chaos hub this probe template belongs to.\n",
                    "willReplaceOnChanges": true
                },
                "identity": {
                    "type": "string",
                    "description": "Unique identifier for the probe template (immutable).\n",
                    "willReplaceOnChanges": true
                },
                "infrastructureType": {
                    "type": "string",
                    "description": "Infrastructure type for the probe template. Valid values: Kubernetes, KubernetesV2, Windows, Linux, CloudFoundry, Container.\n"
                },
                "k8sProbe": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateK8sProbe:ProbeTemplateK8sProbe",
                    "description": "Kubernetes probe configuration. Required when type is 'k8sProbe'.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Name of the probe template.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "runProperties": {
                    "$ref": "#/types/harness:chaos/ProbeTemplateRunProperties:ProbeTemplateRunProperties",
                    "description": "Run properties for the probe template execution.\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags to associate with the probe template.\n"
                },
                "type": {
                    "type": "string",
                    "description": "Type of the probe template. Valid values: httpProbe, cmdProbe, k8sProbe, promProbe, sloProbe, datadogProbe, dynatraceProbe, containerProbe, apmProbe.\n"
                },
                "variables": {
                    "type": "array",
                    "items": {
                        "$ref": "#/types/harness:chaos/ProbeTemplateVariable:ProbeTemplateVariable"
                    },
                    "description": "Template variables that can be used in the probe.\n"
                }
            },
            "requiredInputs": [
                "hubIdentity",
                "identity",
                "type"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ProbeTemplate resources.\n",
                "properties": {
                    "accountId": {
                        "type": "string",
                        "description": "Account identifier.\n"
                    },
                    "apmProbe": {
                        "$ref": "#/types/harness:chaos/ProbeTemplateApmProbe:ProbeTemplateApmProbe",
                        "description": "APM probe configuration. Required when type is 'apmProbe'.\n"
                    },
                    "cmdProbe": {
                        "$ref": "#/types/harness:chaos/ProbeTemplateCmdProbe:ProbeTemplateCmdProbe",
                        "description": "Command probe configuration. Required when type is 'cmdProbe'.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the probe template.\n"
                    },
                    "httpProbe": {
                        "$ref": "#/types/harness:chaos/ProbeTemplateHttpProbe:ProbeTemplateHttpProbe",
                        "description": "HTTP probe configuration. Required when type is 'httpProbe'.\n"
                    },
                    "hubIdentity": {
                        "type": "string",
                        "description": "Identity of the chaos hub this probe template belongs to.\n",
                        "willReplaceOnChanges": true
                    },
                    "hubRef": {
                        "type": "string",
                        "description": "Hub reference.\n"
                    },
                    "identity": {
                        "type": "string",
                        "description": "Unique identifier for the probe template (immutable).\n",
                        "willReplaceOnChanges": true
                    },
                    "infrastructureType": {
                        "type": "string",
                        "description": "Infrastructure type for the probe template. Valid values: Kubernetes, KubernetesV2, Windows, Linux, CloudFoundry, Container.\n"
                    },
                    "isDefault": {
                        "type": "boolean",
                        "description": "Whether this is the default version for predefined probes.\n"
                    },
                    "k8sProbe": {
                        "$ref": "#/types/harness:chaos/ProbeTemplateK8sProbe:ProbeTemplateK8sProbe",
                        "description": "Kubernetes probe configuration. Required when type is 'k8sProbe'.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Name of the probe template.\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "revision": {
                        "type": "integer",
                        "description": "Revision number of the probe template.\n"
                    },
                    "runProperties": {
                        "$ref": "#/types/harness:chaos/ProbeTemplateRunProperties:ProbeTemplateRunProperties",
                        "description": "Run properties for the probe template execution.\n"
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Tags to associate with the probe template.\n"
                    },
                    "type": {
                        "type": "string",
                        "description": "Type of the probe template. Valid values: httpProbe, cmdProbe, k8sProbe, promProbe, sloProbe, datadogProbe, dynatraceProbe, containerProbe, apmProbe.\n"
                    },
                    "variables": {
                        "type": "array",
                        "items": {
                            "$ref": "#/types/harness:chaos/ProbeTemplateVariable:ProbeTemplateVariable"
                        },
                        "description": "Template variables that can be used in the probe.\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Example of a Kubernetes Security Governance Condition\nresource \"harness_chaos_securitygovernancecondition\" \"k8s_condition\" {\n  org_id      = orgId\n  project_id  = projectId\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      \"faultType\" = \"FAULT\"\n      \"name\"      = \"pod-delete\"\n      }, {\n      \"faultType\" = \"FAULT\"\n      \"name\"      = \"pod-dns\"\n    }]\n  }\n  k8s_spec = {\n    infra_spec = {\n      operator  = \"EQUAL_TO\"\n      infra_ids = [k8sInfraId]\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        \"applicationMapId\" = \"nginx-app\"\n      }]\n    }\n    chaos_service_account_spec = {\n      operator         = \"EQUAL_TO\"\n      service_accounts = [\"default\", \"chaos-service-account\"]\n    }\n  }\n  tags = [\"env:prod\", \"team:security\", \"platform:k8s\"]\n}\n# Example of a Windows Security Governance Condition\nresource \"harness_chaos_securitygovernancecondition\" \"windows_condition\" {\n  org_id      = orgId\n  project_id  = projectId\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      \"faultType\" = \"FAULT\"\n      \"name\"      = \"process-kill\"\n      }, {\n      \"faultType\" = \"FAULT\"\n      \"name\"      = \"cpu-hog\"\n    }]\n  }\n  machine_spec = {\n    infra_spec = {\n      operator  = \"EQUAL_TO\"\n      infra_ids = [windowsInfraId]\n    }\n  }\n  tags = [\"env:prod\", \"team:security\", \"platform:windows\"]\n}\n# Example of a Linux Security Governance Condition\nresource \"harness_chaos_securitygovernancecondition\" \"linux_condition\" {\n  org_id      = orgId\n  project_id  = projectId\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      \"faultType\" = \"FAULT\"\n      \"name\"      = \"process-kill\"\n      }, {\n      \"faultType\" = \"FAULT\"\n      \"name\"      = \"memory-hog\"\n    }]\n  }\n  machine_spec = {\n    infra_spec = {\n      operator  = \"EQUAL_TO\"\n      infra_ids = [linuxInfraId]\n    }\n  }\n  tags = [\"env:prod\", \"team:security\", \"platform:linux\"]\n}\n# Output the created conditions\noutput \"k8sConditionId\" {\n  value = harness_chaos_securitygovernancecondition.k8s_condition.id\n}\noutput \"windowsConditionId\" {\n  value = harness_chaos_securitygovernancecondition.windows_condition.id\n}\noutput \"linuxConditionId\" {\n  value = harness_chaos_securitygovernancecondition.linux_condition.id\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.SecurityGovernanceConditionFaultSpecFaultArgs;\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.SecurityGovernanceConditionK8sSpecApplicationSpecWorkloadArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionK8sSpecChaosServiceAccountSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionMachineSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionMachineSpecInfraSpecArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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/securityGovernanceConditionV3:SecurityGovernanceConditionV3": {
            "description": "Resource for managing a Harness Chaos Security Governance Condition (V3 / REST API). A condition defines which faults and infrastructure a governance rule applies to.\n\n## Usage notes\n\n- \u003cspan pulumi-lang-nodejs=\"`infraType`\" pulumi-lang-dotnet=\"`InfraType`\" pulumi-lang-go=\"`infraType`\" pulumi-lang-python=\"`infra_type`\" pulumi-lang-yaml=\"`infraType`\" pulumi-lang-java=\"`infraType`\" pulumi-lang-hcl=\"`infra_type`\"\u003e`infraType`\u003c/span\u003e (required, immutable) accepts `Kubernetes`, `KubernetesV2`, `Linux`, `Windows`, `CloudFoundry`, `Container`.\n- \u003cspan pulumi-lang-nodejs=\"`faultSpec`\" pulumi-lang-dotnet=\"`FaultSpec`\" pulumi-lang-go=\"`faultSpec`\" pulumi-lang-python=\"`fault_spec`\" pulumi-lang-yaml=\"`faultSpec`\" pulumi-lang-java=\"`faultSpec`\" pulumi-lang-hcl=\"`fault_spec`\"\u003e`faultSpec`\u003c/span\u003e is always required.\n- Use \u003cspan pulumi-lang-nodejs=\"`k8sSpec`\" pulumi-lang-dotnet=\"`K8sSpec`\" pulumi-lang-go=\"`k8sSpec`\" pulumi-lang-python=\"`k8s_spec`\" pulumi-lang-yaml=\"`k8sSpec`\" pulumi-lang-java=\"`k8sSpec`\" pulumi-lang-hcl=\"`k8s_spec`\"\u003e`k8sSpec`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`infraType`\" pulumi-lang-dotnet=\"`InfraType`\" pulumi-lang-go=\"`infraType`\" pulumi-lang-python=\"`infra_type`\" pulumi-lang-yaml=\"`infraType`\" pulumi-lang-java=\"`infraType`\" pulumi-lang-hcl=\"`infra_type`\"\u003e`infraType`\u003c/span\u003e is `Kubernetes` or `KubernetesV2`; use \u003cspan pulumi-lang-nodejs=\"`machineSpec`\" pulumi-lang-dotnet=\"`MachineSpec`\" pulumi-lang-go=\"`machineSpec`\" pulumi-lang-python=\"`machine_spec`\" pulumi-lang-yaml=\"`machineSpec`\" pulumi-lang-java=\"`machineSpec`\" pulumi-lang-hcl=\"`machine_spec`\"\u003e`machineSpec`\u003c/span\u003e when \u003cspan pulumi-lang-nodejs=\"`infraType`\" pulumi-lang-dotnet=\"`InfraType`\" pulumi-lang-go=\"`infraType`\" pulumi-lang-python=\"`infra_type`\" pulumi-lang-yaml=\"`infraType`\" pulumi-lang-java=\"`infraType`\" pulumi-lang-hcl=\"`infra_type`\"\u003e`infraType`\u003c/span\u003e is `Linux` or `Windows`. For `CloudFoundry`/`Container`, only \u003cspan pulumi-lang-nodejs=\"`faultSpec`\" pulumi-lang-dotnet=\"`FaultSpec`\" pulumi-lang-go=\"`faultSpec`\" pulumi-lang-python=\"`fault_spec`\" pulumi-lang-yaml=\"`faultSpec`\" pulumi-lang-java=\"`faultSpec`\" pulumi-lang-hcl=\"`fault_spec`\"\u003e`faultSpec`\u003c/span\u003e applies.\n- All \u003cspan pulumi-lang-nodejs=\"`operator`\" pulumi-lang-dotnet=\"`Operator`\" pulumi-lang-go=\"`operator`\" pulumi-lang-python=\"`operator`\" pulumi-lang-yaml=\"`operator`\" pulumi-lang-java=\"`operator`\" pulumi-lang-hcl=\"`operator`\"\u003e`operator`\u003c/span\u003e fields accept `EQUAL_TO` or `NOT_EQUAL_TO`.\n\n## Behavior notes\n\n- `fault_spec.fault_type`: the legacy value `FAULT_NAME` is normalized to `FAULT` to stay consistent with the Harness UI, GraphQL, and existing conditions. If you set `FAULT_NAME`, it is stored and read back as `FAULT`. Use `FAULT` or `FAULT_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\n// Example of a Kubernetes Security Governance Condition (V3)\nconst k8sCondition = new harness.chaos.SecurityGovernanceConditionV3(\"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 Linux Security Governance Condition (V3)\nconst linuxCondition = new harness.chaos.SecurityGovernanceConditionV3(\"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 k8sConditionV3Id = k8sCondition.id;\nexport const linuxConditionV3Id = linuxCondition.id;\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Example of a Kubernetes Security Governance Condition (V3)\nk8s_condition = harness.chaos.SecurityGovernanceConditionV3(\"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 Linux Security Governance Condition (V3)\nlinux_condition = harness.chaos.SecurityGovernanceConditionV3(\"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(\"k8sConditionV3Id\", k8s_condition.id)\npulumi.export(\"linuxConditionV3Id\", 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 (V3)\n    var k8sCondition = new Harness.Chaos.SecurityGovernanceConditionV3(\"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.SecurityGovernanceConditionV3FaultSpecArgs\n        {\n            Operator = \"NOT_EQUAL_TO\",\n            Faults = new[]\n            {\n                new Harness.Chaos.Inputs.SecurityGovernanceConditionV3FaultSpecFaultArgs\n                {\n                    FaultType = \"FAULT\",\n                    Name = \"pod-delete\",\n                },\n                new Harness.Chaos.Inputs.SecurityGovernanceConditionV3FaultSpecFaultArgs\n                {\n                    FaultType = \"FAULT\",\n                    Name = \"pod-dns\",\n                },\n            },\n        },\n        K8sSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionV3K8sSpecArgs\n        {\n            InfraSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionV3K8sSpecInfraSpecArgs\n            {\n                Operator = \"EQUAL_TO\",\n                InfraIds = new[]\n                {\n                    k8sInfraId,\n                },\n            },\n            ApplicationSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionV3K8sSpecApplicationSpecArgs\n            {\n                Operator = \"EQUAL_TO\",\n                Workloads = new[]\n                {\n                    new Harness.Chaos.Inputs.SecurityGovernanceConditionV3K8sSpecApplicationSpecWorkloadArgs\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.SecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpecArgs\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 Linux Security Governance Condition (V3)\n    var linuxCondition = new Harness.Chaos.SecurityGovernanceConditionV3(\"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.SecurityGovernanceConditionV3FaultSpecArgs\n        {\n            Operator = \"NOT_EQUAL_TO\",\n            Faults = new[]\n            {\n                new Harness.Chaos.Inputs.SecurityGovernanceConditionV3FaultSpecFaultArgs\n                {\n                    FaultType = \"FAULT\",\n                    Name = \"process-kill\",\n                },\n                new Harness.Chaos.Inputs.SecurityGovernanceConditionV3FaultSpecFaultArgs\n                {\n                    FaultType = \"FAULT\",\n                    Name = \"memory-hog\",\n                },\n            },\n        },\n        MachineSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionV3MachineSpecArgs\n        {\n            InfraSpec = new Harness.Chaos.Inputs.SecurityGovernanceConditionV3MachineSpecInfraSpecArgs\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        [\"k8sConditionV3Id\"] = k8sCondition.Id,\n        [\"linuxConditionV3Id\"] = 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 (V3)\n\t\tk8sCondition, err := chaos.NewSecurityGovernanceConditionV3(ctx, \"k8s_condition\", \u0026chaos.SecurityGovernanceConditionV3Args{\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.SecurityGovernanceConditionV3FaultSpecArgs{\n\t\t\t\tOperator: pulumi.String(\"NOT_EQUAL_TO\"),\n\t\t\t\tFaults: chaos.SecurityGovernanceConditionV3FaultSpecFaultArray{\n\t\t\t\t\t\u0026chaos.SecurityGovernanceConditionV3FaultSpecFaultArgs{\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.SecurityGovernanceConditionV3FaultSpecFaultArgs{\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.SecurityGovernanceConditionV3K8sSpecArgs{\n\t\t\t\tInfraSpec: \u0026chaos.SecurityGovernanceConditionV3K8sSpecInfraSpecArgs{\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.SecurityGovernanceConditionV3K8sSpecApplicationSpecArgs{\n\t\t\t\t\tOperator: pulumi.String(\"EQUAL_TO\"),\n\t\t\t\t\tWorkloads: chaos.SecurityGovernanceConditionV3K8sSpecApplicationSpecWorkloadArray{\n\t\t\t\t\t\t\u0026chaos.SecurityGovernanceConditionV3K8sSpecApplicationSpecWorkloadArgs{\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.SecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpecArgs{\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 Linux Security Governance Condition (V3)\n\t\tlinuxCondition, err := chaos.NewSecurityGovernanceConditionV3(ctx, \"linux_condition\", \u0026chaos.SecurityGovernanceConditionV3Args{\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.SecurityGovernanceConditionV3FaultSpecArgs{\n\t\t\t\tOperator: pulumi.String(\"NOT_EQUAL_TO\"),\n\t\t\t\tFaults: chaos.SecurityGovernanceConditionV3FaultSpecFaultArray{\n\t\t\t\t\t\u0026chaos.SecurityGovernanceConditionV3FaultSpecFaultArgs{\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.SecurityGovernanceConditionV3FaultSpecFaultArgs{\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.SecurityGovernanceConditionV3MachineSpecArgs{\n\t\t\t\tInfraSpec: \u0026chaos.SecurityGovernanceConditionV3MachineSpecInfraSpecArgs{\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(\"k8sConditionV3Id\", k8sCondition.ID())\n\t\tctx.Export(\"linuxConditionV3Id\", linuxCondition.ID())\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Example of a Kubernetes Security Governance Condition (V3)\nresource \"harness_chaos_securitygovernanceconditionv3\" \"k8s_condition\" {\n  org_id      = orgId\n  project_id  = projectId\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      \"faultType\" = \"FAULT\"\n      \"name\"      = \"pod-delete\"\n      }, {\n      \"faultType\" = \"FAULT\"\n      \"name\"      = \"pod-dns\"\n    }]\n  }\n  k8s_spec = {\n    infra_spec = {\n      operator  = \"EQUAL_TO\"\n      infra_ids = [k8sInfraId]\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        \"applicationMapId\" = \"nginx-app\"\n      }]\n    }\n    chaos_service_account_spec = {\n      operator         = \"EQUAL_TO\"\n      service_accounts = [\"default\", \"chaos-service-account\"]\n    }\n  }\n  tags = [\"env:prod\", \"team:security\", \"platform:k8s\"]\n}\n# Example of a Linux Security Governance Condition (V3)\nresource \"harness_chaos_securitygovernanceconditionv3\" \"linux_condition\" {\n  org_id      = orgId\n  project_id  = projectId\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      \"faultType\" = \"FAULT\"\n      \"name\"      = \"process-kill\"\n      }, {\n      \"faultType\" = \"FAULT\"\n      \"name\"      = \"memory-hog\"\n    }]\n  }\n  machine_spec = {\n    infra_spec = {\n      operator  = \"EQUAL_TO\"\n      infra_ids = [linuxInfraId]\n    }\n  }\n  tags = [\"env:prod\", \"team:security\", \"platform:linux\"]\n}\n# Output the created conditions\noutput \"k8sConditionV3Id\" {\n  value = harness_chaos_securitygovernanceconditionv3.k8s_condition.id\n}\noutput \"linuxConditionV3Id\" {\n  value = harness_chaos_securitygovernanceconditionv3.linux_condition.id\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.SecurityGovernanceConditionV3;\nimport com.pulumi.harness.chaos.SecurityGovernanceConditionV3Args;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionV3FaultSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionV3FaultSpecFaultArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionV3K8sSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionV3K8sSpecInfraSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionV3K8sSpecApplicationSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionV3K8sSpecApplicationSpecWorkloadArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionV3MachineSpecArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceConditionV3MachineSpecInfraSpecArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 (V3)\n        var k8sCondition = new SecurityGovernanceConditionV3(\"k8sCondition\", SecurityGovernanceConditionV3Args.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(SecurityGovernanceConditionV3FaultSpecArgs.builder()\n                .operator(\"NOT_EQUAL_TO\")\n                .faults(                \n                    SecurityGovernanceConditionV3FaultSpecFaultArgs.builder()\n                        .faultType(\"FAULT\")\n                        .name(\"pod-delete\")\n                        .build(),\n                    SecurityGovernanceConditionV3FaultSpecFaultArgs.builder()\n                        .faultType(\"FAULT\")\n                        .name(\"pod-dns\")\n                        .build())\n                .build())\n            .k8sSpec(SecurityGovernanceConditionV3K8sSpecArgs.builder()\n                .infraSpec(SecurityGovernanceConditionV3K8sSpecInfraSpecArgs.builder()\n                    .operator(\"EQUAL_TO\")\n                    .infraIds(k8sInfraId)\n                    .build())\n                .applicationSpec(SecurityGovernanceConditionV3K8sSpecApplicationSpecArgs.builder()\n                    .operator(\"EQUAL_TO\")\n                    .workloads(SecurityGovernanceConditionV3K8sSpecApplicationSpecWorkloadArgs.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(SecurityGovernanceConditionV3K8sSpecChaosServiceAccountSpecArgs.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 Linux Security Governance Condition (V3)\n        var linuxCondition = new SecurityGovernanceConditionV3(\"linuxCondition\", SecurityGovernanceConditionV3Args.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(SecurityGovernanceConditionV3FaultSpecArgs.builder()\n                .operator(\"NOT_EQUAL_TO\")\n                .faults(                \n                    SecurityGovernanceConditionV3FaultSpecFaultArgs.builder()\n                        .faultType(\"FAULT\")\n                        .name(\"process-kill\")\n                        .build(),\n                    SecurityGovernanceConditionV3FaultSpecFaultArgs.builder()\n                        .faultType(\"FAULT\")\n                        .name(\"memory-hog\")\n                        .build())\n                .build())\n            .machineSpec(SecurityGovernanceConditionV3MachineSpecArgs.builder()\n                .infraSpec(SecurityGovernanceConditionV3MachineSpecInfraSpecArgs.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(\"k8sConditionV3Id\", k8sCondition.id());\n        ctx.export(\"linuxConditionV3Id\", linuxCondition.id());\n    }\n}\n```\n```yaml\nresources:\n  # Example of a Kubernetes Security Governance Condition (V3)\n  k8sCondition:\n    type: harness:chaos:SecurityGovernanceConditionV3\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 Linux Security Governance Condition (V3)\n  linuxCondition:\n    type: harness:chaos:SecurityGovernanceConditionV3\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  k8sConditionV3Id: ${k8sCondition.id}\n  linuxConditionV3Id: ${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 (V3)\n\n```sh\n$ pulumi import harness:chaos/securityGovernanceConditionV3:SecurityGovernanceConditionV3 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/SecurityGovernanceConditionV3FaultSpec:SecurityGovernanceConditionV3FaultSpec",
                    "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/SecurityGovernanceConditionV3K8sSpec:SecurityGovernanceConditionV3K8sSpec",
                    "description": "Kubernetes specific configuration (required when infra*type is Kubernetes or KubernetesV2)\n"
                },
                "machineSpec": {
                    "$ref": "#/types/harness:chaos/SecurityGovernanceConditionV3MachineSpec:SecurityGovernanceConditionV3MachineSpec",
                    "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/SecurityGovernanceConditionV3FaultSpec:SecurityGovernanceConditionV3FaultSpec",
                    "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/SecurityGovernanceConditionV3K8sSpec:SecurityGovernanceConditionV3K8sSpec",
                    "description": "Kubernetes specific configuration (required when infra*type is Kubernetes or KubernetesV2)\n"
                },
                "machineSpec": {
                    "$ref": "#/types/harness:chaos/SecurityGovernanceConditionV3MachineSpec:SecurityGovernanceConditionV3MachineSpec",
                    "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 SecurityGovernanceConditionV3 resources.\n",
                "properties": {
                    "description": {
                        "type": "string",
                        "description": "Description of the security governance condition\n"
                    },
                    "faultSpec": {
                        "$ref": "#/types/harness:chaos/SecurityGovernanceConditionV3FaultSpec:SecurityGovernanceConditionV3FaultSpec",
                        "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/SecurityGovernanceConditionV3K8sSpec:SecurityGovernanceConditionV3K8sSpec",
                        "description": "Kubernetes specific configuration (required when infra*type is Kubernetes or KubernetesV2)\n"
                    },
                    "machineSpec": {
                        "$ref": "#/types/harness:chaos/SecurityGovernanceConditionV3MachineSpec:SecurityGovernanceConditionV3MachineSpec",
                        "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\": int(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\": int(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\": int(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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n// K8s Rule\nresource \"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           = [\"\u003ctag1\u003e\", \"\u003ctag2\u003e\"]\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// Linux Rule\nresource \"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           = [\"\u003ctag1\u003e\", \"\u003ctag2\u003e\"]\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// Windows Rule\nresource \"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           = [\"\u003ctag1\u003e\", \"\u003ctag2\u003e\"]\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```\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.ArrayList;\nimport java.util.Arrays;\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:chaos/securityGovernanceRuleV3:SecurityGovernanceRuleV3": {
            "description": "Resource for managing a Harness Chaos Security Governance Rule (V3 / REST API). A rule binds one or more governance conditions to user groups and active time windows to control when chaos experiments may run.\n\n## Usage notes\n\n- \u003cspan pulumi-lang-nodejs=\"`conditionIds`\" pulumi-lang-dotnet=\"`ConditionIds`\" pulumi-lang-go=\"`conditionIds`\" pulumi-lang-python=\"`condition_ids`\" pulumi-lang-yaml=\"`conditionIds`\" pulumi-lang-java=\"`conditionIds`\" pulumi-lang-hcl=\"`condition_ids`\"\u003e`conditionIds`\u003c/span\u003e is required and must contain at least one condition (references may be bare IDs or `org/project/condition-id` - only the trailing ID segment is used).\n- \u003cspan pulumi-lang-nodejs=\"`timeWindows`\" pulumi-lang-dotnet=\"`TimeWindows`\" pulumi-lang-go=\"`timeWindows`\" pulumi-lang-python=\"`time_windows`\" pulumi-lang-yaml=\"`timeWindows`\" pulumi-lang-java=\"`timeWindows`\" pulumi-lang-hcl=\"`time_windows`\"\u003e`timeWindows`\u003c/span\u003e is required. Within a window, provide **either** \u003cspan pulumi-lang-nodejs=\"`duration`\" pulumi-lang-dotnet=\"`Duration`\" pulumi-lang-go=\"`duration`\" pulumi-lang-python=\"`duration`\" pulumi-lang-yaml=\"`duration`\" pulumi-lang-java=\"`duration`\" pulumi-lang-hcl=\"`duration`\"\u003e`duration`\u003c/span\u003e **or** \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\" pulumi-lang-hcl=\"`end_time`\"\u003e`endTime`\u003c/span\u003e (they are mutually exclusive; the backend derives the other). \u003cspan pulumi-lang-nodejs=\"`endTime`\" pulumi-lang-dotnet=\"`EndTime`\" pulumi-lang-go=\"`endTime`\" pulumi-lang-python=\"`end_time`\" pulumi-lang-yaml=\"`endTime`\" pulumi-lang-java=\"`endTime`\" pulumi-lang-hcl=\"`end_time`\"\u003e`endTime`\u003c/span\u003e must be within one year of \u003cspan pulumi-lang-nodejs=\"`startTime`\" pulumi-lang-dotnet=\"`StartTime`\" pulumi-lang-go=\"`startTime`\" pulumi-lang-python=\"`start_time`\" pulumi-lang-yaml=\"`startTime`\" pulumi-lang-java=\"`startTime`\" pulumi-lang-hcl=\"`start_time`\"\u003e`startTime`\u003c/span\u003e, so \u003cspan pulumi-lang-nodejs=\"`duration`\" pulumi-lang-dotnet=\"`Duration`\" pulumi-lang-go=\"`duration`\" pulumi-lang-python=\"`duration`\" pulumi-lang-yaml=\"`duration`\" pulumi-lang-java=\"`duration`\" pulumi-lang-hcl=\"`duration`\"\u003e`duration`\u003c/span\u003e is often easier.\n- `recurrence.type` accepts `None`, `Daily`, `Weekly`, `Monthly`, `Yearly`; `recurrence.value` (day of month) applies only when `type = Monthly`; use `until = -1` for no end.\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 Security Governance Rule (V3)\nconst example = new harness.chaos.SecurityGovernanceRuleV3(\"example\", {\n    orgId: orgId,\n    projectId: projectId,\n    name: \"k8s-security-rule\",\n    description: \"Security governance rule for Kubernetes chaos experiments\",\n    isEnabled: true,\n    conditionIds: [k8sCondition.id],\n    userGroupIds: [\"_project_all_users\"],\n    tags: [\n        \"env:prod\",\n        \"team:security\",\n    ],\n    timeWindows: [{\n        timeZone: \"UTC\",\n        startTime: 1711238400000,\n        duration: \"24h\",\n        recurrence: {\n            type: \"Daily\",\n            until: -1,\n        },\n    }],\n});\nexport const securityGovernanceRuleV3Id = example.id;\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Example of a Security Governance Rule (V3)\nexample = harness.chaos.SecurityGovernanceRuleV3(\"example\",\n    org_id=org_id,\n    project_id=project_id,\n    name=\"k8s-security-rule\",\n    description=\"Security governance rule for Kubernetes chaos experiments\",\n    is_enabled=True,\n    condition_ids=[k8s_condition[\"id\"]],\n    user_group_ids=[\"_project_all_users\"],\n    tags=[\n        \"env:prod\",\n        \"team:security\",\n    ],\n    time_windows=[{\n        \"time_zone\": \"UTC\",\n        \"start_time\": int(1711238400000),\n        \"duration\": \"24h\",\n        \"recurrence\": {\n            \"type\": \"Daily\",\n            \"until\": -1,\n        },\n    }])\npulumi.export(\"securityGovernanceRuleV3Id\", example.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 Security Governance Rule (V3)\n    var example = new Harness.Chaos.SecurityGovernanceRuleV3(\"example\", new()\n    {\n        OrgId = orgId,\n        ProjectId = projectId,\n        Name = \"k8s-security-rule\",\n        Description = \"Security governance rule for Kubernetes chaos experiments\",\n        IsEnabled = true,\n        ConditionIds = new[]\n        {\n            k8sCondition.Id,\n        },\n        UserGroupIds = new[]\n        {\n            \"_project_all_users\",\n        },\n        Tags = new[]\n        {\n            \"env:prod\",\n            \"team:security\",\n        },\n        TimeWindows = new[]\n        {\n            new Harness.Chaos.Inputs.SecurityGovernanceRuleV3TimeWindowArgs\n            {\n                TimeZone = \"UTC\",\n                StartTime = 1711238400000,\n                Duration = \"24h\",\n                Recurrence = new Harness.Chaos.Inputs.SecurityGovernanceRuleV3TimeWindowRecurrenceArgs\n                {\n                    Type = \"Daily\",\n                    Until = -1,\n                },\n            },\n        },\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"securityGovernanceRuleV3Id\"] = example.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 Security Governance Rule (V3)\n\t\texample, err := chaos.NewSecurityGovernanceRuleV3(ctx, \"example\", \u0026chaos.SecurityGovernanceRuleV3Args{\n\t\t\tOrgId:       pulumi.Any(orgId),\n\t\t\tProjectId:   pulumi.Any(projectId),\n\t\t\tName:        pulumi.String(\"k8s-security-rule\"),\n\t\t\tDescription: pulumi.String(\"Security governance rule for Kubernetes chaos experiments\"),\n\t\t\tIsEnabled:   pulumi.Bool(true),\n\t\t\tConditionIds: pulumi.StringArray{\n\t\t\t\tk8sCondition.Id,\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(\"env:prod\"),\n\t\t\t\tpulumi.String(\"team:security\"),\n\t\t\t},\n\t\t\tTimeWindows: chaos.SecurityGovernanceRuleV3TimeWindowArray{\n\t\t\t\t\u0026chaos.SecurityGovernanceRuleV3TimeWindowArgs{\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.SecurityGovernanceRuleV3TimeWindowRecurrenceArgs{\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\tctx.Export(\"securityGovernanceRuleV3Id\", example.ID())\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Example of a Security Governance Rule (V3)\nresource \"harness_chaos_securitygovernancerulev3\" \"example\" {\n  org_id         = orgId\n  project_id     = projectId\n  name           = \"k8s-security-rule\"\n  description    = \"Security governance rule for Kubernetes chaos experiments\"\n  is_enabled     = true\n  condition_ids  = [k8sCondition.id]\n  user_group_ids = [\"_project_all_users\"]\n  tags           = [\"env:prod\", \"team:security\"]\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}\noutput \"securityGovernanceRuleV3Id\" {\n  value = harness_chaos_securitygovernancerulev3.example.id\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.SecurityGovernanceRuleV3;\nimport com.pulumi.harness.chaos.SecurityGovernanceRuleV3Args;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceRuleV3TimeWindowArgs;\nimport com.pulumi.harness.chaos.inputs.SecurityGovernanceRuleV3TimeWindowRecurrenceArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 Security Governance Rule (V3)\n        var example = new SecurityGovernanceRuleV3(\"example\", SecurityGovernanceRuleV3Args.builder()\n            .orgId(orgId)\n            .projectId(projectId)\n            .name(\"k8s-security-rule\")\n            .description(\"Security governance rule for Kubernetes chaos experiments\")\n            .isEnabled(true)\n            .conditionIds(k8sCondition.id())\n            .userGroupIds(\"_project_all_users\")\n            .tags(            \n                \"env:prod\",\n                \"team:security\")\n            .timeWindows(SecurityGovernanceRuleV3TimeWindowArgs.builder()\n                .timeZone(\"UTC\")\n                .startTime(1711238400000)\n                .duration(\"24h\")\n                .recurrence(SecurityGovernanceRuleV3TimeWindowRecurrenceArgs.builder()\n                    .type(\"Daily\")\n                    .until(-1)\n                    .build())\n                .build())\n            .build());\n\n        ctx.export(\"securityGovernanceRuleV3Id\", example.id());\n    }\n}\n```\n```yaml\nresources:\n  # Example of a Security Governance Rule (V3)\n  example:\n    type: harness:chaos:SecurityGovernanceRuleV3\n    properties:\n      orgId: ${orgId}\n      projectId: ${projectId}\n      name: k8s-security-rule\n      description: Security governance rule for Kubernetes chaos experiments\n      isEnabled: true\n      conditionIds:\n        - ${k8sCondition.id}\n      userGroupIds:\n        - _project_all_users\n      tags:\n        - env:prod\n        - team:security\n      timeWindows:\n        - timeZone: UTC\n          startTime: 1.7112384e+12\n          duration: 24h\n          recurrence:\n            type: Daily\n            until: -1\noutputs:\n  securityGovernanceRuleV3Id: ${example.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 Rule (V3)\n\n```sh\n$ pulumi import harness:chaos/securityGovernanceRuleV3:SecurityGovernanceRuleV3 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/SecurityGovernanceRuleV3TimeWindow:SecurityGovernanceRuleV3TimeWindow"
                    },
                    "description": "Time windows during which the rule is active\n"
                },
                "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/SecurityGovernanceRuleV3TimeWindow:SecurityGovernanceRuleV3TimeWindow"
                    },
                    "description": "Time windows during which the rule is active\n"
                },
                "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 SecurityGovernanceRuleV3 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/SecurityGovernanceRuleV3TimeWindow:SecurityGovernanceRuleV3TimeWindow"
                        },
                        "description": "Time windows during which the rule is active\n"
                    },
                    "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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\"`create_before_destroy \"\u003e`createBeforeDestroy \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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_getsecretmanager\" \"default\" {\n  default = true\n}\n\nresource \"harness_encryptedtext\" \"aws_access_key\" {\n  name              = \"aws_access_key\"\n  value             = \"\u003cACCESS_KEY_ID\u003e\"\n  secret_manager_id = data.harness_getsecretmanager.default.id\n}\nresource \"harness_encryptedtext\" \"aws_secret_key\" {\n  name              = \"aws_secret_key\"\n  value             = \"\u003cSECRET_KEY_ID\u003e\"\n  secret_manager_id = data.harness_getsecretmanager.default.id\n}\nresource \"harness_cloudprovider_aws\" \"aws\" {\n  name                          = \"Example aws cloud provider\"\n  access_key_id_secret_name     = harness_encryptedtext.aws_access_key.name\n  secret_access_key_secret_name = harness_encryptedtext.aws_secret_key.name\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.ArrayList;\nimport java.util.Arrays;\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\"`create_before_destroy \"\u003e`createBeforeDestroy \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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_getsecretmanager\" \"default\" {\n  default = true\n}\n\nresource \"harness_encryptedtext\" \"azure_key\" {\n  name              = \"azure_key\"\n  value             = \"\u003cAZURE_KEY\u003e\"\n  secret_manager_id = data.harness_getsecretmanager.default.id\n}\nresource \"harness_cloudprovider_azure\" \"azure\" {\n  name      = \"azure\"\n  client_id = \"\u003cAZURE_CLIENT_ID\u003e\"\n  tenant_id = \"\u003cAZURE_TENANT_ID\u003e\"\n  key       = harness_encryptedtext.azure_key.name\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.ArrayList;\nimport java.util.Arrays;\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\"`create_before_destroy \"\u003e`createBeforeDestroy \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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_cloudprovider_datacenter\" \"example\" {\n  name = \"example\"\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.ArrayList;\nimport java.util.Arrays;\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\"`create_before_destroy \"\u003e`createBeforeDestroy \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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\"`create_before_destroy \"\u003e`createBeforeDestroy \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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\"`create_before_destroy \"\u003e`createBeforeDestroy \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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_getsecretmanager\" \"default\" {\n  default = true\n}\n\nresource \"harness_encryptedtext\" \"spot_token\" {\n  name              = \"spot_token\"\n  secret_manager_id = data.harness_getsecretmanager.default.id\n  value             = \"\u003cSPOT_TOKEN\u003e\"\n}\nresource \"harness_cloudprovider_spot\" \"example\" {\n  name              = \"example\"\n  account_id        = \"\u003cSPOT_ACCOUNT_ID\u003e\"\n  token_secret_name = harness_encryptedtext.spot_token.name\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.ArrayList;\nimport java.util.Arrays;\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\"`create_before_destroy \"\u003e`createBeforeDestroy \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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_getsecretmanager\" \"default\" {\n  default = true\n}\n\nresource \"harness_encryptedtext\" \"tanzu_password\" {\n  name              = \"tanzu_password\"\n  value             = \"\u003cPASSWORD\u003e\"\n  secret_manager_id = data.harness_getsecretmanager.default.id\n}\nresource \"harness_cloudprovider_tanzu\" \"example\" {\n  name                 = \"example\"\n  endpoint             = \"https://endpoint.com\"\n  skip_validation      = true\n  username             = \"\u003cUSERNAME\u003e\"\n  password_secret_name = harness_encryptedtext.tanzu_password.name\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.ArrayList;\nimport java.util.Arrays;\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.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.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.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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"aws_region\" \"current\" {\n}\n\nresource \"harness_cluster_orchestrator\" \"test\" {\n  name             = \"name\"\n  cluster_endpoint = \"http://test.test.com\"\n  k8s_connector_id = \"test\"\n  region           = data.aws_region.current.name\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.ArrayList;\nimport java.util.Arrays;\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\": float(50),\n        \"selector\": \"ALL\",\n        \"strategy\": \"CostOptimized\",\n    },\n    binpacking={\n        \"pod_eviction\": {\n            \"threshold\": {\n                \"cpu\": float(60),\n                \"memory\": float(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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_cluster_orchestratorconfig\" \"example\" {\n  orchestrator_id = \"orch-cvifpfl9rbg8neldj97g\"\n  disabled        = false # Set to true to disable the orchestrator\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        \"reasons\" = [\"Drifted\", \"Underutilized\", \"Empty\"]\n        \"nodes\"   = \"20\"\n        }, {\n        \"reasons\" = [\"Drifted\", \"Empty\"]\n        \"nodes\"   = \"1\"\n        \"schedule\" = {\n          \"frequency\" = \"@monthly\"\n          \"duration\"  = \"10m\"\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       = [\"SUN\", \"WED\", \"SAT\"]\n      time_zone  = \"Asia/Calcutta\"\n      all_day    = false\n      start_time = \"10:30\"\n      end_time   = \"11:30\"\n    }\n  }\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.OrchestratorConfigBinpackingDisruptionBudgetArgs;\nimport com.pulumi.harness.cluster.inputs.OrchestratorConfigBinpackingDisruptionBudgetScheduleArgs;\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.ArrayList;\nimport java.util.Arrays;\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:fme/apiKey:ApiKey": {
            "description": "Create and delete a Harness FME (Split) API key. Only \u003cspan pulumi-lang-nodejs=\"`serverSide`\" pulumi-lang-dotnet=\"`ServerSide`\" pulumi-lang-go=\"`serverSide`\" pulumi-lang-python=\"`server_side`\" pulumi-lang-yaml=\"`serverSide`\" pulumi-lang-java=\"`serverSide`\" pulumi-lang-hcl=\"`server_side`\"\u003e`serverSide`\u003c/span\u003e and \u003cspan pulumi-lang-nodejs=\"`clientSide`\" pulumi-lang-dotnet=\"`ClientSide`\" pulumi-lang-go=\"`clientSide`\" pulumi-lang-python=\"`client_side`\" pulumi-lang-yaml=\"`clientSide`\" pulumi-lang-java=\"`clientSide`\" pulumi-lang-hcl=\"`client_side`\"\u003e`clientSide`\u003c/span\u003e keys are supported. The raw key value is only available immediately after create. Split may omit \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e on create and only return \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e; the provider then uses that value as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e and for delete. Import id format: `org_id/project_id/\u003cid_or_key_from_Split\u003e` when the Admin API returns key metadata on GET, or `org_id/project_id/environment_id/api_key_type/name/key_id` (six segments; \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`\" pulumi-lang-hcl=\"`name`\"\u003e`name`\u003c/span\u003e must not contain `/`).\n",
            "properties": {
                "apiKey": {
                    "type": "string",
                    "description": "The secret API key value (only set on initial create).\n",
                    "language": {
                        "csharp": {
                            "name": "ApiKeyValue"
                        }
                    },
                    "secret": true
                },
                "apiKeyType": {
                    "type": "string",
                    "description": "Split API key type. Must be \u003cspan pulumi-lang-nodejs=\"`serverSide`\" pulumi-lang-dotnet=\"`ServerSide`\" pulumi-lang-go=\"`serverSide`\" pulumi-lang-python=\"`server_side`\" pulumi-lang-yaml=\"`serverSide`\" pulumi-lang-java=\"`serverSide`\" pulumi-lang-hcl=\"`server_side`\"\u003e`serverSide`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSide`\" pulumi-lang-dotnet=\"`ClientSide`\" pulumi-lang-go=\"`clientSide`\" pulumi-lang-python=\"`client_side`\" pulumi-lang-yaml=\"`clientSide`\" pulumi-lang-java=\"`clientSide`\" pulumi-lang-hcl=\"`client_side`\"\u003e`clientSide`\u003c/span\u003e.\n"
                },
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID the key is scoped to.\n"
                },
                "keyId": {
                    "type": "string",
                    "description": "Identifier used with the Split delete API (same as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e). When the create response includes \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e, that is used; otherwise the returned \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e value.\n"
                },
                "name": {
                    "type": "string",
                    "description": "API key display name.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                }
            },
            "required": [
                "apiKey",
                "apiKeyType",
                "environmentId",
                "keyId",
                "name",
                "orgId",
                "projectId"
            ],
            "inputProperties": {
                "apiKeyType": {
                    "type": "string",
                    "description": "Split API key type. Must be \u003cspan pulumi-lang-nodejs=\"`serverSide`\" pulumi-lang-dotnet=\"`ServerSide`\" pulumi-lang-go=\"`serverSide`\" pulumi-lang-python=\"`server_side`\" pulumi-lang-yaml=\"`serverSide`\" pulumi-lang-java=\"`serverSide`\" pulumi-lang-hcl=\"`server_side`\"\u003e`serverSide`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSide`\" pulumi-lang-dotnet=\"`ClientSide`\" pulumi-lang-go=\"`clientSide`\" pulumi-lang-python=\"`client_side`\" pulumi-lang-yaml=\"`clientSide`\" pulumi-lang-java=\"`clientSide`\" pulumi-lang-hcl=\"`client_side`\"\u003e`clientSide`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                },
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID the key is scoped to.\n",
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "API key display name.\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "apiKeyType",
                "environmentId",
                "orgId",
                "projectId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering ApiKey resources.\n",
                "properties": {
                    "apiKey": {
                        "type": "string",
                        "description": "The secret API key value (only set on initial create).\n",
                        "language": {
                            "csharp": {
                                "name": "ApiKeyValue"
                            }
                        },
                        "secret": true
                    },
                    "apiKeyType": {
                        "type": "string",
                        "description": "Split API key type. Must be \u003cspan pulumi-lang-nodejs=\"`serverSide`\" pulumi-lang-dotnet=\"`ServerSide`\" pulumi-lang-go=\"`serverSide`\" pulumi-lang-python=\"`server_side`\" pulumi-lang-yaml=\"`serverSide`\" pulumi-lang-java=\"`serverSide`\" pulumi-lang-hcl=\"`server_side`\"\u003e`serverSide`\u003c/span\u003e or \u003cspan pulumi-lang-nodejs=\"`clientSide`\" pulumi-lang-dotnet=\"`ClientSide`\" pulumi-lang-go=\"`clientSide`\" pulumi-lang-python=\"`client_side`\" pulumi-lang-yaml=\"`clientSide`\" pulumi-lang-java=\"`clientSide`\" pulumi-lang-hcl=\"`client_side`\"\u003e`clientSide`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    },
                    "environmentId": {
                        "type": "string",
                        "description": "Split environment ID the key is scoped to.\n",
                        "willReplaceOnChanges": true
                    },
                    "keyId": {
                        "type": "string",
                        "description": "Identifier used with the Split delete API (same as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e). When the create response includes \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e, that is used; otherwise the returned \u003cspan pulumi-lang-nodejs=\"`key`\" pulumi-lang-dotnet=\"`Key`\" pulumi-lang-go=\"`key`\" pulumi-lang-python=\"`key`\" pulumi-lang-yaml=\"`key`\" pulumi-lang-java=\"`key`\" pulumi-lang-hcl=\"`key`\"\u003e`key`\u003c/span\u003e value.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "API key display name.\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fme/flagSet:FlagSet": {
            "description": "Create and delete a Harness FME (Split) flag set. Import id format: `org_id/project_id/flag_set_id`.\n",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Flag set description.\n"
                },
                "flagSetId": {
                    "type": "string",
                    "description": "The Split flag set ID (same as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e).\n"
                },
                "name": {
                    "type": "string",
                    "description": "Flag set name. Split requires `^[a-z0-9][_a-z0-9]*`, max 50 characters (lowercase letters, digits, underscores; no hyphens).\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                }
            },
            "required": [
                "flagSetId",
                "name",
                "orgId",
                "projectId"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "Flag set description.\n",
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "Flag set name. Split requires `^[a-z0-9][_a-z0-9]*`, max 50 characters (lowercase letters, digits, underscores; no hyphens).\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "orgId",
                "projectId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FlagSet resources.\n",
                "properties": {
                    "description": {
                        "type": "string",
                        "description": "Flag set description.\n",
                        "willReplaceOnChanges": true
                    },
                    "flagSetId": {
                        "type": "string",
                        "description": "The Split flag set ID (same as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e).\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Flag set name. Split requires `^[a-z0-9][_a-z0-9]*`, max 50 characters (lowercase letters, digits, underscores; no hyphens).\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeEnvironment/fmeEnvironment:FmeEnvironment": {
            "description": "Create, update, and delete a Harness FME (Split) environment. Import id format: `org_id/project_id/environment_id`.\n",
            "properties": {
                "bootstrapApiTokenIds": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "IDs of API keys auto-created by Split when the environment is created. Only populated from the create response; the Split API does not return these on read. Stored in Terraform state so the provider can delete them before destroying the environment. Empty after `pulumi import` unless you set this attribute manually (not recommended).\n"
                },
                "changePermissions": {
                    "$ref": "#/types/harness:fmeEnvironment/FmeEnvironmentChangePermissions:FmeEnvironmentChangePermissions",
                    "description": "Change permission and approval settings for this environment. Controls whether kills are allowed, whether approvals are required for changes, and who can approve or skip approvals. Note: the Split API does not return these on read; values are preserved from create/update responses.\n"
                },
                "environmentId": {
                    "type": "string",
                    "description": "The Split environment ID (same as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e).\n"
                },
                "name": {
                    "type": "string",
                    "description": "Environment name in Split (max 20 characters per Split API).\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "production": {
                    "type": "boolean",
                    "description": "Whether this is a production environment.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                }
            },
            "required": [
                "bootstrapApiTokenIds",
                "environmentId",
                "name",
                "orgId",
                "projectId"
            ],
            "inputProperties": {
                "changePermissions": {
                    "$ref": "#/types/harness:fmeEnvironment/FmeEnvironmentChangePermissions:FmeEnvironmentChangePermissions",
                    "description": "Change permission and approval settings for this environment. Controls whether kills are allowed, whether approvals are required for changes, and who can approve or skip approvals. Note: the Split API does not return these on read; values are preserved from create/update responses.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Environment name in Split (max 20 characters per Split API).\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "production": {
                    "type": "boolean",
                    "description": "Whether this is a production environment.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "orgId",
                "projectId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FmeEnvironment resources.\n",
                "properties": {
                    "bootstrapApiTokenIds": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "IDs of API keys auto-created by Split when the environment is created. Only populated from the create response; the Split API does not return these on read. Stored in Terraform state so the provider can delete them before destroying the environment. Empty after `pulumi import` unless you set this attribute manually (not recommended).\n"
                    },
                    "changePermissions": {
                        "$ref": "#/types/harness:fmeEnvironment/FmeEnvironmentChangePermissions:FmeEnvironmentChangePermissions",
                        "description": "Change permission and approval settings for this environment. Controls whether kills are allowed, whether approvals are required for changes, and who can approve or skip approvals. Note: the Split API does not return these on read; values are preserved from create/update responses.\n"
                    },
                    "environmentId": {
                        "type": "string",
                        "description": "The Split environment ID (same as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e).\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Environment name in Split (max 20 characters per Split API).\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "production": {
                        "type": "boolean",
                        "description": "Whether this is a production environment.\n"
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeEnvironment/segmentKeys:SegmentKeys": {
            "description": "Replace keys for a classic segment in an environment (`replace=true` semantics). Import id format: `org_id/project_id/environment_id/segment_name`.\n",
            "properties": {
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID.\n"
                },
                "keys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Segment keys (full replace on each apply).\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                },
                "segmentName": {
                    "type": "string",
                    "description": "Classic segment name.\n"
                }
            },
            "required": [
                "environmentId",
                "keys",
                "orgId",
                "projectId",
                "segmentName"
            ],
            "inputProperties": {
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID.\n",
                    "willReplaceOnChanges": true
                },
                "keys": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Segment keys (full replace on each apply).\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "segmentName": {
                    "type": "string",
                    "description": "Classic segment name.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "environmentId",
                "keys",
                "orgId",
                "projectId",
                "segmentName"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering SegmentKeys resources.\n",
                "properties": {
                    "environmentId": {
                        "type": "string",
                        "description": "Split environment ID.\n",
                        "willReplaceOnChanges": true
                    },
                    "keys": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Segment keys (full replace on each apply).\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "segmentName": {
                        "type": "string",
                        "description": "Classic segment name.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeFeatureFlag/definition:Definition": {
            "description": "Create, update, and remove a Harness FME (Split) feature flag definition in an environment. \u003cspan pulumi-lang-nodejs=\"`definition`\" pulumi-lang-dotnet=\"`Definition`\" pulumi-lang-go=\"`definition`\" pulumi-lang-python=\"`definition`\" pulumi-lang-yaml=\"`definition`\" pulumi-lang-java=\"`definition`\" pulumi-lang-hcl=\"`definition`\"\u003e`definition`\u003c/span\u003e is JSON matching Split's definition payload (see Split API). Import id format: `org_id/project_id/environment_id/flag_name`.\n",
            "properties": {
                "definition": {
                    "type": "string",
                    "description": "JSON object for the split definition (treatments, defaultTreatment, defaultRule, trafficAllocation, rules, etc.).\n",
                    "language": {
                        "csharp": {
                            "name": "DefinitionJson"
                        }
                    }
                },
                "definitionId": {
                    "type": "string",
                    "description": "Split definition id from the API when available.\n"
                },
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID.\n"
                },
                "flagName": {
                    "type": "string",
                    "description": "Feature flag (split) name.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                }
            },
            "required": [
                "definition",
                "definitionId",
                "environmentId",
                "flagName",
                "orgId",
                "projectId"
            ],
            "inputProperties": {
                "definition": {
                    "type": "string",
                    "description": "JSON object for the split definition (treatments, defaultTreatment, defaultRule, trafficAllocation, rules, etc.).\n",
                    "language": {
                        "csharp": {
                            "name": "DefinitionJson"
                        }
                    }
                },
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID.\n",
                    "willReplaceOnChanges": true
                },
                "flagName": {
                    "type": "string",
                    "description": "Feature flag (split) name.\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "definition",
                "environmentId",
                "flagName",
                "orgId",
                "projectId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Definition resources.\n",
                "properties": {
                    "definition": {
                        "type": "string",
                        "description": "JSON object for the split definition (treatments, defaultTreatment, defaultRule, trafficAllocation, rules, etc.).\n",
                        "language": {
                            "csharp": {
                                "name": "DefinitionJson"
                            }
                        }
                    },
                    "definitionId": {
                        "type": "string",
                        "description": "Split definition id from the API when available.\n"
                    },
                    "environmentId": {
                        "type": "string",
                        "description": "Split environment ID.\n",
                        "willReplaceOnChanges": true
                    },
                    "flagName": {
                        "type": "string",
                        "description": "Feature flag (split) name.\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeFeatureFlag/fmeFeatureFlag:FmeFeatureFlag": {
            "description": "Create, update, and delete a Harness FME (Split) feature flag. Import id format: `org_id/project_id/flag_name`.\n",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Description.\n"
                },
                "flagId": {
                    "type": "string",
                    "description": "Split internal flag ID.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Feature flag name (Split split name).\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tag names to associate with the flag (applied after create/update).\n"
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "Split traffic type ID.\n"
                }
            },
            "required": [
                "flagId",
                "name",
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "Description.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Feature flag name (Split split name).\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "tags": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tag names to associate with the flag (applied after create/update).\n"
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "Split traffic type ID.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FmeFeatureFlag resources.\n",
                "properties": {
                    "description": {
                        "type": "string",
                        "description": "Description.\n"
                    },
                    "flagId": {
                        "type": "string",
                        "description": "Split internal flag ID.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Feature flag name (Split split name).\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "tags": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Tag names to associate with the flag (applied after create/update).\n"
                    },
                    "trafficTypeId": {
                        "type": "string",
                        "description": "Split traffic type ID.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeLargeSegment/environmentAssociation:EnvironmentAssociation": {
            "description": "Create or remove a large segment definition in an FME environment (workspace-level segment must already exist). Use one resource per environment. Import id format: `org_id/project_id/environment_id/segment_name`.\n",
            "properties": {
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                },
                "segmentName": {
                    "type": "string",
                    "description": "Large segment name (workspace-level segment must exist).\n"
                }
            },
            "required": [
                "environmentId",
                "orgId",
                "projectId",
                "segmentName"
            ],
            "inputProperties": {
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID.\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "segmentName": {
                    "type": "string",
                    "description": "Large segment name (workspace-level segment must exist).\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "environmentId",
                "orgId",
                "projectId",
                "segmentName"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering EnvironmentAssociation resources.\n",
                "properties": {
                    "environmentId": {
                        "type": "string",
                        "description": "Split environment ID.\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "segmentName": {
                        "type": "string",
                        "description": "Large segment name (workspace-level segment must exist).\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeLargeSegment/fmeLargeSegment:FmeLargeSegment": {
            "description": "Create and delete a Harness FME (Split) large segment at workspace scope. Use \u003cspan pulumi-lang-nodejs=\"`harness.fmeLargeSegment.EnvironmentAssociation`\" pulumi-lang-dotnet=\"`harness.fmeLargeSegment.EnvironmentAssociation`\" pulumi-lang-go=\"`fmeLargeSegment.EnvironmentAssociation`\" pulumi-lang-python=\"`fmeLargeSegment.EnvironmentAssociation`\" pulumi-lang-yaml=\"`harness.fmeLargeSegment.EnvironmentAssociation`\" pulumi-lang-java=\"`harness.fmeLargeSegment.EnvironmentAssociation`\" pulumi-lang-hcl=\"`harness_fme_large_segment_environment_association`\"\u003e`harness.fmeLargeSegment.EnvironmentAssociation`\u003c/span\u003e for each environment where the segment should have a definition. Import id format: `org_id/project_id/segment_name`.\n",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Large segment description. Set when the segment is created; changing this value forces replacement (destroy and recreate), not an in-place Split API update.\n"
                },
                "largeSegmentId": {
                    "type": "string",
                    "description": "Split large segment id when returned by the API.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Large segment name.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "Split traffic type ID.\n"
                }
            },
            "required": [
                "largeSegmentId",
                "name",
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "Large segment description. Set when the segment is created; changing this value forces replacement (destroy and recreate), not an in-place Split API update.\n",
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "Large segment name.\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "Split traffic type ID.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FmeLargeSegment resources.\n",
                "properties": {
                    "description": {
                        "type": "string",
                        "description": "Large segment description. Set when the segment is created; changing this value forces replacement (destroy and recreate), not an in-place Split API update.\n",
                        "willReplaceOnChanges": true
                    },
                    "largeSegmentId": {
                        "type": "string",
                        "description": "Split large segment id when returned by the API.\n"
                    },
                    "name": {
                        "type": "string",
                        "description": "Large segment name.\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "trafficTypeId": {
                        "type": "string",
                        "description": "Split traffic type ID.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeRuleBasedSegment/environmentAssociation:EnvironmentAssociation": {
            "description": "Enable a workspace rule-based segment in an FME environment and manage its `RuleBasedSegmentDefinition` JSON. The segment must exist (\u003cspan pulumi-lang-nodejs=\"`harness.fmeRuleBasedSegment.FmeRuleBasedSegment`\" pulumi-lang-dotnet=\"`harness.fmeRuleBasedSegment.FmeRuleBasedSegment`\" pulumi-lang-go=\"`fmeRuleBasedSegment.FmeRuleBasedSegment`\" pulumi-lang-python=\"`fmeRuleBasedSegment.FmeRuleBasedSegment`\" pulumi-lang-yaml=\"`harness.fmeRuleBasedSegment.FmeRuleBasedSegment`\" pulumi-lang-java=\"`harness.fmeRuleBasedSegment.FmeRuleBasedSegment`\" pulumi-lang-hcl=\"`harness_fme_rule_based_segment`\"\u003e`harness.fmeRuleBasedSegment.FmeRuleBasedSegment`\u003c/span\u003e). Import id format: `org_id/project_id/environment_id/segment_name`.\n",
            "properties": {
                "definitionJson": {
                    "type": "string",
                    "description": "JSON body for `RuleBasedSegmentDefinition` in this environment. After `EnableInEnvironment`, this is applied via update. Semantically equivalent JSON (e.g. different key order from \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\" pulumi-lang-hcl=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e vs API refresh) is not treated as a diff.\n"
                },
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                },
                "segmentName": {
                    "type": "string",
                    "description": "Rule-based segment name (must match an existing workspace segment).\n"
                }
            },
            "required": [
                "definitionJson",
                "environmentId",
                "orgId",
                "projectId",
                "segmentName"
            ],
            "inputProperties": {
                "definitionJson": {
                    "type": "string",
                    "description": "JSON body for `RuleBasedSegmentDefinition` in this environment. After `EnableInEnvironment`, this is applied via update. Semantically equivalent JSON (e.g. different key order from \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\" pulumi-lang-hcl=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e vs API refresh) is not treated as a diff.\n"
                },
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID.\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "segmentName": {
                    "type": "string",
                    "description": "Rule-based segment name (must match an existing workspace segment).\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "definitionJson",
                "environmentId",
                "orgId",
                "projectId",
                "segmentName"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering EnvironmentAssociation resources.\n",
                "properties": {
                    "definitionJson": {
                        "type": "string",
                        "description": "JSON body for `RuleBasedSegmentDefinition` in this environment. After `EnableInEnvironment`, this is applied via update. Semantically equivalent JSON (e.g. different key order from \u003cspan pulumi-lang-nodejs=\"`jsonencode`\" pulumi-lang-dotnet=\"`Jsonencode`\" pulumi-lang-go=\"`jsonencode`\" pulumi-lang-python=\"`jsonencode`\" pulumi-lang-yaml=\"`jsonencode`\" pulumi-lang-java=\"`jsonencode`\" pulumi-lang-hcl=\"`jsonencode`\"\u003e`jsonencode`\u003c/span\u003e vs API refresh) is not treated as a diff.\n"
                    },
                    "environmentId": {
                        "type": "string",
                        "description": "Split environment ID.\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "segmentName": {
                        "type": "string",
                        "description": "Rule-based segment name (must match an existing workspace segment).\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeRuleBasedSegment/fmeRuleBasedSegment:FmeRuleBasedSegment": {
            "description": "Create and delete a Harness FME (Split) rule-based segment at workspace scope. To enable the segment in an environment and manage its definition JSON, use \u003cspan pulumi-lang-nodejs=\"`harness.fmeRuleBasedSegment.EnvironmentAssociation`\" pulumi-lang-dotnet=\"`harness.fmeRuleBasedSegment.EnvironmentAssociation`\" pulumi-lang-go=\"`fmeRuleBasedSegment.EnvironmentAssociation`\" pulumi-lang-python=\"`fmeRuleBasedSegment.EnvironmentAssociation`\" pulumi-lang-yaml=\"`harness.fmeRuleBasedSegment.EnvironmentAssociation`\" pulumi-lang-java=\"`harness.fmeRuleBasedSegment.EnvironmentAssociation`\" pulumi-lang-hcl=\"`harness_fme_rule_based_segment_environment_association`\"\u003e`harness.fmeRuleBasedSegment.EnvironmentAssociation`\u003c/span\u003e. Import id format: `org_id/project_id/segment_name`.\n",
            "properties": {
                "name": {
                    "type": "string",
                    "description": "Rule-based segment name.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "Split traffic type ID.\n"
                }
            },
            "required": [
                "name",
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "inputProperties": {
                "name": {
                    "type": "string",
                    "description": "Rule-based segment name.\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "Split traffic type ID.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FmeRuleBasedSegment resources.\n",
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Rule-based segment name.\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "trafficTypeId": {
                        "type": "string",
                        "description": "Split traffic type ID.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeSegment/environmentAssociation:EnvironmentAssociation": {
            "description": "Activate a Split segment in an environment (create) or remove activation (destroy). Import id format: `org_id/project_id/environment_id/segment_name`.\n",
            "properties": {
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                },
                "segmentName": {
                    "type": "string",
                    "description": "Classic segment name.\n"
                }
            },
            "required": [
                "environmentId",
                "orgId",
                "projectId",
                "segmentName"
            ],
            "inputProperties": {
                "environmentId": {
                    "type": "string",
                    "description": "Split environment ID.\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "segmentName": {
                    "type": "string",
                    "description": "Classic segment name.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "environmentId",
                "orgId",
                "projectId",
                "segmentName"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering EnvironmentAssociation resources.\n",
                "properties": {
                    "environmentId": {
                        "type": "string",
                        "description": "Split environment ID.\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "segmentName": {
                        "type": "string",
                        "description": "Classic segment name.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeSegment/fmeSegment:FmeSegment": {
            "description": "Create and delete a Harness FME (Split) segment. Import id format: `org_id/project_id/segment_name`.\n",
            "properties": {
                "description": {
                    "type": "string",
                    "description": "Segment description. Set when the segment is created; changing this value forces replacement (destroy and recreate), not an in-place Split API update.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Segment name.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "Split traffic type ID.\n"
                }
            },
            "required": [
                "name",
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "inputProperties": {
                "description": {
                    "type": "string",
                    "description": "Segment description. Set when the segment is created; changing this value forces replacement (destroy and recreate), not an in-place Split API update.\n",
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "Segment name.\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "Split traffic type ID.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FmeSegment resources.\n",
                "properties": {
                    "description": {
                        "type": "string",
                        "description": "Segment description. Set when the segment is created; changing this value forces replacement (destroy and recreate), not an in-place Split API update.\n",
                        "willReplaceOnChanges": true
                    },
                    "name": {
                        "type": "string",
                        "description": "Segment name.\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "trafficTypeId": {
                        "type": "string",
                        "description": "Split traffic type ID.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeTrafficType/attribute:Attribute": {
            "description": "Create, update, and delete a Harness FME (Split) traffic type attribute. Import id format: `org_id/project_id/traffic_type_id/attribute_id`.\n",
            "properties": {
                "attributeId": {
                    "type": "string",
                    "description": "The attribute ID returned by Split (same as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e).\n"
                },
                "dataType": {
                    "type": "string",
                    "description": "Data type: e.g. \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`\" pulumi-lang-hcl=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\" pulumi-lang-hcl=\"`number`\"\u003e`number`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datetime`\" pulumi-lang-dotnet=\"`Datetime`\" pulumi-lang-go=\"`datetime`\" pulumi-lang-python=\"`datetime`\" pulumi-lang-yaml=\"`datetime`\" pulumi-lang-java=\"`datetime`\" pulumi-lang-hcl=\"`datetime`\"\u003e`datetime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`set`\" pulumi-lang-dotnet=\"`Set`\" pulumi-lang-go=\"`set`\" pulumi-lang-python=\"`set`\" pulumi-lang-yaml=\"`set`\" pulumi-lang-java=\"`set`\" pulumi-lang-hcl=\"`set`\"\u003e`set`\u003c/span\u003e (normalized to lowercase in state; Split may return uppercase). Config casing is ignored for diffs.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description.\n"
                },
                "displayName": {
                    "type": "string",
                    "description": "Display name.\n"
                },
                "identifier": {
                    "type": "string",
                    "description": "Attribute identifier (id) in Split.\n"
                },
                "isSearchable": {
                    "type": "boolean",
                    "description": "Whether the attribute is searchable.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                },
                "suggestedValues": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Suggested values for set types.\n"
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "Split traffic type ID.\n"
                }
            },
            "required": [
                "attributeId",
                "dataType",
                "displayName",
                "identifier",
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "inputProperties": {
                "dataType": {
                    "type": "string",
                    "description": "Data type: e.g. \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`\" pulumi-lang-hcl=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\" pulumi-lang-hcl=\"`number`\"\u003e`number`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datetime`\" pulumi-lang-dotnet=\"`Datetime`\" pulumi-lang-go=\"`datetime`\" pulumi-lang-python=\"`datetime`\" pulumi-lang-yaml=\"`datetime`\" pulumi-lang-java=\"`datetime`\" pulumi-lang-hcl=\"`datetime`\"\u003e`datetime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`set`\" pulumi-lang-dotnet=\"`Set`\" pulumi-lang-go=\"`set`\" pulumi-lang-python=\"`set`\" pulumi-lang-yaml=\"`set`\" pulumi-lang-java=\"`set`\" pulumi-lang-hcl=\"`set`\"\u003e`set`\u003c/span\u003e (normalized to lowercase in state; Split may return uppercase). Config casing is ignored for diffs.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description.\n"
                },
                "displayName": {
                    "type": "string",
                    "description": "Display name.\n"
                },
                "identifier": {
                    "type": "string",
                    "description": "Attribute identifier (id) in Split.\n",
                    "willReplaceOnChanges": true
                },
                "isSearchable": {
                    "type": "boolean",
                    "description": "Whether the attribute is searchable.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                },
                "suggestedValues": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Suggested values for set types.\n"
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "Split traffic type ID.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "dataType",
                "displayName",
                "identifier",
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering Attribute resources.\n",
                "properties": {
                    "attributeId": {
                        "type": "string",
                        "description": "The attribute ID returned by Split (same as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e).\n"
                    },
                    "dataType": {
                        "type": "string",
                        "description": "Data type: e.g. \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`\" pulumi-lang-hcl=\"`string`\"\u003e`string`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`number`\" pulumi-lang-dotnet=\"`Number`\" pulumi-lang-go=\"`number`\" pulumi-lang-python=\"`number`\" pulumi-lang-yaml=\"`number`\" pulumi-lang-java=\"`number`\" pulumi-lang-hcl=\"`number`\"\u003e`number`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`datetime`\" pulumi-lang-dotnet=\"`Datetime`\" pulumi-lang-go=\"`datetime`\" pulumi-lang-python=\"`datetime`\" pulumi-lang-yaml=\"`datetime`\" pulumi-lang-java=\"`datetime`\" pulumi-lang-hcl=\"`datetime`\"\u003e`datetime`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`set`\" pulumi-lang-dotnet=\"`Set`\" pulumi-lang-go=\"`set`\" pulumi-lang-python=\"`set`\" pulumi-lang-yaml=\"`set`\" pulumi-lang-java=\"`set`\" pulumi-lang-hcl=\"`set`\"\u003e`set`\u003c/span\u003e (normalized to lowercase in state; Split may return uppercase). Config casing is ignored for diffs.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description.\n"
                    },
                    "displayName": {
                        "type": "string",
                        "description": "Display name.\n"
                    },
                    "identifier": {
                        "type": "string",
                        "description": "Attribute identifier (id) in Split.\n",
                        "willReplaceOnChanges": true
                    },
                    "isSearchable": {
                        "type": "boolean",
                        "description": "Whether the attribute is searchable.\n"
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "suggestedValues": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Suggested values for set types.\n"
                    },
                    "trafficTypeId": {
                        "type": "string",
                        "description": "Split traffic type ID.\n",
                        "willReplaceOnChanges": true
                    }
                },
                "type": "object"
            }
        },
        "harness:fmeTrafficType/fmeTrafficType:FmeTrafficType": {
            "description": "Create and delete a Harness FME (Split) traffic type. Import id format: `org_id/project_id/traffic_type_id`.\n",
            "properties": {
                "displayAttributeId": {
                    "type": "string",
                    "description": "Optional display attribute ID.\n"
                },
                "name": {
                    "type": "string",
                    "description": "Traffic type name.\n"
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n"
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n"
                },
                "trafficTypeId": {
                    "type": "string",
                    "description": "The Split traffic type ID (same as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e).\n"
                }
            },
            "required": [
                "name",
                "orgId",
                "projectId",
                "trafficTypeId"
            ],
            "inputProperties": {
                "displayAttributeId": {
                    "type": "string",
                    "description": "Optional display attribute ID.\n",
                    "willReplaceOnChanges": true
                },
                "name": {
                    "type": "string",
                    "description": "Traffic type name.\n",
                    "willReplaceOnChanges": true
                },
                "orgId": {
                    "type": "string",
                    "description": "Harness organization identifier.\n",
                    "willReplaceOnChanges": true
                },
                "projectId": {
                    "type": "string",
                    "description": "Harness project identifier.\n",
                    "willReplaceOnChanges": true
                }
            },
            "requiredInputs": [
                "orgId",
                "projectId"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering FmeTrafficType resources.\n",
                "properties": {
                    "displayAttributeId": {
                        "type": "string",
                        "description": "Optional display attribute ID.\n",
                        "willReplaceOnChanges": true
                    },
                    "name": {
                        "type": "string",
                        "description": "Traffic type name.\n",
                        "willReplaceOnChanges": true
                    },
                    "orgId": {
                        "type": "string",
                        "description": "Harness organization identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "projectId": {
                        "type": "string",
                        "description": "Harness project identifier.\n",
                        "willReplaceOnChanges": true
                    },
                    "trafficTypeId": {
                        "type": "string",
                        "description": "The Split traffic type ID (same as \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`\" pulumi-lang-hcl=\"`id`\"\u003e`id`\u003c/span\u003e).\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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.GetUser(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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_getuser\" \"exampleUser\" {\n  email = \"testuser@example.com\"\n}\n\nresource \"harness_usergroup\" \"admin\" {\n  name = \"admin\"\n}\nresource \"harness_addusertogroup\" \"example_add_user_to_groups\" {\n  group_id = harness_usergroup.admin.id\n  user_id  = test.id\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_application\" \"myapp\" {\n  name        = \"My Application\"\n  description = \"This is my first Harness application\"\n  tags        = [\"mytag:myvalue\", \"team:development\"]\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_getsecretmanager\" \"default\" {\n  default = true\n}\n\nresource \"harness_encryptedtext\" \"github_token\" {\n  name              = \"github_token\"\n  value             = \"\u003cTOKEN\u003e\"\n  secret_manager_id = data.harness_getsecretmanager.default.id\n}\nresource \"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   = harness_encryptedtext.github_token.id\n  url_type             = \"REPO\"\n}\nresource \"harness_application\" \"example\" {\n  name = \"example-app\"\n}\nresource \"harness_applicationgitsync\" \"example\" {\n  app_id       = harness_application.example.id\n  connector_id = harness_gitconnector.myrepo.id\n  branch       = \"main\"\n  enabled      = false\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Sample resource for chaos infrastructure\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_getdelegate\" \"test\" {\n  name = \"my-delegate\"\n}\n\nresource \"harness_delegateapproval\" \"test\" {\n  delegate_id = data.harness_getdelegate.test.id\n  approve     = true\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_getsecretmanager\" \"default\" {\n  default = true\n}\n\nresource \"harness_encryptedtext\" \"example\" {\n  name              = \"example-secret\"\n  value             = \"someval\"\n  secret_manager_id = data.harness_getsecretmanager.default.id\n  usage_scopes {\n    environment_filter_type = \"PRODUCTION_ENVIRONMENTS\"\n  }\n  usage_scopes {\n    environment_filter_type = \"NON_PRODUCTION_ENVIRONMENTS\"\n  }\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_application\" \"test\" {\n  name = \"%[1]s\"\n}\nresource \"harness_service_kubernetes\" \"test\" {\n  app_id       = harness_application.test.id\n  name         = \"%[1]s\"\n  helm_version = \"V2\"\n  description  = \"description\"\n  variables {\n    name  = \"test\"\n    value = \"test_value\"\n    type  = \"TEXT\"\n  }\n  variables {\n    name  = \"test2\"\n    value = \"test_value2\"\n    type  = \"TEXT\"\n  }\n}\nresource \"harness_environment\" \"test\" {\n  app_id = harness_application.test.id\n  name   = \"%[1]s\"\n  type   = \"%[2]s\"\n  variable_overrides {\n    service_name = harness_service_kubernetes.test.name\n    name         = \"test\"\n    value        = \"override\"\n    type         = \"TEXT\"\n  }\n  variable_overrides {\n    service_name = harness_service_kubernetes.test.name\n    name         = \"test2\"\n    value        = \"override2\"\n    type         = \"TEXT\"\n  }\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_getsecretmanager\" \"default\" {\n  default = true\n}\n\nresource \"harness_encryptedtext\" \"example\" {\n  name              = \"example-secret\"\n  value             = \"foo\"\n  secret_manager_id = data.harness_getsecretmanager.default.id\n}\nresource \"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   = harness_encryptedtext.example.id\n  url_type             = \"REPO\"\n  username             = \"someuser\"\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.ArrayList;\nimport java.util.Arrays;\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\"`create_before_destroy \"\u003e`createBeforeDestroy \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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Creating a Kubernetes infrastructure definition\nresource \"harness_cloudprovider_kubernetes\" \"dev\" {\n  name = \"k8s-dev\"\n  authentication = {\n    delegate_selectors = [\"k8s\"]\n  }\n}\nresource \"harness_application\" \"example\" {\n  name = \"example\"\n}\nresource \"harness_environment\" \"dev\" {\n  name   = \"dev\"\n  app_id = harness_application.example.id\n  type   = \"NON_PROD\"\n}\n# Creating a infrastructure of type KUBERNETES\nresource \"harness_infrastructuredefinition\" \"k8s\" {\n  name                = \"k8s-eks-us-east-1\"\n  app_id              = harness_application.example.id\n  env_id              = harness_environment.dev.id\n  cloud_provider_type = \"KUBERNETES_CLUSTER\"\n  deployment_type     = \"KUBERNETES\"\n  kubernetes = {\n    cloud_provider_name = harness_cloudprovider_kubernetes.dev.name\n    namespace           = \"dev\"\n    release_name        = \"$${service.name}\"\n  }\n}\n# Creating a Deployment Template for CUSTOM infrastructure type\nresource \"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\nresource \"harness_infrastructuredefinition\" \"custom\" {\n  name                    = \"custom-infra\"\n  app_id                  = harness_application.example.id\n  env_id                  = harness_environment.dev.id\n  cloud_provider_type     = \"CUSTOM\"\n  deployment_type         = \"CUSTOM\"\n  deployment_template_uri =\"Example Folder/${harness_yamlconfig.example_yaml.name}\"\n  custom = {\n    deployment_type_template_version = \"1\"\n    variables = [{\n      \"name\"  = \"url\"\n      \"value\" = \"localhost:8081\"\n      }, {\n      \"name\"  = \"file_name\"\n      \"value\" = \"instances.json\"\n    }]\n  }\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 com.pulumi.harness.inputs.InfrastructureDefinitionCustomVariableArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 \" pulumi-lang-hcl=\" deployment_type \"\u003e deploymentType \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 \" pulumi-lang-hcl=\" deployment_type \"\u003e deploymentType \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 \" pulumi-lang-hcl=\" deployment_type \"\u003e deploymentType \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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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    ignoreChanges: [\"sshAuthentication\"],\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\nimport pulumi_tls as tls\n\nharness_deploy_key = tls.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    opts = pulumi.ResourceOptions(ignore_changes=[\"sshAuthentication\"]))\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.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    }, new CustomResourceOptions\n    {\n        IgnoreChanges =\n        {\n            \"sshAuthentication\",\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}, pulumi.IgnoreChanges([]string{\n\t\t\t\"sshAuthentication\",\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_getsecretmanager\" \"secretManager\" {\n  default = true\n}\n\nresource \"tls_privatekey\" \"harness_deploy_key\" {\n  algorithm = \"RSA\"\n  rsa_bits  = 4096\n}\nresource \"harness_encryptedtext\" \"my_secret\" {\n  name              = \"my_secret\"\n  value             = tls_privatekey.harness_deploy_key.privateKeyPem\n  secret_manager_id = data.harness_getsecretmanager.secretManager.id\n}\nresource \"harness_sshcredential\" \"ssh_creds\" {\n  lifecycle {\n    ignore_changes = [sshAuthentication]\n  }\n  name = \"ssh-test\"\n  ssh_authentication = {\n    port     = 22\n    username = \"git\"\n    inline_ssh = {\n      ssh_key_file_id = harness_encryptedtext.my_secret.id\n    }\n  }\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 com.pulumi.resources.CustomResourceOptions;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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(), CustomResourceOptions.builder()\n                .ignoreChanges(\"sshAuthentication\")\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}\n    options:\n      ignoreChanges:\n        - sshAuthentication\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`\" pulumi-lang-hcl=\"`inline_ssh`\"\u003e`inlineSsh`\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`\" pulumi-lang-hcl=\"`server_password`\"\u003e`serverPassword`\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`\" pulumi-lang-hcl=\"`ssh_key_file`\"\u003e`sshKeyFile`\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`\" pulumi-lang-hcl=\"`inline_ssh`\"\u003e`inlineSsh`\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`\" pulumi-lang-hcl=\"`server_password`\"\u003e`serverPassword`\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`\" pulumi-lang-hcl=\"`ssh_key_file`\"\u003e`sshKeyFile`\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`\" pulumi-lang-hcl=\"`inline_ssh`\"\u003e`inlineSsh`\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`\" pulumi-lang-hcl=\"`server_password`\"\u003e`serverPassword`\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`\" pulumi-lang-hcl=\"`ssh_key_file`\"\u003e`sshKeyFile`\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_user\" \"john_doe\" {\n  name  = \"John Doe\"\n  email = \"john.doe@example.com\"\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.ArrayList;\nimport java.util.Arrays;\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 \" pulumi-lang-hcl=\" ignore_changes \"\u003e ignoreChanges \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\"\" pulumi-lang-hcl=\"\"group_ids\"\"\u003e\"groupIds\"\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 \" pulumi-lang-hcl=\" ignore_changes \"\u003e ignoreChanges \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\"\" pulumi-lang-hcl=\"\"group_ids\"\"\u003e\"groupIds\"\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 \" pulumi-lang-hcl=\" ignore_changes \"\u003e ignoreChanges \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\"\" pulumi-lang-hcl=\"\"group_ids\"\"\u003e\"groupIds\"\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_usergroup\" \"example\" {\n  name        = \"example-group\"\n  description = \"This group demonstrates account level and resource level permissions.\"\n  permissions = {\n    account_permissions = [\"ADMINISTER_OTHER_ACCOUNT_FUNCTIONS\", \"MANAGE_API_KEYS\"]\n    app_permissions = {\n      alls = [{\n        \"actions\" = [\"CREATE\", \"READ\", \"UPDATE\", \"DELETE\"]\n      }]\n      deployments = [{\n        \"actions\" = [\"READ\", \"ROLLBACK_WORKFLOW\", \"EXECUTE_PIPELINE\", \"EXECUTE_WORKFLOW\"]\n        \"filters\" = [\"NON_PRODUCTION_ENVIRONMENTS\"]\n        }, {\n        \"actions\" = [\"READ\"]\n        \"filters\" = [\"PRODUCTION_ENVIRONMENTS\"]\n      }]\n      environments = [{\n        \"actions\" = [\"CREATE\", \"READ\", \"UPDATE\", \"DELETE\"]\n        \"filters\" = [\"NON_PRODUCTION_ENVIRONMENTS\"]\n        }, {\n        \"actions\" = [\"READ\"]\n        \"filters\" = [\"PRODUCTION_ENVIRONMENTS\"]\n      }]\n      pipelines = [{\n        \"actions\" = [\"CREATE\", \"READ\", \"UPDATE\", \"DELETE\"]\n        \"filters\" = [\"NON_PRODUCTION_PIPELINES\"]\n        }, {\n        \"actions\" = [\"READ\"]\n        \"filters\" = [\"PRODUCTION_PIPELINES\"]\n      }]\n      provisioners = [{\n        \"actions\" = [\"UPDATE\", \"DELETE\"]\n        }, {\n        \"actions\" = [\"CREATE\", \"READ\"]\n      }]\n      services = [{\n        \"actions\" = [\"UPDATE\", \"DELETE\"]\n        }, {\n        \"actions\" = [\"UPDATE\", \"DELETE\"]\n      }]\n      templates = [{\n        \"actions\" = [\"CREATE\", \"READ\", \"UPDATE\", \"DELETE\"]\n      }]\n      workflows = [{\n        \"actions\" = [\"UPDATE\", \"DELETE\"]\n        \"filters\" = [\"NON_PRODUCTION_WORKFLOWS\"]\n        }, {\n        \"actions\" = [\"CREATE\", \"READ\"]\n        \"filters\" = [\"PRODUCTION_WORKFLOWS\", \"WORKFLOW_TEMPLATES\"]\n      }]\n    }\n  }\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 com.pulumi.harness.inputs.UserGroupPermissionsAppPermissionsAllArgs;\nimport com.pulumi.harness.inputs.UserGroupPermissionsAppPermissionsDeploymentArgs;\nimport com.pulumi.harness.inputs.UserGroupPermissionsAppPermissionsEnvironmentArgs;\nimport com.pulumi.harness.inputs.UserGroupPermissionsAppPermissionsPipelineArgs;\nimport com.pulumi.harness.inputs.UserGroupPermissionsAppPermissionsProvisionerArgs;\nimport com.pulumi.harness.inputs.UserGroupPermissionsAppPermissionsServiceArgs;\nimport com.pulumi.harness.inputs.UserGroupPermissionsAppPermissionsTemplateArgs;\nimport com.pulumi.harness.inputs.UserGroupPermissionsAppPermissionsWorkflowArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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 \" pulumi-lang-hcl=\"`create_before_destroy \"\u003e`createBeforeDestroy \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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Authentication mechanism as api token\nresource \"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}\n# Authentication mechanism as username and password\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Authentication mechanism as username and password\nresource \"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}\n# Authentication mechanism as anonymous\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Authentication mechanism as username and password\nresource \"harness_platform_artifactoryconnector\" \"example\" {\n  identifier         = \"identifier\"\n  name               = \"name\"\n  description        = \"test\"\n  tags               = [\"foo:bar\"]\n  org_id             = testHarnessPlatformProject.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}\n# Authentication mechanism as anonymous\nresource \"harness_platform_artifactoryconnector\" \"test\" {\n  identifier         = \"identifier\"\n  name               = \"name\"\n  description        = \"test\"\n  tags               = [\"foo:bar\"]\n  org_id             = testHarnessPlatformProject.orgId\n  url                = \"https://artifactory.example.com\"\n  delegate_selectors = [\"harness-delegate\"]\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Authentication mechanism as username and password\nresource \"harness_platform_artifactoryconnector\" \"example\" {\n  identifier         = \"identifier\"\n  name               = \"name\"\n  description        = \"test\"\n  tags               = [\"foo:bar\"]\n  org_id             = testHarnessPlatformProject.orgId\n  project_id         = testHarnessPlatformProject.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}\n# Authentication mechanism as anonymous\nresource \"harness_platform_artifactoryconnector\" \"test\" {\n  identifier         = \"identifier\"\n  name               = \"name\"\n  description        = \"test\"\n  tags               = [\"foo:bar\"]\n  org_id             = testHarnessPlatformProject.orgId\n  project_id         = testHarnessPlatformProject.id\n  url                = \"https://artifactory.example.com\"\n  delegate_selectors = [\"harness-delegate\"]\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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 = [\"OPTIMIZATION\", \"VISIBILITY\", \"BILLING\"]\n  cross_account_access = {\n    role_arn    = \"role_arn\"\n    external_id = \"external_id\"\n  }\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_azurecloudcostconnector\" \"example\" {\n  identifier        = \"identifier\"\n  name              = \"name\"\n  description       = \"example\"\n  tags              = [\"foo:bar\"]\n  features_enableds = [\"BILLING\", \"VISIBILITY\", \"OPTIMIZATION\", \"GOVERNANCE\"]\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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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 =\"account.${test.id}\"\n        }\n      }\n    }\n  }\n  azure_environment_type = \"AZURE\"\n  delegate_selectors     = [\"harness-delegate\"]\n}\nresource \"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 =\"account.${test.id}\"\n        }\n      }\n    }\n  }\n  azure_environment_type = \"AZURE\"\n  delegate_selectors     = [\"harness-delegate\"]\n}\nresource \"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\"]\n}\nresource \"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\"]\n}\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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### Manual Credentials\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst manual = new harness.platform.AzureKeyVaultConnector(\"manual\", {\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\nmanual = harness.platform.AzureKeyVaultConnector(\"manual\",\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 manual = new Harness.Platform.AzureKeyVaultConnector(\"manual\", 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, \"manual\", \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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_azurekeyvaultconnector\" \"manual\" {\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```\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.ArrayList;\nimport java.util.Arrays;\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 manual = new AzureKeyVaultConnector(\"manual\", 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  manual:\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### System-Assigned Managed Identity\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst systemMsi = new harness.platform.AzureKeyVaultConnector(\"system_msi\", {\n    identifier: \"system_msi_example\",\n    name: \"system_msi_example\",\n    description: \"Azure Key Vault using system-assigned managed identity\",\n    tags: [\"foo:bar\"],\n    vaultName: \"vault_name\",\n    subscription: \"subscription\",\n    isDefault: false,\n    useManagedIdentity: true,\n    azureManagedIdentityType: \"SystemAssignedManagedIdentity\",\n    delegateSelectors: [\"harness-delegate\"],\n    azureEnvironmentType: \"AZURE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nsystem_msi = harness.platform.AzureKeyVaultConnector(\"system_msi\",\n    identifier=\"system_msi_example\",\n    name=\"system_msi_example\",\n    description=\"Azure Key Vault using system-assigned managed identity\",\n    tags=[\"foo:bar\"],\n    vault_name=\"vault_name\",\n    subscription=\"subscription\",\n    is_default=False,\n    use_managed_identity=True,\n    azure_managed_identity_type=\"SystemAssignedManagedIdentity\",\n    delegate_selectors=[\"harness-delegate\"],\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 systemMsi = new Harness.Platform.AzureKeyVaultConnector(\"system_msi\", new()\n    {\n        Identifier = \"system_msi_example\",\n        Name = \"system_msi_example\",\n        Description = \"Azure Key Vault using system-assigned managed identity\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        VaultName = \"vault_name\",\n        Subscription = \"subscription\",\n        IsDefault = false,\n        UseManagedIdentity = true,\n        AzureManagedIdentityType = \"SystemAssignedManagedIdentity\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\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, \"system_msi\", \u0026platform.AzureKeyVaultConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"system_msi_example\"),\n\t\t\tName:        pulumi.String(\"system_msi_example\"),\n\t\t\tDescription: pulumi.String(\"Azure Key Vault using system-assigned managed identity\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\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\tUseManagedIdentity:       pulumi.Bool(true),\n\t\t\tAzureManagedIdentityType: pulumi.String(\"SystemAssignedManagedIdentity\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_azurekeyvaultconnector\" \"system_msi\" {\n  identifier                  = \"system_msi_example\"\n  name                        = \"system_msi_example\"\n  description                 = \"Azure Key Vault using system-assigned managed identity\"\n  tags                        = [\"foo:bar\"]\n  vault_name                  = \"vault_name\"\n  subscription                = \"subscription\"\n  is_default                  = false\n  use_managed_identity        = true\n  azure_managed_identity_type = \"SystemAssignedManagedIdentity\"\n  delegate_selectors          = [\"harness-delegate\"]\n  azure_environment_type      = \"AZURE\"\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.ArrayList;\nimport java.util.Arrays;\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 systemMsi = new AzureKeyVaultConnector(\"systemMsi\", AzureKeyVaultConnectorArgs.builder()\n            .identifier(\"system_msi_example\")\n            .name(\"system_msi_example\")\n            .description(\"Azure Key Vault using system-assigned managed identity\")\n            .tags(\"foo:bar\")\n            .vaultName(\"vault_name\")\n            .subscription(\"subscription\")\n            .isDefault(false)\n            .useManagedIdentity(true)\n            .azureManagedIdentityType(\"SystemAssignedManagedIdentity\")\n            .delegateSelectors(\"harness-delegate\")\n            .azureEnvironmentType(\"AZURE\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  systemMsi:\n    type: harness:platform:AzureKeyVaultConnector\n    name: system_msi\n    properties:\n      identifier: system_msi_example\n      name: system_msi_example\n      description: Azure Key Vault using system-assigned managed identity\n      tags:\n        - foo:bar\n      vaultName: vault_name\n      subscription: subscription\n      isDefault: false\n      useManagedIdentity: true\n      azureManagedIdentityType: SystemAssignedManagedIdentity\n      delegateSelectors:\n        - harness-delegate\n      azureEnvironmentType: AZURE\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### User-Assigned Managed Identity\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst userMsi = new harness.platform.AzureKeyVaultConnector(\"user_msi\", {\n    identifier: \"user_msi_example\",\n    name: \"user_msi_example\",\n    description: \"Azure Key Vault using user-assigned managed identity\",\n    tags: [\"foo:bar\"],\n    vaultName: \"vault_name\",\n    subscription: \"subscription\",\n    isDefault: false,\n    useManagedIdentity: true,\n    azureManagedIdentityType: \"UserAssignedManagedIdentity\",\n    managedClientId: \"client_id_of_managed_identity\",\n    delegateSelectors: [\"harness-delegate\"],\n    azureEnvironmentType: \"AZURE\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nuser_msi = harness.platform.AzureKeyVaultConnector(\"user_msi\",\n    identifier=\"user_msi_example\",\n    name=\"user_msi_example\",\n    description=\"Azure Key Vault using user-assigned managed identity\",\n    tags=[\"foo:bar\"],\n    vault_name=\"vault_name\",\n    subscription=\"subscription\",\n    is_default=False,\n    use_managed_identity=True,\n    azure_managed_identity_type=\"UserAssignedManagedIdentity\",\n    managed_client_id=\"client_id_of_managed_identity\",\n    delegate_selectors=[\"harness-delegate\"],\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 userMsi = new Harness.Platform.AzureKeyVaultConnector(\"user_msi\", new()\n    {\n        Identifier = \"user_msi_example\",\n        Name = \"user_msi_example\",\n        Description = \"Azure Key Vault using user-assigned managed identity\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        VaultName = \"vault_name\",\n        Subscription = \"subscription\",\n        IsDefault = false,\n        UseManagedIdentity = true,\n        AzureManagedIdentityType = \"UserAssignedManagedIdentity\",\n        ManagedClientId = \"client_id_of_managed_identity\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\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, \"user_msi\", \u0026platform.AzureKeyVaultConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"user_msi_example\"),\n\t\t\tName:        pulumi.String(\"user_msi_example\"),\n\t\t\tDescription: pulumi.String(\"Azure Key Vault using user-assigned managed identity\"),\n\t\t\tTags: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"foo:bar\"),\n\t\t\t},\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\tUseManagedIdentity:       pulumi.Bool(true),\n\t\t\tAzureManagedIdentityType: pulumi.String(\"UserAssignedManagedIdentity\"),\n\t\t\tManagedClientId:          pulumi.String(\"client_id_of_managed_identity\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_azurekeyvaultconnector\" \"user_msi\" {\n  identifier                  = \"user_msi_example\"\n  name                        = \"user_msi_example\"\n  description                 = \"Azure Key Vault using user-assigned managed identity\"\n  tags                        = [\"foo:bar\"]\n  vault_name                  = \"vault_name\"\n  subscription                = \"subscription\"\n  is_default                  = false\n  use_managed_identity        = true\n  azure_managed_identity_type = \"UserAssignedManagedIdentity\"\n  managed_client_id           = \"client_id_of_managed_identity\"\n  delegate_selectors          = [\"harness-delegate\"]\n  azure_environment_type      = \"AZURE\"\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.ArrayList;\nimport java.util.Arrays;\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 userMsi = new AzureKeyVaultConnector(\"userMsi\", AzureKeyVaultConnectorArgs.builder()\n            .identifier(\"user_msi_example\")\n            .name(\"user_msi_example\")\n            .description(\"Azure Key Vault using user-assigned managed identity\")\n            .tags(\"foo:bar\")\n            .vaultName(\"vault_name\")\n            .subscription(\"subscription\")\n            .isDefault(false)\n            .useManagedIdentity(true)\n            .azureManagedIdentityType(\"UserAssignedManagedIdentity\")\n            .managedClientId(\"client_id_of_managed_identity\")\n            .delegateSelectors(\"harness-delegate\")\n            .azureEnvironmentType(\"AZURE\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  userMsi:\n    type: harness:platform:AzureKeyVaultConnector\n    name: user_msi\n    properties:\n      identifier: user_msi_example\n      name: user_msi_example\n      description: Azure Key Vault using user-assigned managed identity\n      tags:\n        - foo:bar\n      vaultName: vault_name\n      subscription: subscription\n      isDefault: false\n      useManagedIdentity: true\n      azureManagedIdentityType: UserAssignedManagedIdentity\n      managedClientId: client_id_of_managed_identity\n      delegateSelectors:\n        - harness-delegate\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"
                },
                "azureManagedIdentityType": {
                    "type": "string",
                    "description": "Azure Managed Identity type. Possible values: SystemAssignedManagedIdentity or UserAssignedManagedIdentity. Required when use*managed*identity is true.\n"
                },
                "clientId": {
                    "type": "string",
                    "description": "Application ID of the Azure App. Required when use*managed*identity is false.\n"
                },
                "delegateSelectors": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags to filter delegates for connection.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the resource.\n"
                },
                "enablePurge": {
                    "type": "boolean",
                    "description": "Boolean value to indicate if purge is enabled.\n"
                },
                "identifier": {
                    "type": "string",
                    "description": "Unique identifier of the resource.\n"
                },
                "isDefault": {
                    "type": "boolean",
                    "description": "Specifies whether or not is the default value.\n"
                },
                "managedClientId": {
                    "type": "string",
                    "description": "Client Id of the ManagedIdentity resource. Required when azure*managed*identity_type is UserAssignedManagedIdentity.\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. Required when use*managed*identity is false.\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. Required when use*managed*identity is false.\n"
                },
                "useManagedIdentity": {
                    "type": "boolean",
                    "description": "Boolean value to indicate if managed identity is used to authenticate to Azure Key Vault.\n"
                },
                "vaultName": {
                    "type": "string",
                    "description": "Name of the vault.\n"
                }
            },
            "required": [
                "azureEnvironmentType",
                "identifier",
                "name",
                "subscription",
                "vaultName"
            ],
            "inputProperties": {
                "azureEnvironmentType": {
                    "type": "string",
                    "description": "Azure environment type. Possible values: AZURE or AZURE*US*GOVERNMENT. Default value: AZURE\n"
                },
                "azureManagedIdentityType": {
                    "type": "string",
                    "description": "Azure Managed Identity type. Possible values: SystemAssignedManagedIdentity or UserAssignedManagedIdentity. Required when use*managed*identity is true.\n"
                },
                "clientId": {
                    "type": "string",
                    "description": "Application ID of the Azure App. Required when use*managed*identity is false.\n"
                },
                "delegateSelectors": {
                    "type": "array",
                    "items": {
                        "type": "string"
                    },
                    "description": "Tags to filter delegates for connection.\n"
                },
                "description": {
                    "type": "string",
                    "description": "Description of the resource.\n"
                },
                "enablePurge": {
                    "type": "boolean",
                    "description": "Boolean value to indicate if purge is enabled.\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"
                },
                "managedClientId": {
                    "type": "string",
                    "description": "Client Id of the ManagedIdentity resource. Required when azure*managed*identity_type is UserAssignedManagedIdentity.\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. Required when use*managed*identity is false.\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. Required when use*managed*identity is false.\n"
                },
                "useManagedIdentity": {
                    "type": "boolean",
                    "description": "Boolean value to indicate if managed identity is used to authenticate to Azure Key Vault.\n"
                },
                "vaultName": {
                    "type": "string",
                    "description": "Name of the vault.\n"
                }
            },
            "requiredInputs": [
                "identifier",
                "subscription",
                "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"
                    },
                    "azureManagedIdentityType": {
                        "type": "string",
                        "description": "Azure Managed Identity type. Possible values: SystemAssignedManagedIdentity or UserAssignedManagedIdentity. Required when use*managed*identity is true.\n"
                    },
                    "clientId": {
                        "type": "string",
                        "description": "Application ID of the Azure App. Required when use*managed*identity is false.\n"
                    },
                    "delegateSelectors": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "description": "Tags to filter delegates for connection.\n"
                    },
                    "description": {
                        "type": "string",
                        "description": "Description of the resource.\n"
                    },
                    "enablePurge": {
                        "type": "boolean",
                        "description": "Boolean value to indicate if purge is enabled.\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"
                    },
                    "managedClientId": {
                        "type": "string",
                        "description": "Client Id of the ManagedIdentity resource. Required when azure*managed*identity_type is UserAssignedManagedIdentity.\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. Required when use*managed*identity is false.\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. Required when use*managed*identity is false.\n"
                    },
                    "useManagedIdentity": {
                        "type": "boolean",
                        "description": "Boolean value to indicate if managed identity is used to authenticate to Azure Key Vault.\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## Example Usage\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\n// Credentials http (with username + personal access token - UsernameToken)\nconst usernameToken = new harness.platform.BitbucketConnector(\"username_token\", {\n    identifier: \"identifier\",\n    name: \"name\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://bitbucket.com/account\",\n    connectionType: \"Account\",\n    validationRepo: \"some_repo\",\n    delegateSelectors: [\"harness-delegate\"],\n    credentials: {\n        http: {\n            username: \"username\",\n            passwordRef: \"account.secret_id\",\n        },\n    },\n    apiAuthentication: {\n        authType: \"UsernameToken\",\n        username: \"username\",\n        tokenRef: \"account.secret_id\",\n    },\n});\n// Credentials http with Bitbucket Cloud Workspace API Token (email + API token)\n// Use this when migrating off Bitbucket app passwords (EOL 2026-06-09).\nconst emailApiToken = new harness.platform.BitbucketConnector(\"email_api_token\", {\n    identifier: \"identifier_email_api_token\",\n    name: \"name_email_api_token\",\n    description: \"Bitbucket Cloud with Workspace API Token\",\n    tags: [\"foo:bar\"],\n    url: \"https://bitbucket.org/my-workspace\",\n    connectionType: \"Account\",\n    validationRepo: \"some_repo\",\n    delegateSelectors: [\"harness-delegate\"],\n    credentials: {\n        http: {\n            username: \"username\",\n            passwordRef: \"account.secret_id\",\n        },\n    },\n    apiAuthentication: {\n        authType: \"EmailAndApiToken\",\n        email: \"user@example.com\",\n        tokenRef: \"account.api_token_secret\",\n    },\n});\n// Credentials http with Bitbucket repo/project Access Token\nconst accessToken = new harness.platform.BitbucketConnector(\"access_token\", {\n    identifier: \"identifier_access_token\",\n    name: \"name_access_token\",\n    description: \"Bitbucket with Access Token\",\n    tags: [\"foo:bar\"],\n    url: \"https://bitbucket.org/my-workspace\",\n    connectionType: \"Account\",\n    validationRepo: \"some_repo\",\n    delegateSelectors: [\"harness-delegate\"],\n    credentials: {\n        http: {\n            username: \"username\",\n            passwordRef: \"account.secret_id\",\n        },\n    },\n    apiAuthentication: {\n        authType: \"AccessToken\",\n        tokenRef: \"account.access_token_secret\",\n    },\n});\n// Credentials ssh\nconst ssh = new harness.platform.BitbucketConnector(\"ssh\", {\n    identifier: \"identifier_ssh\",\n    name: \"name_ssh\",\n    description: \"test\",\n    tags: [\"foo:bar\"],\n    url: \"https://bitbucket.com/account\",\n    connectionType: \"Account\",\n    validationRepo: \"some_repo\",\n    delegateSelectors: [\"harness-delegate\"],\n    credentials: {\n        ssh: {\n            sshKeyRef: \"account.secret_id\",\n        },\n    },\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\n# Credentials http (with username + personal access token - UsernameToken)\nusername_token = harness.platform.BitbucketConnector(\"username_token\",\n    identifier=\"identifier\",\n    name=\"name\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://bitbucket.com/account\",\n    connection_type=\"Account\",\n    validation_repo=\"some_repo\",\n    delegate_selectors=[\"harness-delegate\"],\n    credentials={\n        \"http\": {\n            \"username\": \"username\",\n            \"password_ref\": \"account.secret_id\",\n        },\n    },\n    api_authentication={\n        \"auth_type\": \"UsernameToken\",\n        \"username\": \"username\",\n        \"token_ref\": \"account.secret_id\",\n    })\n# Credentials http with Bitbucket Cloud Workspace API Token (email + API token)\n# Use this when migrating off Bitbucket app passwords (EOL 2026-06-09).\nemail_api_token = harness.platform.BitbucketConnector(\"email_api_token\",\n    identifier=\"identifier_email_api_token\",\n    name=\"name_email_api_token\",\n    description=\"Bitbucket Cloud with Workspace API Token\",\n    tags=[\"foo:bar\"],\n    url=\"https://bitbucket.org/my-workspace\",\n    connection_type=\"Account\",\n    validation_repo=\"some_repo\",\n    delegate_selectors=[\"harness-delegate\"],\n    credentials={\n        \"http\": {\n            \"username\": \"username\",\n            \"password_ref\": \"account.secret_id\",\n        },\n    },\n    api_authentication={\n        \"auth_type\": \"EmailAndApiToken\",\n        \"email\": \"user@example.com\",\n        \"token_ref\": \"account.api_token_secret\",\n    })\n# Credentials http with Bitbucket repo/project Access Token\naccess_token = harness.platform.BitbucketConnector(\"access_token\",\n    identifier=\"identifier_access_token\",\n    name=\"name_access_token\",\n    description=\"Bitbucket with Access Token\",\n    tags=[\"foo:bar\"],\n    url=\"https://bitbucket.org/my-workspace\",\n    connection_type=\"Account\",\n    validation_repo=\"some_repo\",\n    delegate_selectors=[\"harness-delegate\"],\n    credentials={\n        \"http\": {\n            \"username\": \"username\",\n            \"password_ref\": \"account.secret_id\",\n        },\n    },\n    api_authentication={\n        \"auth_type\": \"AccessToken\",\n        \"token_ref\": \"account.access_token_secret\",\n    })\n# Credentials ssh\nssh = harness.platform.BitbucketConnector(\"ssh\",\n    identifier=\"identifier_ssh\",\n    name=\"name_ssh\",\n    description=\"test\",\n    tags=[\"foo:bar\"],\n    url=\"https://bitbucket.com/account\",\n    connection_type=\"Account\",\n    validation_repo=\"some_repo\",\n    delegate_selectors=[\"harness-delegate\"],\n    credentials={\n        \"ssh\": {\n            \"ssh_key_ref\": \"account.secret_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    // Credentials http (with username + personal access token - UsernameToken)\n    var usernameToken = new Harness.Platform.BitbucketConnector(\"username_token\", new()\n    {\n        Identifier = \"identifier\",\n        Name = \"name\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://bitbucket.com/account\",\n        ConnectionType = \"Account\",\n        ValidationRepo = \"some_repo\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        Credentials = new Harness.Platform.Inputs.BitbucketConnectorCredentialsArgs\n        {\n            Http = new Harness.Platform.Inputs.BitbucketConnectorCredentialsHttpArgs\n            {\n                Username = \"username\",\n                PasswordRef = \"account.secret_id\",\n            },\n        },\n        ApiAuthentication = new Harness.Platform.Inputs.BitbucketConnectorApiAuthenticationArgs\n        {\n            AuthType = \"UsernameToken\",\n            Username = \"username\",\n            TokenRef = \"account.secret_id\",\n        },\n    });\n\n    // Credentials http with Bitbucket Cloud Workspace API Token (email + API token)\n    // Use this when migrating off Bitbucket app passwords (EOL 2026-06-09).\n    var emailApiToken = new Harness.Platform.BitbucketConnector(\"email_api_token\", new()\n    {\n        Identifier = \"identifier_email_api_token\",\n        Name = \"name_email_api_token\",\n        Description = \"Bitbucket Cloud with Workspace API Token\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://bitbucket.org/my-workspace\",\n        ConnectionType = \"Account\",\n        ValidationRepo = \"some_repo\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        Credentials = new Harness.Platform.Inputs.BitbucketConnectorCredentialsArgs\n        {\n            Http = new Harness.Platform.Inputs.BitbucketConnectorCredentialsHttpArgs\n            {\n                Username = \"username\",\n                PasswordRef = \"account.secret_id\",\n            },\n        },\n        ApiAuthentication = new Harness.Platform.Inputs.BitbucketConnectorApiAuthenticationArgs\n        {\n            AuthType = \"EmailAndApiToken\",\n            Email = \"user@example.com\",\n            TokenRef = \"account.api_token_secret\",\n        },\n    });\n\n    // Credentials http with Bitbucket repo/project Access Token\n    var accessToken = new Harness.Platform.BitbucketConnector(\"access_token\", new()\n    {\n        Identifier = \"identifier_access_token\",\n        Name = \"name_access_token\",\n        Description = \"Bitbucket with Access Token\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://bitbucket.org/my-workspace\",\n        ConnectionType = \"Account\",\n        ValidationRepo = \"some_repo\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        Credentials = new Harness.Platform.Inputs.BitbucketConnectorCredentialsArgs\n        {\n            Http = new Harness.Platform.Inputs.BitbucketConnectorCredentialsHttpArgs\n            {\n                Username = \"username\",\n                PasswordRef = \"account.secret_id\",\n            },\n        },\n        ApiAuthentication = new Harness.Platform.Inputs.BitbucketConnectorApiAuthenticationArgs\n        {\n            AuthType = \"AccessToken\",\n            TokenRef = \"account.access_token_secret\",\n        },\n    });\n\n    // Credentials ssh\n    var ssh = new Harness.Platform.BitbucketConnector(\"ssh\", new()\n    {\n        Identifier = \"identifier_ssh\",\n        Name = \"name_ssh\",\n        Description = \"test\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n        },\n        Url = \"https://bitbucket.com/account\",\n        ConnectionType = \"Account\",\n        ValidationRepo = \"some_repo\",\n        DelegateSelectors = new[]\n        {\n            \"harness-delegate\",\n        },\n        Credentials = new Harness.Platform.Inputs.BitbucketConnectorCredentialsArgs\n        {\n            Ssh = new Harness.Platform.Inputs.BitbucketConnectorCredentialsSshArgs\n            {\n                SshKeyRef = \"account.secret_id\",\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// Credentials http (with username + personal access token - UsernameToken)\n\t\t_, err := platform.NewBitbucketConnector(ctx, \"username_token\", \u0026platform.BitbucketConnectorArgs{\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://bitbucket.com/account\"),\n\t\t\tConnectionType: pulumi.String(\"Account\"),\n\t\t\tValidationRepo: pulumi.String(\"some_repo\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.BitbucketConnectorCredentialsArgs{\n\t\t\t\tHttp: \u0026platform.BitbucketConnectorCredentialsHttpArgs{\n\t\t\t\t\tUsername:    pulumi.String(\"username\"),\n\t\t\t\t\tPasswordRef: pulumi.String(\"account.secret_id\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tApiAuthentication: \u0026platform.BitbucketConnectorApiAuthenticationArgs{\n\t\t\t\tAuthType: pulumi.String(\"UsernameToken\"),\n\t\t\t\tUsername: pulumi.String(\"username\"),\n\t\t\t\tTokenRef: 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// Credentials http with Bitbucket Cloud Workspace API Token (email + API token)\n\t\t// Use this when migrating off Bitbucket app passwords (EOL 2026-06-09).\n\t\t_, err = platform.NewBitbucketConnector(ctx, \"email_api_token\", \u0026platform.BitbucketConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier_email_api_token\"),\n\t\t\tName:        pulumi.String(\"name_email_api_token\"),\n\t\t\tDescription: pulumi.String(\"Bitbucket Cloud with Workspace API Token\"),\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://bitbucket.org/my-workspace\"),\n\t\t\tConnectionType: pulumi.String(\"Account\"),\n\t\t\tValidationRepo: pulumi.String(\"some_repo\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.BitbucketConnectorCredentialsArgs{\n\t\t\t\tHttp: \u0026platform.BitbucketConnectorCredentialsHttpArgs{\n\t\t\t\t\tUsername:    pulumi.String(\"username\"),\n\t\t\t\t\tPasswordRef: pulumi.String(\"account.secret_id\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tApiAuthentication: \u0026platform.BitbucketConnectorApiAuthenticationArgs{\n\t\t\t\tAuthType: pulumi.String(\"EmailAndApiToken\"),\n\t\t\t\tEmail:    pulumi.String(\"user@example.com\"),\n\t\t\t\tTokenRef: pulumi.String(\"account.api_token_secret\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Credentials http with Bitbucket repo/project Access Token\n\t\t_, err = platform.NewBitbucketConnector(ctx, \"access_token\", \u0026platform.BitbucketConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier_access_token\"),\n\t\t\tName:        pulumi.String(\"name_access_token\"),\n\t\t\tDescription: pulumi.String(\"Bitbucket with Access Token\"),\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://bitbucket.org/my-workspace\"),\n\t\t\tConnectionType: pulumi.String(\"Account\"),\n\t\t\tValidationRepo: pulumi.String(\"some_repo\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.BitbucketConnectorCredentialsArgs{\n\t\t\t\tHttp: \u0026platform.BitbucketConnectorCredentialsHttpArgs{\n\t\t\t\t\tUsername:    pulumi.String(\"username\"),\n\t\t\t\t\tPasswordRef: pulumi.String(\"account.secret_id\"),\n\t\t\t\t},\n\t\t\t},\n\t\t\tApiAuthentication: \u0026platform.BitbucketConnectorApiAuthenticationArgs{\n\t\t\t\tAuthType: pulumi.String(\"AccessToken\"),\n\t\t\t\tTokenRef: pulumi.String(\"account.access_token_secret\"),\n\t\t\t},\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Credentials ssh\n\t\t_, err = platform.NewBitbucketConnector(ctx, \"ssh\", \u0026platform.BitbucketConnectorArgs{\n\t\t\tIdentifier:  pulumi.String(\"identifier_ssh\"),\n\t\t\tName:        pulumi.String(\"name_ssh\"),\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://bitbucket.com/account\"),\n\t\t\tConnectionType: pulumi.String(\"Account\"),\n\t\t\tValidationRepo: pulumi.String(\"some_repo\"),\n\t\t\tDelegateSelectors: pulumi.StringArray{\n\t\t\t\tpulumi.String(\"harness-delegate\"),\n\t\t\t},\n\t\t\tCredentials: \u0026platform.BitbucketConnectorCredentialsArgs{\n\t\t\t\tSsh: \u0026platform.BitbucketConnectorCredentialsSshArgs{\n\t\t\t\t\tSshKeyRef: pulumi.String(\"account.secret_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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Credentials http (with username + personal access token - UsernameToken)\nresource \"harness_platform_bitbucketconnector\" \"username_token\" {\n  identifier         = \"identifier\"\n  name               = \"name\"\n  description        = \"test\"\n  tags               = [\"foo:bar\"]\n  url                = \"https://bitbucket.com/account\"\n  connection_type    = \"Account\"\n  validation_repo    = \"some_repo\"\n  delegate_selectors = [\"harness-delegate\"]\n  credentials = {\n    http = {\n      username     = \"username\"\n      password_ref = \"account.secret_id\"\n    }\n  }\n  api_authentication = {\n    auth_type = \"UsernameToken\"\n    username  = \"username\"\n    token_ref = \"account.secret_id\"\n  }\n}\n# Credentials http with Bitbucket Cloud Workspace API Token (email + API token)\n# Use this when migrating off Bitbucket app passwords (EOL 2026-06-09).\nresource \"harness_platform_bitbucketconnector\" \"email_api_token\" {\n  identifier         = \"identifier_email_api_token\"\n  name               = \"name_email_api_token\"\n  description        = \"Bitbucket Cloud with Workspace API Token\"\n  tags               = [\"foo:bar\"]\n  url                = \"https://bitbucket.org/my-workspace\"\n  connection_type    = \"Account\"\n  validation_repo    = \"some_repo\"\n  delegate_selectors = [\"harness-delegate\"]\n  credentials = {\n    http = {\n      username     = \"username\"\n      password_ref = \"account.secret_id\"\n    }\n  }\n  api_authentication = {\n    auth_type = \"EmailAndApiToken\"\n    email     = \"user@example.com\"\n    token_ref = \"account.api_token_secret\"\n  }\n}\n# Credentials http with Bitbucket repo/project Access Token\nresource \"harness_platform_bitbucketconnector\" \"access_token\" {\n  identifier         = \"identifier_access_token\"\n  name               = \"name_access_token\"\n  description        = \"Bitbucket with Access Token\"\n  tags               = [\"foo:bar\"]\n  url                = \"https://bitbucket.org/my-workspace\"\n  connection_type    = \"Account\"\n  validation_repo    = \"some_repo\"\n  delegate_selectors = [\"harness-delegate\"]\n  credentials = {\n    http = {\n      username     = \"username\"\n      password_ref = \"account.secret_id\"\n    }\n  }\n  api_authentication = {\n    auth_type = \"AccessToken\"\n    token_ref = \"account.access_token_secret\"\n  }\n}\n# Credentials ssh\nresource \"harness_platform_bitbucketconnector\" \"ssh\" {\n  identifier         = \"identifier_ssh\"\n  name               = \"name_ssh\"\n  description        = \"test\"\n  tags               = [\"foo:bar\"]\n  url                = \"https://bitbucket.com/account\"\n  connection_type    = \"Account\"\n  validation_repo    = \"some_repo\"\n  delegate_selectors = [\"harness-delegate\"]\n  credentials = {\n    ssh = {\n      ssh_key_ref = \"account.secret_id\"\n    }\n  }\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.BitbucketConnector;\nimport com.pulumi.harness.platform.BitbucketConnectorArgs;\nimport com.pulumi.harness.platform.inputs.BitbucketConnectorCredentialsArgs;\nimport com.pulumi.harness.platform.inputs.BitbucketConnectorCredentialsHttpArgs;\nimport com.pulumi.harness.platform.inputs.BitbucketConnectorApiAuthenticationArgs;\nimport com.pulumi.harness.platform.inputs.BitbucketConnectorCredentialsSshArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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        // Credentials http (with username + personal access token - UsernameToken)\n        var usernameToken = new BitbucketConnector(\"usernameToken\", BitbucketConnectorArgs.builder()\n            .identifier(\"identifier\")\n            .name(\"name\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://bitbucket.com/account\")\n            .connectionType(\"Account\")\n            .validationRepo(\"some_repo\")\n            .delegateSelectors(\"harness-delegate\")\n            .credentials(BitbucketConnectorCredentialsArgs.builder()\n                .http(BitbucketConnectorCredentialsHttpArgs.builder()\n                    .username(\"username\")\n                    .passwordRef(\"account.secret_id\")\n                    .build())\n                .build())\n            .apiAuthentication(BitbucketConnectorApiAuthenticationArgs.builder()\n                .authType(\"UsernameToken\")\n                .username(\"username\")\n                .tokenRef(\"account.secret_id\")\n                .build())\n            .build());\n\n        // Credentials http with Bitbucket Cloud Workspace API Token (email + API token)\n        // Use this when migrating off Bitbucket app passwords (EOL 2026-06-09).\n        var emailApiToken = new BitbucketConnector(\"emailApiToken\", BitbucketConnectorArgs.builder()\n            .identifier(\"identifier_email_api_token\")\n            .name(\"name_email_api_token\")\n            .description(\"Bitbucket Cloud with Workspace API Token\")\n            .tags(\"foo:bar\")\n            .url(\"https://bitbucket.org/my-workspace\")\n            .connectionType(\"Account\")\n            .validationRepo(\"some_repo\")\n            .delegateSelectors(\"harness-delegate\")\n            .credentials(BitbucketConnectorCredentialsArgs.builder()\n                .http(BitbucketConnectorCredentialsHttpArgs.builder()\n                    .username(\"username\")\n                    .passwordRef(\"account.secret_id\")\n                    .build())\n                .build())\n            .apiAuthentication(BitbucketConnectorApiAuthenticationArgs.builder()\n                .authType(\"EmailAndApiToken\")\n                .email(\"user@example.com\")\n                .tokenRef(\"account.api_token_secret\")\n                .build())\n            .build());\n\n        // Credentials http with Bitbucket repo/project Access Token\n        var accessToken = new BitbucketConnector(\"accessToken\", BitbucketConnectorArgs.builder()\n            .identifier(\"identifier_access_token\")\n            .name(\"name_access_token\")\n            .description(\"Bitbucket with Access Token\")\n            .tags(\"foo:bar\")\n            .url(\"https://bitbucket.org/my-workspace\")\n            .connectionType(\"Account\")\n            .validationRepo(\"some_repo\")\n            .delegateSelectors(\"harness-delegate\")\n            .credentials(BitbucketConnectorCredentialsArgs.builder()\n                .http(BitbucketConnectorCredentialsHttpArgs.builder()\n                    .username(\"username\")\n                    .passwordRef(\"account.secret_id\")\n                    .build())\n                .build())\n            .apiAuthentication(BitbucketConnectorApiAuthenticationArgs.builder()\n                .authType(\"AccessToken\")\n                .tokenRef(\"account.access_token_secret\")\n                .build())\n            .build());\n\n        // Credentials ssh\n        var ssh = new BitbucketConnector(\"ssh\", BitbucketConnectorArgs.builder()\n            .identifier(\"identifier_ssh\")\n            .name(\"name_ssh\")\n            .description(\"test\")\n            .tags(\"foo:bar\")\n            .url(\"https://bitbucket.com/account\")\n            .connectionType(\"Account\")\n            .validationRepo(\"some_repo\")\n            .delegateSelectors(\"harness-delegate\")\n            .credentials(BitbucketConnectorCredentialsArgs.builder()\n                .ssh(BitbucketConnectorCredentialsSshArgs.builder()\n                    .sshKeyRef(\"account.secret_id\")\n                    .build())\n                .build())\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  # Credentials http (with username + personal access token - UsernameToken)\n  usernameToken:\n    type: harness:platform:BitbucketConnector\n    name: username_token\n    properties:\n      identifier: identifier\n      name: name\n      description: test\n      tags:\n        - foo:bar\n      url: https://bitbucket.com/account\n      connectionType: Account\n      validationRepo: some_repo\n      delegateSelectors:\n        - harness-delegate\n      credentials:\n        http:\n          username: username\n          passwordRef: account.secret_id\n      apiAuthentication:\n        authType: UsernameToken\n        username: username\n        tokenRef: account.secret_id\n  # Credentials http with Bitbucket Cloud Workspace API Token (email + API token)\n  # Use this when migrating off Bitbucket app passwords (EOL 2026-06-09).\n  emailApiToken:\n    type: harness:platform:BitbucketConnector\n    name: email_api_token\n    properties:\n      identifier: identifier_email_api_token\n      name: name_email_api_token\n      description: Bitbucket Cloud with Workspace API Token\n      tags:\n        - foo:bar\n      url: https://bitbucket.org/my-workspace\n      connectionType: Account\n      validationRepo: some_repo\n      delegateSelectors:\n        - harness-delegate\n      credentials:\n        http:\n          username: username\n          passwordRef: account.secret_id\n      apiAuthentication:\n        authType: EmailAndApiToken\n        email: user@example.com\n        tokenRef: account.api_token_secret\n  # Credentials http with Bitbucket repo/project Access Token\n  accessToken:\n    type: harness:platform:BitbucketConnector\n    name: access_token\n    properties:\n      identifier: identifier_access_token\n      name: name_access_token\n      description: Bitbucket with Access Token\n      tags:\n        - foo:bar\n      url: https://bitbucket.org/my-workspace\n      connectionType: Account\n      validationRepo: some_repo\n      delegateSelectors:\n        - harness-delegate\n      credentials:\n        http:\n          username: username\n          passwordRef: account.secret_id\n      apiAuthentication:\n        authType: AccessToken\n        tokenRef: account.access_token_secret\n  # Credentials ssh\n  ssh:\n    type: harness:platform:BitbucketConnector\n    properties:\n      identifier: identifier_ssh\n      name: name_ssh\n      description: test\n      tags:\n        - foo:bar\n      url: https://bitbucket.com/account\n      connectionType: Account\n      validationRepo: some_repo\n      delegateSelectors:\n        - harness-delegate\n      credentials:\n        ssh:\n          sshKeyRef: 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 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`\" pulumi-lang-hcl=\"`connection_type`\"\u003e`connectionType`\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`\" pulumi-lang-hcl=\"`connection_type`\"\u003e`connectionType`\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`\" pulumi-lang-hcl=\"`connection_type`\"\u003e`connectionType`\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`\" pulumi-lang-hcl=\"`harness_platform_pipeline_central_notification_rule`\"\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`\" pulumi-lang-hcl=\"`connection_type`\"\u003e`connectionType`\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`\" pulumi-lang-hcl=\"`connection_type`\"\u003e`connectionType`\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`\" pulumi-lang-hcl=\"`connection_type`\"\u003e`connectionType`\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Authentication mechanism as username and password\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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\"\n}\nresource \"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        =\"account.${harness_platform_secrettext.test.id}\"\n    delegate_selectors = [\"harness-delegate\"]\n  }\n}\nresource \"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  }\n}\nresource \"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  }\n}\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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(Arrays.asList(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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_dashboardfolders\" \"folder\" {\n  name = \"name\"\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_dashboards\" \"dashboard\" {\n  dashboard_id        = \"111\"\n  description         = \"dashboard_tag\"\n  resource_identifier = \"999\"\n  title               = \"Dashboard Title\"\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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// Using commit_sha to pin changelog to a specific revision\nconst withCommitSha = new harness.platform.DbInstance(\"with_commit_sha\", {\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    commitSha: \"abc123def456\",\n    connector: \"jdbcConnector\",\n    context: \"ctx\",\n});\n// Using git_tag to pin changelog to a specific tagged revision\nconst withGitTag = new harness.platform.DbInstance(\"with_git_tag\", {\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    gitTag: \"v1.0.0\",\n    connector: \"jdbcConnector\",\n    context: \"ctx\",\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# Using commit_sha to pin changelog to a specific revision\nwith_commit_sha = harness.platform.DbInstance(\"with_commit_sha\",\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    commit_sha=\"abc123def456\",\n    connector=\"jdbcConnector\",\n    context=\"ctx\")\n# Using git_tag to pin changelog to a specific tagged revision\nwith_git_tag = harness.platform.DbInstance(\"with_git_tag\",\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    git_tag=\"v1.0.0\",\n    connector=\"jdbcConnector\",\n    context=\"ctx\")\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    // Using commit_sha to pin changelog to a specific revision\n    var withCommitSha = new Harness.Platform.DbInstance(\"with_commit_sha\", 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        CommitSha = \"abc123def456\",\n        Connector = \"jdbcConnector\",\n        Context = \"ctx\",\n    });\n\n    // Using git_tag to pin changelog to a specific tagged revision\n    var withGitTag = new Harness.Platform.DbInstance(\"with_git_tag\", 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        GitTag = \"v1.0.0\",\n        Connector = \"jdbcConnector\",\n        Context = \"ctx\",\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\t// Using commit_sha to pin changelog to a specific revision\n\t\t_, err = platform.NewDbInstance(ctx, \"with_commit_sha\", \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\tCommitSha: pulumi.String(\"abc123def456\"),\n\t\t\tConnector: pulumi.String(\"jdbcConnector\"),\n\t\t\tContext:   pulumi.String(\"ctx\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\t// Using git_tag to pin changelog to a specific tagged revision\n\t\t_, err = platform.NewDbInstance(ctx, \"with_git_tag\", \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\tGitTag:    pulumi.String(\"v1.0.0\"),\n\t\t\tConnector: pulumi.String(\"jdbcConnector\"),\n\t\t\tContext:   pulumi.String(\"ctx\"),\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_dbinstance\" \"test\" {\n  identifier = \"identifier\"\n  org_id     = \"org_id\"\n  project_id = \"project_id\"\n  name       = \"name\"\n  tags       = [\"foo:bar\", \"bar:foo\"]\n  schema     = \"schema1\"\n  branch     = \"main\"\n  connector  = \"jdbcConnector\"\n  context    = \"ctx\"\n  substitute_properties = {\n    \"key1\" = \"value1\"\n    \"key2\" = \"value2\"\n  }\n}\n# Using commit_sha to pin changelog to a specific revision\nresource \"harness_platform_dbinstance\" \"with_commit_sha\" {\n  identifier = \"identifier\"\n  org_id     = \"org_id\"\n  project_id = \"project_id\"\n  name       = \"name\"\n  tags       = [\"foo:bar\", \"bar:foo\"]\n  schema     = \"schema1\"\n  commit_sha = \"abc123def456\"\n  connector  = \"jdbcConnector\"\n  context    = \"ctx\"\n}\n# Using git_tag to pin changelog to a specific tagged revision\nresource \"harness_platform_dbinstance\" \"with_git_tag\" {\n  identifier = \"identifier\"\n  org_id     = \"org_id\"\n  project_id = \"project_id\"\n  name       = \"name\"\n  tags       = [\"foo:bar\", \"bar:foo\"]\n  schema     = \"schema1\"\n  git_tag    = \"v1.0.0\"\n  connector  = \"jdbcConnector\"\n  context    = \"ctx\"\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.ArrayList;\nimport java.util.Arrays;\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        // Using commit_sha to pin changelog to a specific revision\n        var withCommitSha = new DbInstance(\"withCommitSha\", 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            .commitSha(\"abc123def456\")\n            .connector(\"jdbcConnector\")\n            .context(\"ctx\")\n            .build());\n\n        // Using git_tag to pin changelog to a specific tagged revision\n        var withGitTag = new DbInstance(\"withGitTag\", 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            .gitTag(\"v1.0.0\")\n            .connector(\"jdbcConnector\")\n            .context(\"ctx\")\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  # Using commit_sha to pin changelog to a specific revision\n  withCommitSha:\n    type: harness:platform:DbInstance\n    name: with_commit_sha\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      commitSha: abc123def456\n      connector: jdbcConnector\n      context: ctx\n  # Using git_tag to pin changelog to a specific tagged revision\n  withGitTag:\n    type: harness:platform:DbInstance\n    name: with_git_tag\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      gitTag: v1.0.0\n      connector: jdbcConnector\n      context: ctx\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"
                },
                "commitSha": {
                    "type": "string",
                    "description": "The commit SHA to pin the changelog to a specific revision. Mutually exclusive with branch and git_tag.\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"
                },
                "gitTag": {
                    "type": "string",
                    "description": "The git tag to pin the changelog to a specific tagged revision. Mutually exclusive with branch and commit_sha.\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"
                },
                "commitSha": {
                    "type": "string",
                    "description": "The commit SHA to pin the changelog to a specific revision. Mutually exclusive with branch and git_tag.\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"
                },
                "gitTag": {
                    "type": "string",
                    "description": "The git tag to pin the changelog to a specific tagged revision. Mutually exclusive with branch and commit_sha.\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"
                    },
                    "commitSha": {
                        "type": "string",
                        "description": "The commit SHA to pin the changelog to a specific revision. Mutually exclusive with branch and git_tag.\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"
                    },
                    "gitTag": {
                        "type": "string",
                        "description": "The git tag to pin the changelog to a specific tagged revision. Mutually exclusive with branch and commit_sha.\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});\nconst harnessCodeRepo = new harness.platform.DbSchema(\"harness_code_repo\", {\n    identifier: \"identifier\",\n    orgId: \"org_id\",\n    projectId: \"project_id\",\n    name: \"name\",\n    service: \"service1\",\n    type: \"Repository\",\n    tags: [\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schemaSource: {\n        repo: \"my-harness-code-repo\",\n        location: \"db/example-changelog.yaml\",\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    })\nharness_code_repo = harness.platform.DbSchema(\"harness_code_repo\",\n    identifier=\"identifier\",\n    org_id=\"org_id\",\n    project_id=\"project_id\",\n    name=\"name\",\n    service=\"service1\",\n    type=\"Repository\",\n    tags=[\n        \"foo:bar\",\n        \"bar:foo\",\n    ],\n    schema_source={\n        \"repo\": \"my-harness-code-repo\",\n        \"location\": \"db/example-changelog.yaml\",\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    var harnessCodeRepo = new Harness.Platform.DbSchema(\"harness_code_repo\", new()\n    {\n        Identifier = \"identifier\",\n        OrgId = \"org_id\",\n        ProjectId = \"project_id\",\n        Name = \"name\",\n        Service = \"service1\",\n        Type = \"Repository\",\n        Tags = new[]\n        {\n            \"foo:bar\",\n            \"bar:foo\",\n        },\n        SchemaSource = new Harness.Platform.Inputs.DbSchemaSchemaSourceArgs\n        {\n            Repo = \"my-harness-code-repo\",\n            Location = \"db/example-changelog.yaml\",\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\t_, err = platform.NewDbSchema(ctx, \"harness_code_repo\", \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\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\tRepo:     pulumi.String(\"my-harness-code-repo\"),\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\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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       = [\"foo:bar\", \"bar:foo\"]\n  schema_source = {\n    connector    = \"gitConnector\"\n    repo         = \"TestRepo\"\n    location     = \"db/example-changelog.yaml\"\n    archive_path = \"path/to/archive.zip\"\n  }\n}\nresource \"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           = [\"foo:bar\", \"bar:foo\"]\n  schema_source = {\n    connector    = \"gitConnector\"\n    repo         = \"TestRepo\"\n    location     = \"db/example-changelog.yaml\"\n    archive_path = \"path/to/archive.zip\"\n  }\n}\nresource \"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           = [\"foo:bar\", \"bar:foo\"]\n  changelog_script = {\n    image    = \"plugins/image\"\n    command  = \"echo \\\\\\\"hello dbops\\\\\\\"\"\n    shell    = \"sh/bash\"\n    location = \"db/example-changelog.yaml\"\n  }\n}\nresource \"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           = [\"foo:bar\", \"bar:foo\"]\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  }\n}\nresource \"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           = [\"foo:bar\", \"bar:foo\"]\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  }\n}\nresource \"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           = [\"foo:bar\", \"bar:foo\"]\n  schema_source = {\n    connector    = \"gitConnector\"\n    repo         = \"TestRepo\"\n    location     = \"db/example-changelog.yaml\"\n    archive_path = \"path/to/archive.zip\"\n  }\n}\nresource \"harness_platform_dbschema\" \"harness_code_repo\" {\n  identifier = \"identifier\"\n  org_id     = \"org_id\"\n  project_id = \"project_id\"\n  name       = \"name\"\n  service    = \"service1\"\n  type       = \"Repository\"\n  tags       = [\"foo:bar\", \"bar:foo\"]\n  schema_source = {\n    repo     = \"my-harness-code-repo\"\n    location = \"db/example-changelog.yaml\"\n  }\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.ArrayList;\nimport java.util.Arrays;\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        var harnessCodeRepo = new DbSchema(\"harnessCodeRepo\", DbSchemaArgs.builder()\n            .identifier(\"identifier\")\n            .orgId(\"org_id\")\n            .projectId(\"project_id\")\n            .name(\"name\")\n            .service(\"service1\")\n            .type(\"Repository\")\n            .tags(            \n                \"foo:bar\",\n                \"bar:foo\")\n            .schemaSource(DbSchemaSchemaSourceArgs.builder()\n                .repo(\"my-harness-code-repo\")\n                .location(\"db/example-changelog.yaml\")\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  harnessCodeRepo:\n    type: harness:platform:DbSchema\n    name: harness_code_repo\n    properties:\n      identifier: identifier\n      orgId: org_id\n      projectId: project_id\n      name: name\n      service: service1\n      type: Repository\n      tags:\n        - foo:bar\n        - bar:foo\n      schemaSource:\n        repo: my-harness-code-repo\n        location: db/example-changelog.yaml\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. For Harness Code Repository, omit the connector and provide repo directly.\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`\" pulumi-lang-hcl=\"`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. For Harness Code Repository, omit the connector and provide repo directly.\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`\" pulumi-lang-hcl=\"`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. For Harness Code Repository, omit the connector and provide repo directly.\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`\" pulumi-lang-hcl=\"`false`\"\u003e`false`\u003c/span\u003e.\n"
                    }
                },
                "type": "object"
            }
        },
        "harness:platform/defaultImages:DefaultImages": {
            "description": "Resource for managing a Harness execution image override for CI, IACM, or IDP.\n\nSetting \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\" pulumi-lang-hcl=\"`value`\"\u003e`value`\u003c/span\u003e overrides the named image field for the account. Omitting or removing \u003cspan pulumi-lang-nodejs=\"`value`\" pulumi-lang-dotnet=\"`Value`\" pulumi-lang-go=\"`value`\" pulumi-lang-python=\"`value`\" pulumi-lang-yaml=\"`value`\" pulumi-lang-java=\"`value`\" pulumi-lang-hcl=\"`value`\"\u003e`value`\u003c/span\u003e resets the field back to the Harness default.\n\n## Example Usage\n\n### CI — override the lite-engine image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst ciLiteEngine = new harness.platform.DefaultImages(\"ci_lite_engine\", {\n    kind: \"ci\",\n    field: \"liteEngineTag\",\n    value: \"harness/ci-lite-engine:1.16.5\",\n});\nconst ciCustomer = harness.platform.getDefaultImages({\n    kind: \"ci\",\n    type: \"customer\",\n});\nexport const ciLiteEngineTag = ciCustomer.then(ciCustomer =\u003e ciCustomer.images?.liteEngineTag);\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nci_lite_engine = harness.platform.DefaultImages(\"ci_lite_engine\",\n    kind=\"ci\",\n    field=\"liteEngineTag\",\n    value=\"harness/ci-lite-engine:1.16.5\")\nci_customer = harness.platform.get_default_images(kind=\"ci\",\n    type=\"customer\")\npulumi.export(\"ciLiteEngineTag\", ci_customer.images[\"liteEngineTag\"])\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 ciLiteEngine = new Harness.Platform.DefaultImages(\"ci_lite_engine\", new()\n    {\n        Kind = \"ci\",\n        Field = \"liteEngineTag\",\n        Value = \"harness/ci-lite-engine:1.16.5\",\n    });\n\n    var ciCustomer = Harness.Platform.GetDefaultImages.Invoke(new()\n    {\n        Kind = \"ci\",\n        Type = \"customer\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"ciLiteEngineTag\"] = ciCustomer.Apply(getDefaultImagesResult =\u003e getDefaultImagesResult.Images?.LiteEngineTag),\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.NewDefaultImages(ctx, \"ci_lite_engine\", \u0026platform.DefaultImagesArgs{\n\t\t\tKind:  pulumi.String(\"ci\"),\n\t\t\tField: pulumi.String(\"liteEngineTag\"),\n\t\t\tValue: pulumi.String(\"harness/ci-lite-engine:1.16.5\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tciCustomer, err := platform.LookupDefaultImages(ctx, \u0026platform.LookupDefaultImagesArgs{\n\t\t\tKind: \"ci\",\n\t\t\tType: pulumi.StringRef(\"customer\"),\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"ciLiteEngineTag\", ciCustomer.Images.LiteEngineTag)\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_platform_getdefaultimages\" \"ciCustomer\" {\n  kind = \"ci\"\n  type = \"customer\"\n}\n\nresource \"harness_platform_defaultimages\" \"ci_lite_engine\" {\n  kind  = \"ci\"\n  field = \"liteEngineTag\"\n  value = \"harness/ci-lite-engine:1.16.5\"\n}\noutput \"ciLiteEngineTag\" {\n  value = data.harness_platform_getdefaultimages.ciCustomer.images[\"liteEngineTag\"]\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.DefaultImages;\nimport com.pulumi.harness.platform.DefaultImagesArgs;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDefaultImagesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 ciLiteEngine = new DefaultImages(\"ciLiteEngine\", DefaultImagesArgs.builder()\n            .kind(\"ci\")\n            .field(\"liteEngineTag\")\n            .value(\"harness/ci-lite-engine:1.16.5\")\n            .build());\n\n        final var ciCustomer = PlatformFunctions.getDefaultImages(GetDefaultImagesArgs.builder()\n            .kind(\"ci\")\n            .type(\"customer\")\n            .build());\n\n        ctx.export(\"ciLiteEngineTag\", ciCustomer.images().liteEngineTag());\n    }\n}\n```\n```yaml\nresources:\n  ciLiteEngine:\n    type: harness:platform:DefaultImages\n    name: ci_lite_engine\n    properties:\n      kind: ci\n      field: liteEngineTag\n      value: harness/ci-lite-engine:1.16.5\nvariables:\n  ciCustomer:\n    fn::invoke:\n      function: harness:platform:getDefaultImages\n      arguments:\n        kind: ci\n        type: customer\noutputs:\n  ciLiteEngineTag: ${ciCustomer.images.liteEngineTag}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### CI — reset the lite-engine image to the Harness default\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst ciLiteEngine = new harness.platform.DefaultImages(\"ci_lite_engine\", {\n    kind: \"ci\",\n    field: \"liteEngineTag\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nci_lite_engine = harness.platform.DefaultImages(\"ci_lite_engine\",\n    kind=\"ci\",\n    field=\"liteEngineTag\")\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 ciLiteEngine = new Harness.Platform.DefaultImages(\"ci_lite_engine\", new()\n    {\n        Kind = \"ci\",\n        Field = \"liteEngineTag\",\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.NewDefaultImages(ctx, \"ci_lite_engine\", \u0026platform.DefaultImagesArgs{\n\t\t\tKind:  pulumi.String(\"ci\"),\n\t\t\tField: pulumi.String(\"liteEngineTag\"),\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_defaultimages\" \"ci_lite_engine\" {\n  kind  = \"ci\"\n  field = \"liteEngineTag\"\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.DefaultImages;\nimport com.pulumi.harness.platform.DefaultImagesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 ciLiteEngine = new DefaultImages(\"ciLiteEngine\", DefaultImagesArgs.builder()\n            .kind(\"ci\")\n            .field(\"liteEngineTag\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  ciLiteEngine:\n    type: harness:platform:DefaultImages\n    name: ci_lite_engine\n    properties:\n      kind: ci\n      field: liteEngineTag\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IACM — override the AWS CDK image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst iacmAwsCdk = new harness.platform.DefaultImages(\"iacm_aws_cdk\", {\n    kind: \"iacm\",\n    field: \"iacmAwsCdk\",\n    value: \"plugins/harness_aws_cdk:1.2.0\",\n});\nconst iacmDefaults = harness.platform.getDefaultImages({\n    kind: \"iacm\",\n});\nexport const iacmAwsCdkTag = iacmDefaults.then(iacmDefaults =\u003e iacmDefaults.images?.iacmAwsCdk);\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\niacm_aws_cdk = harness.platform.DefaultImages(\"iacm_aws_cdk\",\n    kind=\"iacm\",\n    field=\"iacmAwsCdk\",\n    value=\"plugins/harness_aws_cdk:1.2.0\")\niacm_defaults = harness.platform.get_default_images(kind=\"iacm\")\npulumi.export(\"iacmAwsCdkTag\", iacm_defaults.images[\"iacmAwsCdk\"])\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 iacmAwsCdk = new Harness.Platform.DefaultImages(\"iacm_aws_cdk\", new()\n    {\n        Kind = \"iacm\",\n        Field = \"iacmAwsCdk\",\n        Value = \"plugins/harness_aws_cdk:1.2.0\",\n    });\n\n    var iacmDefaults = Harness.Platform.GetDefaultImages.Invoke(new()\n    {\n        Kind = \"iacm\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"iacmAwsCdkTag\"] = iacmDefaults.Apply(getDefaultImagesResult =\u003e getDefaultImagesResult.Images?.IacmAwsCdk),\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.NewDefaultImages(ctx, \"iacm_aws_cdk\", \u0026platform.DefaultImagesArgs{\n\t\t\tKind:  pulumi.String(\"iacm\"),\n\t\t\tField: pulumi.String(\"iacmAwsCdk\"),\n\t\t\tValue: pulumi.String(\"plugins/harness_aws_cdk:1.2.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tiacmDefaults, err := platform.LookupDefaultImages(ctx, \u0026platform.LookupDefaultImagesArgs{\n\t\t\tKind: \"iacm\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"iacmAwsCdkTag\", iacmDefaults.Images.IacmAwsCdk)\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_platform_getdefaultimages\" \"iacmDefaults\" {\n  kind = \"iacm\"\n}\n\nresource \"harness_platform_defaultimages\" \"iacm_aws_cdk\" {\n  kind  = \"iacm\"\n  field = \"iacmAwsCdk\"\n  value = \"plugins/harness_aws_cdk:1.2.0\"\n}\noutput \"iacmAwsCdkTag\" {\n  value = data.harness_platform_getdefaultimages.iacmDefaults.images[\"iacmAwsCdk\"]\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.DefaultImages;\nimport com.pulumi.harness.platform.DefaultImagesArgs;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDefaultImagesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 iacmAwsCdk = new DefaultImages(\"iacmAwsCdk\", DefaultImagesArgs.builder()\n            .kind(\"iacm\")\n            .field(\"iacmAwsCdk\")\n            .value(\"plugins/harness_aws_cdk:1.2.0\")\n            .build());\n\n        final var iacmDefaults = PlatformFunctions.getDefaultImages(GetDefaultImagesArgs.builder()\n            .kind(\"iacm\")\n            .build());\n\n        ctx.export(\"iacmAwsCdkTag\", iacmDefaults.images().iacmAwsCdk());\n    }\n}\n```\n```yaml\nresources:\n  iacmAwsCdk:\n    type: harness:platform:DefaultImages\n    name: iacm_aws_cdk\n    properties:\n      kind: iacm\n      field: iacmAwsCdk\n      value: plugins/harness_aws_cdk:1.2.0\nvariables:\n  iacmDefaults:\n    fn::invoke:\n      function: harness:platform:getDefaultImages\n      arguments:\n        kind: iacm\noutputs:\n  iacmAwsCdkTag: ${iacmDefaults.images.iacmAwsCdk}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IACM — reset to default\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst iacmAwsCdk = new harness.platform.DefaultImages(\"iacm_aws_cdk\", {\n    kind: \"iacm\",\n    field: \"iacmAwsCdk\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\niacm_aws_cdk = harness.platform.DefaultImages(\"iacm_aws_cdk\",\n    kind=\"iacm\",\n    field=\"iacmAwsCdk\")\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 iacmAwsCdk = new Harness.Platform.DefaultImages(\"iacm_aws_cdk\", new()\n    {\n        Kind = \"iacm\",\n        Field = \"iacmAwsCdk\",\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.NewDefaultImages(ctx, \"iacm_aws_cdk\", \u0026platform.DefaultImagesArgs{\n\t\t\tKind:  pulumi.String(\"iacm\"),\n\t\t\tField: pulumi.String(\"iacmAwsCdk\"),\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_defaultimages\" \"iacm_aws_cdk\" {\n  kind  = \"iacm\"\n  field = \"iacmAwsCdk\"\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.DefaultImages;\nimport com.pulumi.harness.platform.DefaultImagesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 iacmAwsCdk = new DefaultImages(\"iacmAwsCdk\", DefaultImagesArgs.builder()\n            .kind(\"iacm\")\n            .field(\"iacmAwsCdk\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  iacmAwsCdk:\n    type: harness:platform:DefaultImages\n    name: iacm_aws_cdk\n    properties:\n      kind: iacm\n      field: iacmAwsCdk\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IDP — override the register-catalog image\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst idpRegisterCatalog = new harness.platform.DefaultImages(\"idp_register_catalog\", {\n    kind: \"idp\",\n    field: \"registerCatalog\",\n    value: \"harness/registercatalog:1.5.0\",\n});\nconst idpDefaults = harness.platform.getDefaultImages({\n    kind: \"idp\",\n});\nexport const idpRegisterCatalogTag = idpDefaults.then(idpDefaults =\u003e idpDefaults.images?.registerCatalog);\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nidp_register_catalog = harness.platform.DefaultImages(\"idp_register_catalog\",\n    kind=\"idp\",\n    field=\"registerCatalog\",\n    value=\"harness/registercatalog:1.5.0\")\nidp_defaults = harness.platform.get_default_images(kind=\"idp\")\npulumi.export(\"idpRegisterCatalogTag\", idp_defaults.images[\"registerCatalog\"])\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 idpRegisterCatalog = new Harness.Platform.DefaultImages(\"idp_register_catalog\", new()\n    {\n        Kind = \"idp\",\n        Field = \"registerCatalog\",\n        Value = \"harness/registercatalog:1.5.0\",\n    });\n\n    var idpDefaults = Harness.Platform.GetDefaultImages.Invoke(new()\n    {\n        Kind = \"idp\",\n    });\n\n    return new Dictionary\u003cstring, object?\u003e\n    {\n        [\"idpRegisterCatalogTag\"] = idpDefaults.Apply(getDefaultImagesResult =\u003e getDefaultImagesResult.Images?.RegisterCatalog),\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.NewDefaultImages(ctx, \"idp_register_catalog\", \u0026platform.DefaultImagesArgs{\n\t\t\tKind:  pulumi.String(\"idp\"),\n\t\t\tField: pulumi.String(\"registerCatalog\"),\n\t\t\tValue: pulumi.String(\"harness/registercatalog:1.5.0\"),\n\t\t})\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tidpDefaults, err := platform.LookupDefaultImages(ctx, \u0026platform.LookupDefaultImagesArgs{\n\t\t\tKind: \"idp\",\n\t\t}, nil)\n\t\tif err != nil {\n\t\t\treturn err\n\t\t}\n\t\tctx.Export(\"idpRegisterCatalogTag\", idpDefaults.Images.RegisterCatalog)\n\t\treturn nil\n\t})\n}\n```\n```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\ndata \"harness_platform_getdefaultimages\" \"idpDefaults\" {\n  kind = \"idp\"\n}\n\nresource \"harness_platform_defaultimages\" \"idp_register_catalog\" {\n  kind  = \"idp\"\n  field = \"registerCatalog\"\n  value = \"harness/registercatalog:1.5.0\"\n}\noutput \"idpRegisterCatalogTag\" {\n  value = data.harness_platform_getdefaultimages.idpDefaults.images[\"registerCatalog\"]\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.DefaultImages;\nimport com.pulumi.harness.platform.DefaultImagesArgs;\nimport com.pulumi.harness.platform.PlatformFunctions;\nimport com.pulumi.harness.platform.inputs.GetDefaultImagesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 idpRegisterCatalog = new DefaultImages(\"idpRegisterCatalog\", DefaultImagesArgs.builder()\n            .kind(\"idp\")\n            .field(\"registerCatalog\")\n            .value(\"harness/registercatalog:1.5.0\")\n            .build());\n\n        final var idpDefaults = PlatformFunctions.getDefaultImages(GetDefaultImagesArgs.builder()\n            .kind(\"idp\")\n            .build());\n\n        ctx.export(\"idpRegisterCatalogTag\", idpDefaults.images().registerCatalog());\n    }\n}\n```\n```yaml\nresources:\n  idpRegisterCatalog:\n    type: harness:platform:DefaultImages\n    name: idp_register_catalog\n    properties:\n      kind: idp\n      field: registerCatalog\n      value: harness/registercatalog:1.5.0\nvariables:\n  idpDefaults:\n    fn::invoke:\n      function: harness:platform:getDefaultImages\n      arguments:\n        kind: idp\noutputs:\n  idpRegisterCatalogTag: ${idpDefaults.images.registerCatalog}\n```\n\u003c!--End PulumiCodeChooser --\u003e\n\n### IDP — reset to default\n\n\u003c!--Start PulumiCodeChooser --\u003e\n```typescript\nimport * as pulumi from \"@pulumi/pulumi\";\nimport * as harness from \"@pulumi/harness\";\n\nconst idpRegisterCatalog = new harness.platform.DefaultImages(\"idp_register_catalog\", {\n    kind: \"idp\",\n    field: \"registerCatalog\",\n});\n```\n```python\nimport pulumi\nimport pulumi_harness as harness\n\nidp_register_catalog = harness.platform.DefaultImages(\"idp_register_catalog\",\n    kind=\"idp\",\n    field=\"registerCatalog\")\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 idpRegisterCatalog = new Harness.Platform.DefaultImages(\"idp_register_catalog\", new()\n    {\n        Kind = \"idp\",\n        Field = \"registerCatalog\",\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.NewDefaultImages(ctx, \"idp_register_catalog\", \u0026platform.DefaultImagesArgs{\n\t\t\tKind:  pulumi.String(\"idp\"),\n\t\t\tField: pulumi.String(\"registerCatalog\"),\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_defaultimages\" \"idp_register_catalog\" {\n  kind  = \"idp\"\n  field = \"registerCatalog\"\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.DefaultImages;\nimport com.pulumi.harness.platform.DefaultImagesArgs;\nimport java.util.ArrayList;\nimport java.util.Arrays;\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 idpRegisterCatalog = new DefaultImages(\"idpRegisterCatalog\", DefaultImagesArgs.builder()\n            .kind(\"idp\")\n            .field(\"registerCatalog\")\n            .build());\n\n    }\n}\n```\n```yaml\nresources:\n  idpRegisterCatalog:\n    type: harness:platform:DefaultImages\n    name: idp_register_catalog\n    properties:\n      kind: idp\n      field: registerCatalog\n```\n\u003c!--End PulumiCodeChooser --\u003e\n",
            "properties": {
                "field": {
                    "type": "string",
                    "description": "The image field name to override (e.g. `addonTag`, `liteEngineTag`).\n"
                },
                "infraType": {
                    "type": "string",
                    "description": "The infrastructure type passed to the execution config API (e.g. `K8`, `VM`). Defaults to `K8`.\n"
                },
                "kind": {
                    "type": "string",
                    "description": "The service kind. Supported values: \u003cspan pulumi-lang-nodejs=\"`ci`\" pulumi-lang-dotnet=\"`Ci`\" pulumi-lang-go=\"`ci`\" pulumi-lang-python=\"`ci`\" pulumi-lang-yaml=\"`ci`\" pulumi-lang-java=\"`ci`\" pulumi-lang-hcl=\"`ci`\"\u003e`ci`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`iacm`\" pulumi-lang-dotnet=\"`Iacm`\" pulumi-lang-go=\"`iacm`\" pulumi-lang-python=\"`iacm`\" pulumi-lang-yaml=\"`iacm`\" pulumi-lang-java=\"`iacm`\" pulumi-lang-hcl=\"`iacm`\"\u003e`iacm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`idp`\" pulumi-lang-dotnet=\"`Idp`\" pulumi-lang-go=\"`idp`\" pulumi-lang-python=\"`idp`\" pulumi-lang-yaml=\"`idp`\" pulumi-lang-java=\"`idp`\" pulumi-lang-hcl=\"`idp`\"\u003e`idp`\u003c/span\u003e.\n"
                },
                "value": {
                    "type": "string",
                    "description": "The image tag value to set. When omitted or set to \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e, the field override is reset to the Harness default.\n"
                }
            },
            "required": [
                "field",
                "kind"
            ],
            "inputProperties": {
                "field": {
                    "type": "string",
                    "description": "The image field name to override (e.g. `addonTag`, `liteEngineTag`).\n",
                    "willReplaceOnChanges": true
                },
                "infraType": {
                    "type": "string",
                    "description": "The infrastructure type passed to the execution config API (e.g. `K8`, `VM`). Defaults to `K8`.\n",
                    "willReplaceOnChanges": true
                },
                "kind": {
                    "type": "string",
                    "description": "The service kind. Supported values: \u003cspan pulumi-lang-nodejs=\"`ci`\" pulumi-lang-dotnet=\"`Ci`\" pulumi-lang-go=\"`ci`\" pulumi-lang-python=\"`ci`\" pulumi-lang-yaml=\"`ci`\" pulumi-lang-java=\"`ci`\" pulumi-lang-hcl=\"`ci`\"\u003e`ci`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`iacm`\" pulumi-lang-dotnet=\"`Iacm`\" pulumi-lang-go=\"`iacm`\" pulumi-lang-python=\"`iacm`\" pulumi-lang-yaml=\"`iacm`\" pulumi-lang-java=\"`iacm`\" pulumi-lang-hcl=\"`iacm`\"\u003e`iacm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`idp`\" pulumi-lang-dotnet=\"`Idp`\" pulumi-lang-go=\"`idp`\" pulumi-lang-python=\"`idp`\" pulumi-lang-yaml=\"`idp`\" pulumi-lang-java=\"`idp`\" pulumi-lang-hcl=\"`idp`\"\u003e`idp`\u003c/span\u003e.\n",
                    "willReplaceOnChanges": true
                },
                "value": {
                    "type": "string",
                    "description": "The image tag value to set. When omitted or set to \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e, the field override is reset to the Harness default.\n"
                }
            },
            "requiredInputs": [
                "field",
                "kind"
            ],
            "stateInputs": {
                "description": "Input properties used for looking up and filtering DefaultImages resources.\n",
                "properties": {
                    "field": {
                        "type": "string",
                        "description": "The image field name to override (e.g. `addonTag`, `liteEngineTag`).\n",
                        "willReplaceOnChanges": true
                    },
                    "infraType": {
                        "type": "string",
                        "description": "The infrastructure type passed to the execution config API (e.g. `K8`, `VM`). Defaults to `K8`.\n",
                        "willReplaceOnChanges": true
                    },
                    "kind": {
                        "type": "string",
                        "description": "The service kind. Supported values: \u003cspan pulumi-lang-nodejs=\"`ci`\" pulumi-lang-dotnet=\"`Ci`\" pulumi-lang-go=\"`ci`\" pulumi-lang-python=\"`ci`\" pulumi-lang-yaml=\"`ci`\" pulumi-lang-java=\"`ci`\" pulumi-lang-hcl=\"`ci`\"\u003e`ci`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`iacm`\" pulumi-lang-dotnet=\"`Iacm`\" pulumi-lang-go=\"`iacm`\" pulumi-lang-python=\"`iacm`\" pulumi-lang-yaml=\"`iacm`\" pulumi-lang-java=\"`iacm`\" pulumi-lang-hcl=\"`iacm`\"\u003e`iacm`\u003c/span\u003e, \u003cspan pulumi-lang-nodejs=\"`idp`\" pulumi-lang-dotnet=\"`Idp`\" pulumi-lang-go=\"`idp`\" pulumi-lang-python=\"`idp`\" pulumi-lang-yaml=\"`idp`\" pulumi-lang-java=\"`idp`\" pulumi-lang-hcl=\"`idp`\"\u003e`idp`\u003c/span\u003e.\n",
                        "willReplaceOnChanges": true
                    },
                    "value": {
                        "type": "string",
                        "description": "The image tag value to set. When omitted or set to \u003cspan pulumi-lang-nodejs=\"`null`\" pulumi-lang-dotnet=\"`Null`\" pulumi-lang-go=\"`null`\" pulumi-lang-python=\"`null`\" pulumi-lang-yaml=\"`null`\" pulumi-lang-java=\"`null`\" pulumi-lang-hcl=\"`null`\"\u003e`null`\u003c/span\u003e, the field override is reset to the Harness default.\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 \" pulumi-lang-hcl=\" token_status \"\u003e tokenStatus \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=int(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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Create delegate token at account level\nresource \"harness_platform_delegatetoken\" \"account_level\" {\n  name       = \"account-delegate-token\"\n  account_id = \"account_id\"\n}\n# Create delegate token at organization level\nresource \"harness_platform_delegatetoken\" \"org_level\" {\n  name       = \"org-delegate-token\"\n  account_id = \"account_id\"\n  org_id     = \"org_id\"\n}\n# Create delegate token at project level\nresource \"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}\n# Create delegate token with auto-expiry\nresource \"harness_platform_delegatetoken\" \"expiry_token\" {\n  name         = \"expiry-delegate-token\"\n  account_id   = \"account_id\"\n  revoke_after = 1769689600000 # Unix timestamp in milliseconds for token auto-expiration\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# Authentication mechanism as api token\nresource \"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}\n# Authentication mechanism as username and password\nresource \"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}\n# Authentication mechanism without authentication\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_environment\" \"example\" {\n  identifier = \"identifier\"\n  name       = \"name\"\n  org_id     = \"org_id\"\n  project_id = \"project_id\"\n  tags       = [\"foo:bar\", \"bar:foo\"]\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}\n### Importing Environment from Git\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n# mapping a cluster to a project level env\nresource \"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}\n# mapping two clusters to account level env\nresource \"harness_platform_environmentclustersmapping\" \"example2\" {\n  identifier = \"mycustomidentifier\"\n  env_id     = \"env1\"\n  clusters {\n    identifier       = \"clusterA\"\n    name             = \"cluster-A\"\n    agent_identifier = \"account.gitopsagentprod\"\n    scope            = \"ACCOUNT\"\n  }\n  clusters {\n    identifier       = \"clusterB\"\n    name             = \"cluster-B\"\n    agent_identifier = \"account.gitopsagentprod\"\n    scope            = \"ACCOUNT\"\n  }\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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`\" pulumi-lang-hcl=\"`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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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\"\n}\noutput \"serversdkkey\" {\n  value = harness_platform_featureflagapikey.testserverapikey.api_key\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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(com.pulumi.harness.platform.inputs.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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n// Create file\nresource \"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              = [\"foo:bar\", \"baz:qux\"]\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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\n// Create folder\nresource \"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              = [\"foo:bar\", \"baz:qux\"]\n  parent_identifier = \"parent_identifier\"\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"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```\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.ArrayList;\nimport java.util.Arrays;\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```hcl\npulumi {\n  required_providers {\n    harness = {\n      source = \"pulumi/harness\"\n    }\n  }\n}\n\nresource \"harness_platform_gcpcloudcostconnector\" \"test\" {\n  identifier            = \"identifier\"\n  name                  = \"name\"\n  description           = \"test\"\n  tags                  = [\"foo:bar\"]\n  features_enableds     = [\"BILLING\", \"VISIBILITY\", \"OPTIMIZATION\", \"GOVERNANCE\"]\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```\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.ArrayList;\nimport java.util.Arrays;\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=\"